NB.SI.ENS complexe

Résolu
Bonjour,

j'ai une formule que j'aimerais développé,

Voilà ma formule :

=DECALER(A3;-1;0)+1*(ET(NB.SI(B$2:B2;B3)=0;B3<>0;B3<>""))

ce que j'aimerais faire c'est ajouter une nouvelle condition en utilisant NB.SI.ENS pour faire en sorte de prendre en compte une colonne C comme pour la colonne B et donc avoir quelque chose du genre :

"
=DECALER(A3;-1;0)+1*(ET(NB.SI.ENS((B$2:B2;B3)=0;B3<>0;B3<>"";(C$2:C2;C3)=0;C3<>0;C3<>"")) "

mais ça ne marche pas
help please !

MERCI

16 réponses

  1. Bonjour,

    Peux tu déposé ton fichier via www.cjoint.com

    Cdt,
    0
    1. Re,

      En A3

      =SI(ET(B3<>B2;C3<>C2);A2+1;A2)

      Cdt,
      0
      1. dans ce cas j'aurais des doublons si j'ai le même chiffre dans la colonne B; au fait j 'aimerais garder la première partie de la formule et y intégré une condition supplémentaire en C
        0
    2. Comment ça des doublons ?

      Quelle est cette condition ?

      Dit exactement ce que tu souhaites, histoire de pas faire le travail 10 fois ...
      0
      1. Pourquoi d'ailleurs tu devrais avoir 2 en A3 alors que uniquement y change ... ?
        0
        1. c'est jamais facile d'éxpliquer en ecrit mais je vais essayer :

          pour ajouter 1 dans la colonne A il faut :
          cdtion 1 : Bx soit différent des Bn précédents (formule 1 qui marche bien pour moi)
          cdtion 2 : cdtion1 respecté + (si jamais j'ai B3=B2 et C3<>C2 il faut ajouter +1 en A)

          :/
          j'espère que c'est un peu plus clair
          au fait le but est d'utiliser NB.SI.ENS je crois pour réaliser ces deux condtions en gardant les matrices
          :/
          :)
          Merci
          0
          1. Donc pour résumé,

            On va faire tous les cas possible ...

            Si B3=B2 et C3=C2
            Pas de changement

            Si B3=B2 et C3<>C2
            Pas de changement

            Si B3<>B2 et C3<>C2
            Rajouter 1 au numéro d'ordre

            Dit moi si je me trompe quelque part ...
            0
            1. au fait on rajoute un numéro dans les deux derniers cas !!

              encore un cas pour plus de precision :

              si B3<>B2 et C3=C2 on rajoute 1
              dans B c'est la priorité après si B3=B2 on regarde C3 et C2
              0
              1. =SI(B3<>B2;A2+1;SI(C2<>C3;A2+1;A2))

                Cdt,
                0
                1. au fait non parce que là tu prend en compte que la cellule et la cellule qui la précède . Ce que je veux c'est prendre en compte la cellule ainsi que toutes les cellules qui la précédent c'est pour ça que j'utilise dans ma formule le calcul matriciel , par exemple quand je suis sur B567 pour ajouter un je ne vois pas que B566 mais toutes les cellulesde B2 à B566
                  0
                  1. Désolé mais je ne comprend pas la logique,

                    Je laisse la suite à qui comprendra ...
                    0
                    1. Bonjour,
                      Essayez en A2
                      =SI(ET(NB.SI($B$1:B2;B2)<=1;NB.SI($C$1:C2;C2)<=1);MAX($A$1:A1)+1;MAX($A$1:A1))
                      A s'incrémente si x et y sont nouveaux.
                      0
                      1. C'est pas tout a fait ça ;

                        Quand x change on incrémente
                        Quand x ne change pas on regarde y, si y change on incremente sinon non
                        :/
                        0
                        1. Qu'entendez vous par " x change" que x n'est pas égal au précédent ou que x est nouveau par rapport à toutes les lignes précédentes?
                          De même pour Y?
                          0
                      2. Pour avoir x prioritaire on peut imbriquer les SI.
                        =SI(NB.SI($B$1:B2;B2)=1;MAX($A$1:A1)+1;SI(NB.SI($C$1:C2;C2)=1;MAX($A$1:A1)+1;MAX($A$1:A1)))
                        1
                        1. C'est plutôt bon , même si je voulais utiliser la nouvelle fonction nb.si.ens mais là c'est impec
                          Merci bcp tontong
                          0