Monsieur Excel
Pour tout savoir faire sur Excel !

17 mars 2015

Somme.Si() et Nb.Si()

Dans de nombreux articles de ce blog, nous utilisons des formules matricielles, donc validées avec [Ctrl]-[Maj]-[Entrée]. Ces formules sont très puissantes, mais leur utilisation n’est pas à la portée du premier venu.

Aujourd’hui, nous découvrons les fonctions Somme.Si() et Nb.Si(), qui permettent de faire – avec des formules non matricielles, donc plus simplement – certaines des choses que l’on peut faire avec des formules matricielles.

Dans le tableau ci-dessous, nous cherchons à calculer le chiffre d'affaires et le nombre de factures associés à une famille de produits sélectionnée en C12 via un menu déroulant, une validation de cellule par liste avec la liste A;B;C.


En C13, nous calculons le chiffre d’affaires pour la famille sélectionnée dans la cellule C12. 
En C14, nous calculons le nombre de factures émises pour cette famille. 
Les formules sont les suivantes :
En C13 : =somme.si(D2:D10;C12;E2:E10)
En C14 : =nb.si(D2:D10;C12)

Les syntaxes de ces deux fonctions sont donc :
=somme.si(matrice à tester;condition;matrice de résultat)
=nb.si (matrice à tester;condition)

Si la condition n’est pas une valeur ou une référence à une cellule, elle doit être entrée sous forme de texte.

Remarque 1 – La formule de C14 aurait aussi pu être =nb.si(D2:D10;"="&C12).

Remarque 2 – Même si les syntaxes nous permettent de faire référence à des matrices – et cela fonctionne ! –, il est plus courant d’utiliser des vecteurs à ce niveau.