Chris a une série de feuilles de calcul dans un classeur, une pour chaque mois de l’année. Sur une feuille de calcul récapitulative, il souhaite additionner les valeurs dans la même cellule sur chaque feuille de calcul. Chris fait cela en utilisant une formule similaire à la suivante:

=SUM(January:December!B19)

Cela fonctionne bien, sauf pour les cas où l’une des cellules B19 de la plage peut contenir la valeur # N / A. Dans ce cas, Chris obtient également # N / A dans le résultat sur la feuille de résumé. Ce que Chris aimerait, c’est que les résultats # N / A soient ignorés pour la somme, comme si les cellules étaient vides.

Il existe plusieurs façons d’aborder ce problème. La meilleure méthode consiste peut-être à examiner la formule utilisée dans la cellule B19 de la feuille de calcul de chaque mois. Par exemple, disons que la formule de chaque feuille de calcul ressemblait à ceci:

=SUM(B1:B18)

Vous pouvez modifier les formules de ces feuilles de calcul individuelles afin qu’elles prennent en compte la possibilité de valeurs # N / A. Par exemple, ce qui suit fonctionnerait très bien en B19 sur chaque feuille de calcul:

=SUMIF(B1: B18,"<>#N/A")

Cela entraîne la somme de la cellule B19, sur chaque feuille de calcul, à être basée sur toutes les valeurs non N / A de la plage. Pour cette raison, vous pourriez penser que vous pourriez le faire sur la feuille de synthèse:

=SUMIF(January:December!B19,"<>#N/A")

Cela ne fonctionnera pas, cependant, car la fonction SUMIF n’est pas de nature « tridimensionnelle »; il ne peut pas être utilisé sur une gamme de feuilles de calcul de la manière illustrée. C’est pour cette raison que la meilleure solution est de revenir aux valeurs individuelles, sur chaque feuille de calcul, qui sont comptabilisées sur la feuille de calcul récapitulatif.

Si votre formule sur les feuilles de calcul du mois individuel n’utilise pas la fonction SOMME, il n’est évidemment pas aussi facile de les modifier pour utiliser SUMIF. Dans ce cas, vous souhaiterez peut-être «enfermer» la formule existante dans une vérification pour voir si la formule renvoie une valeur d’erreur. Cette technique se fait de cette façon:

=IF(ISERROR(<current_B19_formula>),0,<current_B19_formula>)

La fonction IF recherche une valeur True / False, qui est renvoyée par la fonction ISERROR. Ainsi, si la formule renvoie une valeur d’erreur (telle que # N / A), la fonction IF renvoie 0, sinon elle renvoie le résultat de la formule d’origine. Cette approche vérifie tout résultat d’erreur; Si vous préférez qu’il ne vérifie que les résultats # N / A et les ignore, vous pouvez utiliser la variante suivante:

=IF(ISNA(<current_B19_formula>),0,<current_B19_formula>)

Il y a une grande différence entre ces approches basées sur IF et l’utilisation de l’approche SUMIF mentionnée précédemment dans le conseil. L’approche SUMIF renvoie une somme pour toutes les valeurs non N / A de la plage, mais l’approche basée sur IF renvoie un 0 pour la somme entière s’il existe des valeurs # N / A dans la plage. Cela peut évidemment affecter ce qui apparaît sur votre feuille de résumé, vous devrez donc déterminer quelle approche est la mieux adaptée aux données avec lesquelles vous travaillez.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3156) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Ignoring_N_A_Values_in_a_Sum [Ignorer les valeurs N / A dans une somme].