Monsieur Excel
Pour tout savoir faire sur Excel !

25 février 2006

Les fonctions Somme.Si et Nb.Si

Dans l’article du 13 janvier, nous avons vu comment utiliser une formule matricielle. Aujourd’hui, nous découvrirons les fonctions Somme.Si() et
Nb.Si(), qui permettent de faire certaines des choses que l’on peut faire avec des formules matricielles.

Reprenons le même exemple mais cette fois-ci en calculant en colonne E le chiffre d’affaires relatif à chaque vente :

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)

Notez que si la condition n’est pas une valeur ou une référence à une cellule, elle doit être entrée sous forme de texte. Ainsi la formule de C14 aurait pu être =nb.si(D2:D10; "="&C12).

Remarquons enfin que, même si les syntaxes nous permettent de faire référence à des matrices – et cela marche ! –, il est plus courant d’utiliser des vecteurs à ce niveau.

5 Commentaire(s):

  • Effectivement, voilà deux fonctions qui vont trouver une application trés rapidemment. Merci !

    By Anonymous Anonyme, sur 11:29 AM  

  • Bonjour,
    je voudrais savoir comment je peux faire opur additioner non pas des chiffres ou nombres mais des lettres.
    Je m'explique qd je dois mettre une croix dans une cas je veux wu'elle s'additonne autre part sous la forme d'un chiffre?

    Par exemple
    en A1 une croix
    A2 3 croix
    je veux que en B7 cela fasse 1 + 3 =4

    Cordialement

    Ben

    By Anonymous Anonyme, sur 3:18 PM  

  • Fort intéressant...
    Peut-on insérer une formule de type ET() comme critère pour insérer deux ou plus conditions ? C'est à dire si l'on veut extraire une somme selon deux types de familles ?

    By Anonymous Anonyme, sur 4:45 AM  

  • Pour avoir plus de conditions, il suffit d'utiliser une formule matricielle :

    =somme((E2:E10)*(D2:D10 = "A")*(C2:C10>10)).

    Il faut valider la formule par ctrl+maj+entree.
    Dans ce cas, la somme de la colonne E sera effectuée, si les conditions "A" pour la colonne D et >10 pour la colonne C sont respectées. (résultat : 4300.50+1773.80)


    -- Ecogine.org : le moteur de recherche écologique --

    By Blogger Unknown, sur 9:22 AM  

  • Bien que le paramètre "matrice à tester" fasse référence à une "matrice", ce paramètre n'accepte pas les calculs matriciels (ne pas confondre avec les fonctions qui renvoient des plages de cellules telles que "décaler" et "index").

    Petit complément à un article qui date mais j'espère que cela servira à un lecteur qui repassera comme moi à la recherche de précieuses astuces excel.

    By Blogger Stéphane Ntonga, sur 11:55 PM  

Enregistrer un commentaire

<< Accueil