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. 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
  2. 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. 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
    2. 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