La formule = SUMIF (B1: B100, « Current », D1: D100) fournit la somme des valeurs de la colonne D, à condition que la cellule correspondante de la colonne B contienne le texte « Current ». Ce dont Kenneth a réellement besoin, cependant, c’est un décompte des valeurs de la colonne D lorsque la colonne B contient « Actuel ». (Le nombre de valeurs dans D peut très bien être différent du nombre d’instances de « Current » dans B.) Il souhaite que ce soit aussi simple que de changer SUMIF en COUNTIF, mais cela produit une erreur.

La raison pour laquelle l’erreur se produit est que SUMIF nécessite trois paramètres et COUNTIF n’en nécessite que deux. Ainsi, si vous remplacez simplement SUMIF par COUNTIF, vous obtiendrez une erreur. Au lieu de cela, vous pouvez utiliser COUNTIF de cette manière:

=COUNTIF(B1:B100,"Current")

Cela ne vous donnera pas d’erreur, mais cela ne vous donnera pas non plus une réponse correcte. Kenneth veut un décompte du nombre de cellules contenant des valeurs dans la plage D1: D100, mais uniquement si la cellule correspondante dans la colonne B contient le texte « Actuel ». La formule COUNTIF ne prend même pas la colonne D en vigueur; il ne compte que le nombre de cellules de la plage B1: B100 qui contiennent le mot «courant».

La solution consiste à utiliser la fonction COUNTIFS à la place. Cette fonction vous permet de vérifier plusieurs conditions afin de dériver un comptage. Dans ce cas, la version suivante fonctionnerait:

=COUNTIFS(B1:B100,"current",D1:D100,">0")

Cette formule compte le nombre de valeurs dans D1: D100 qui sont supérieures à zéro. (Eh bien, il ne les compte également que si B1: B100 contient « courant ».) Cela fonctionne car les cellules vides ou les cellules contenant du texte sont considérées par COUNTIFS comme étant équivalentes à 0. Notez également que la fonction est insensible à la casse quand il s’agit de faire correspondre: « courant »

correspondra également à « Actuel » ou à toute combinaison de lettres majuscules et minuscules dans le mot.

Si vos cellules peuvent contenir des valeurs négatives, vous devriez essayer cette variante à la place:

=COUNTIFS(B1:B100,"current",D1:D100,"<>")

L’inconvénient est que cette méthode inclut également dans le décompte toutes les cellules contenant du texte.

Vous pouvez également utiliser la formule suivante:

=SUMPRODUCT(--(B1:B100="current"),--(D1:D100<>""))

Encore une fois, celui-ci inclut des valeurs de texte dans le décompte. Si vous voulez ignorer les valeurs de texte, alors cette variante fonctionne très bien:

=SUMPRODUCT(--(B1:B100="current"),--ISNUMBER(D1:D100))

La formule suivante peut également être utilisée, à condition de la saisir sous forme de formule matricielle (appuyez sur Ctrl + Maj + Entrée):

=SUM((B1:B100="current")*ISNUMBER(D1:D100))

Il existe également d’autres façons d’obtenir le total dont vous avez besoin. Une méthode consisterait à utiliser la fonction DCOUNT (qui compte en fonction de plusieurs critères), mais cette approche nécessite plus de configuration que les formules déjà décrites.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13433) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.