J'ai une colonne avec average(K23:M23)
qui commence par #DIV/0!
quand le K23
à travers M23
les cellules sont vides. De préférence, je voudrais seulement faire la moyenne des cellules qui contiennent des valeurs non nulles et non vides. Je pense que c'est possible en utilisant la commande de requête:
https://docs.google.com/support/bin/answer.py?hl=en&answer=159999
Mais leur exemple ne m'aide pas.
Enveloppez votre formule avec IFERROR
.
=IFERROR(yourformula)
Vous pouvez utiliser une instruction IF pour vérifier les cellules référencées et renvoyer un résultat pour zéro ou vide, et sinon retourner le résultat de votre formule.
Un exemple simple:
=IF(B1=0;"";A1/B1)
Cela retournerait une chaîne vide si le diviseur B1 est vide ou nul; sinon, il renvoie le résultat de la division de A1 par B1.
Dans le cas où vous exécutez une moyenne, vous pouvez vérifier si votre ensemble de données a ou non une valeur:
=IF(SUM(K23:M23)=0;"";AVERAGE(K23:M23))
S'il n'y a rien saisi, ou seulement des zéros, il renvoie une chaîne vide; si une ou plusieurs valeurs sont présentes, vous obtenez la moyenne.
Puisque vous demandez explicitement également de gérer les colonnes qui n'ont pas encore été remplies, et je suppose également que vous ne voulez pas les déranger s'ils ont un mot au lieu d'un nombre, vous pouvez envisager ceci:
=If(IsNumber(K23), If(K23 > 0, ........., 0), 0)
Cela dit simplement ... Si K23 est un nombre; Et si ce nombre est supérieur à zéro; Ensuite, faites quelque chose ......... Sinon, retournez zéro.
Dans ........., vous pourriez mettre votre équation de division, comme A1/K23
, et vous pouvez être assuré que K23 est un nombre supérieur à zéro.
Envelopper la formule existante dans IFERROR n'obtiendra pas:
la moyenne des cellules qui contiennent des valeurs non nulles et non vides.
Je suggère d'essayer:
=if(ArrayFormula(isnumber(K23:M23)),AVERAGEIF(K23:M23,"<>0"),"")