Formules conditions

Bonjour,

quelqu'un peut-il me dire ce qui est faux dans cette formule :

=SI(NB.SI.ENS(Basedonnées!M1:M200>=0; Basedonnées!D7:D174="Riri" );(SOMME.SI.ENS(Basedonnées!M1:M200;Basedonnées!B7:B174;"Réunion";Basedonnées!D7:D174;"Riri"));" ")

Excel me surligne réunion et je ne comprend pas ou est l'erreur.

Merci par avance pour votre aide

4 réponses

  1. j'imagine que cela doit faire l'affaire :

    =SI(NB.SI.ENS(Basedonnées!M1:M200;">=0"; Basedonnées!D7:D174;"Riri" )>0;(SOMME.SI.ENS(Basedonnées!M1:M200;Basedonnées!B7:B174;"Réunion";Basedonnées!D7:D174;"Riri"));"") 
    0
    1. cela ne fonctionne pas
      0
  2. Bonjour Sarah

    Plusieurs erreurs :
    1) les plages doivent avoir les mêmes dimensions
    2) La syntaxe de NB.SI.ENS c'est plage;critère;
    3) Il manque le test pour le SI

    Une formule correcte pourrait être :
    =SI(NB.SI.ENS(Basedonnées!M7:M174;">=0"; Basedonnées!D7:D174;"Riri" )>0;(SOMME.SI.ENS(Basedonnées!M7:M174;Basedonnées!B7:B174;"Réunion";Basedonnées!D7:D174;"Riri"));" ")

    Cdlmnt
    Via
    0
    1. Ca ne fonctionne pas

      quand vous dites "les mêmes dimensions" ça signifie du texte ou données numériques ?

      Ensuite, je ne comprends pourquoi vous avez écris ">0" (juste avant somme.si.ens)
      Puisque si M et D contiennent les données recherchées alors je veux le calcul somme.si.ens

      je vais mettre un fichier ce soir avec un exemple de tableau
      0
    2. @SarahFistolEn effet le mieux est de voir votre document avec ce que le résultat que vous souhaitez obtenir plutôt qu'une ébauche de formule dont on ignore un peu tout :s
      0
    3. @SarahFistolRe

      1) je parle de plages de même dimension (même nombre de lignes dans ton cas)

      2) Le SI appelle un test qui rend condition vraie ou fausse ex SI(A1=2;.. ou SI(A1>3 ...
      NB.SI.ENS donne le nombre remplissant 2 conditions mais ce n'est pas un test, le test doit porter sur la valeur retournée par NB.SI.ENS par ex SI (NB.SI.ENS(.....)=2 ..; ou SI (NB.SI.ENS(.....)>0

      3) Dans ton cas ce test avec NB.SI.ENS semble même parfaitement inutile puisque tu veux faire la somme (semble-t-il) en M lorsque B contient Réunion et D Riri, donc
      =SOMME.SI.ENS(Basedonnées!M7:M174;Basedonnées!B7:B174;"Réunion";Basedonnées!D7:D174;"Riri") suffit
      ou alors si tu veux éviter de voir afficher 0 si il n'y a aucun Riri en D :
      =SI(NB.SI(Basedonnées!D7:D174;"Riri")>0;SOMME.SI.ENS(Basedonnées!M7:M174;Basedonnées!B7:B174;"Réunion";Basedonnées!D7:D174;"Riri");"")

      En attente de ton fichier avec des explications plus complètes si ce n'est pas ça que tu veux

      Cdlmnt
      Via
      0
  3. Contributeur
    essayez avec:

    ne placer pas dans les codes NB.SI et SOMME.SI ds champs de hauteur différentes!
    si vous voulez que les conditions >= 200 en M et riri en D soient remplies ans être sur la même ligne, il ne faut pas utiliser NB.SI.ENS mais

    SI(ET(NB.SI(M7:M174;">0");NB.SI(D7:D174;"riri"...

    car ENS signifie qu'l faut que les valeurs soient sur la même ligne

    toutefois, pourquoi cherchez les cellules si M>=0 puisque de toutes façons, SOMME.SI.ENS ne prendra pas en compte les valeurs 0 de M

    =SOMME.SI.ENS(Basedonnées!M7:M174;Basedonnées!B7:B174;"réunion;Basedonnées!D7:D174;"riri")

    devrait suffire, même s'il y a sur les lignes des 0 à rajouter en M qui ne modifieront pas le résultat?

    et si vous ne voulez pas voir les 0 affiché si aucune condition n'est remplie, le plus simple est de décocher l'option d'affichage des 0 dans les options Excel.

    Ca fait toujours plus léger en formule

    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    0
    1. voilà un fichier : http://www.cjoint.com/c/FBru7qUDhTM
      0
      1. merci beaucoup pour votre aide
        0
      2. @SarahFistolBonsoir

        Peut-être ainsi alors :
        http://www.cjoint.com/c/FBrw1cVTkWJ

        Cdlmnt
        Via
        0
      3. Bonsoir,

        Merci pour votre réponse;

        La formule fonctionne bien mais persiste un problème de compréhension :

        =SI(NB.SI.ENS(B4:B22;"Poitiers";C4:C22;"médecin";D4:D22;"")=NB.SI.ENS(B4:B22;"Poitiers";C4:C22;"médecin");"";SOMME.SI.ENS(D4:D22;B4:B22;"Poitiers";C4:C22;"médecin"))

        Je ne comprends pas le milieu de la formule.

        Je lis "si j'ai à la fois en B Poitiers, en C médecin et en D rien ???? Sinon Somme.si.ens..."
        Je ne comprends pas le =NB.SI.ENS(B4:B22;"Poitiers";C4:C22;"médecin");"";

        Merci par avance
        0
      4. @SarahFistolBonsoir Sarah

        NB.SI.ENS(B4:B22;"Poitiers";C4:C22;"médecin";D4:D22;"") compte le nombre de fois où sur la même ligne il y a Poitiers en B, médecin en C et rien en D
        NB.SI.ENS(B4:B22;"Poitiers";C4:C22;"médecin") compte le nombre de fois où sur la même ligne il y a Poitiers en B, médecin en C

        Si les 2 résultats sont égaux (SI(NB.SI.ENS(...)=NB.SI.ENS(....) )c'est qu'il n'y a que des vides et pas de cellules avec 0 ou une valeur positive en D donc on affiche rien avec ;""
        sinon (il y a au moins une ligne avec une valeur en D) on fait la somme de toutes les lignes avec Poitiers et médecin avec ;SOMME.SI.ENS(D4:D22;B4:B22;"Poitiers";C4:C22;"médecin"
        (cela additionne toutes les valeurs en D qu'il y ait rien, 0 ou une valeur mais rien et 0 ne change pas la somme qui sera bien celle des valeurs positives s'il y en a ou 0 s'il n'y a que des lignes avec 0)

        Cdlmnt
        Via
        0
      5. @via55Bonjour,

        wahouuu j'y aurais jamais pensé !!!!

        Vous êtes trop fort
        0