Formule pour compter des cellules

Résolu
Bonjour,

Je rencontre un soucis et je ne sais pas si Excel peut faire ce que je veux ou pas.

J'aimerais faire une formule qui compte, par ligne, le nombre de fois qu'il y a écrit "201" dans la colonne E, et "201*" dans la colonne F.

Exemple : (ce serra plus simple a comprendre)

E...............................F
201...........................201455.....(ok)
201..........................................(pas ok car pas de "201*" dans la colonne F)
.................................201684....(pas ok car pas de "201" dans la colonne E)
201............................201673....(ok)

total : 2

J'ai essayé : =NB.SI.ENS(E2:E500;"201";F2:F500;"201*")
Mais ca ne marche pas...

Quelqu'un peut il m'aider svp ? :)

3 réponses

  1. Bonjour

    Pour compter :
    =SIERREUR(TROUVE("201";E1);0)+SIERREUR(TROUVE("201";F1);0)

    Pour valider :
    =SI(SIERREUR(TROUVE("201";E1);0)+SIERREUR(TROUVE("201";F1);0)=2;"OK";"NOK")

    Cdlmnt
    Via
    "L'imagination est plus importante que le savoir."    A. Einstein
    0
    1. Bonjour.
      Je viens d'adapter un poil votre formule pour compter. Ce qui donne :
      =TROUVE("201";E:E)+TROUVE("201*";F:F)
      Mais cela ne donne rien, ca m'écrit "#VALEUR!" dans ma cellule.

      En y regardant de plus prêt, j'ai compris que vous n'avez pas compris ce que je veux ^^
      J'aimerais que dans 1 seule cellule, ca compte le nombre de fois ou dans 2 colonnes, il y ai une ligne qui réponds a 2 critères.
      0
    2. @AlphapwndSi tu n'emploie pas SIERREUR comme moi ça ne fonctionne pas
      Le * est inutile avec TROUVE
      Ca ne fonctionnera pas non plus sur un colonne entière

      Que veux tu comptabiliser au juste sur les 2 colonnes :
      - le nombre de 201 ? mais tu ne sauras pas quelles lignes sont Ok ou pas
      - le nombre de lignes où il a 201 en ET et en F ?

      La formule à trouver dépend de la réponse à ma question
      0
    3. Je veux comptabiliser le nombre de ligne qui contiennent "201" ET 201* qu'il y aura mais je ne sais pas quelles lignes sont OK ou pas.
      A savoir que dans une autre cellule, je voulais mettre une formule pour comptabiliser l'inverse (le nombre de 201* dans la colonne F sans 201 dans la colonne E)
      0
  2. Contributeur
    Bonjour

    a essayer
    =NB.SI(E1:E100;201)+SOMME(SI(MOD(F1:F100;201)>0;1))

    Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule. La formule est alors encadrée automatiquement par des accolades : { formule }

     Michel
    0
    1. Votre formule ne marche qu'a moitié car elle comptabilise bien le nombre de 201 dans la colonne E, mais ne les comptabilisent pas en fonction de la colonne F par rapport a la ligne qui correspond a chaques 201.
      0
  3. Contributeur
    Bonjour,

    peut-être pas la moins gourmande mais bon :
    =SOMMEPROD((E2:E5=201)*(GAUCHE(F2:F5;3)="201")) 

    eric
    0
    1. Parfait, c'est exactement ce que je cherchais !

      Serrait il possible de m'éxpliquer la formule car j'avoue ne pas comprendre le "*" entre les deux tests logique ansi que le "gauche" et le "3".

      Merci beaucoup en tout cas :)
      0
    2. Contributeur
      (E2:E5=201) et (GAUCHE(F2:F5;3)="201") te retournent des matrices de {VRAI;VRAI;FAUX;...}
      • te fait un ET logique entre les 2 matrices (ligne à ligne), et par la même occasion te converti les FAUX;VRAI du résultat en numériques 0;1 que peut additionner le Sommeprod()

      Pour Gauche() regarde l'aide d'excel qui est très bien faite. Ca te donnera une bonne habitude ;-)
      0
    3. Merci beaucoup pour les explications ! :)
      Bonne journée a vous.
      0
    4. @eriiicDernière question.

      J'ai un conflit entre deux cellules.
      Toujours dans le même principe que cité plus haut,mais avec des références différentes.
      J'ai une ref en 203*** et une en 2030***.

      Quand je fais "=SOMMEPROD((E2:E500="")*(GAUCHE(F2:F500;4)="2030"))", il n'y a pas de soucis, mais quand je fait "=SOMMEPROD((E2:E500="")*(GAUCHE(F2:F500;3)="203"))", celà ne donne pas le resultat que je veux car la deuxième formule prends en compte les ref 2030*** (forcément car c'est les même 3 premiers chiffres ...)

      J'ai essayé avec des "???" (=SOMMEPROD((E2:E500="")*(GAUCHE(F2:F500;3)="203???")) mais cela ne marche pas...

      Une solution ?
      0
    5. Contributeur
      Bonjour,

      si tu as une condition supplémentaire il faut l'ajouter :
      ...*(GAUCHE(F2:F500;4)<>"2030")

      eric
      0