Est ce possible ? Cherche formule

Résolu
Bonsoir,

Pour faire clair je cherche une formule pour un traitement d'analyses qui:

- sur une colonne peut compter le nombre de fois qu'apparaît un texte ( " BON", "FAUX" et "NON") ( avec NB(SI) ? )

- et conclure que --> si il y a minimum 4 "BON" et maximum 3 "FAUX" c'est conforme, plus d'un "NON" non conforme, etc. Un ensemble de critères en fait qui font que le produit est dans la tolérance, conforme ou non conforme.

En fait je voudrais une formule qui compte selon des critères et qui fait un test logique.

Actuellement, il y une mise en forme conditionnelle de cellule avec des valeurs numériques. La mise en forme se fait selon 3 couleurs ( vert, orange et rouge) et la conclusion de la conformité se fait manuellement ( on compte selon les critères donnés).

Désormais il faudrait automatiser tout ça à l'aide d'une formule qui conclurait.

Je ne sais pas si j'ai été assez claire, merci de me lire !

A bientôt

17 réponses

Résumé de la discussion

Une demande porte sur une formule Excel capable de compter, dans une colonne, les occurrences de BON, FAUX et NON et de déterminer automatiquement si le lot est conforme. Une formule proposée utilise NB.SI et SI avec ET et OU pour retourner Conforme, Toléré ou non-conforme selon BON ≥ 4 et NON = 0, puis selon d'autres critères. Des variantes incluent l'usage de plages nommées et des révisions des seuils (par exemple BON ≥ 3 et FAUX ≤ 3), en cas de risque de boucle référentielle. Certains expérimentent aussi des formules plus courtes et des exemples concrets, parfois avec des tests sur fichiers partagés, et soulignent l'intérêt d'une configuration plus lisible via des noms.

Bobot (l’IA à votre service)
  1. Bonjour,

    formule pour colonne A:
    =SI(ET(NB.SI(A:A;"BON")>2;NB.SI(A:A;"FAUX")<4;NB.SI(A:A;"NON")<2);"Conforme";"NON CONFORME")

    A+
    0
    1. Contributeur
      Il faut juste remplacer
      =SI(ET(NB.SI(A:A;"BON")>2
      par
      =SI(ET(NB.SI(A:A;"BON")>3
      0
  2. Ce qui est compliqué c'est que je souhaite retranscrire ça en fait:

    Critères pour conclure à la conformité de la tournée :

    Conforme si : au moins 4 BON
    maxi 3 FAUX

    Toléré si : tous critères FAUX

    OU au moins 3 BON
    au moins 3 FAUX
    maximum 1 NON

    Non conforme : tous les autres cas

    La formule simple: SI(NB.SI(A:A;"BON")>1;"CONFORME)) Fonctionne, elle compte et me réalise un test ( juste un exemple pour vérifier )
    La formule que vous me donnez ne prends pas en compte tous les paramètres précisés ci dessus, je ne suis pas sûre de pouvoir traduire et rentrer tous ces critères.
    =SI(ET(NB.SI(A:A;"BON")>2;NB.SI(A:A;"FAUX")<4;NB.SI(A:A;"NON")<2);"Conforme";"NON CONFORME") Comment on sait pour quelle partie de la formule le test mettra CONFORME ou NON CONFORME ?

    Merci de votre aide
    0
    1. =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"FAUX")<4;"CONFORME";NB.SI(N35:N41;"NON")>=2;"NONCONFORME";NB.SI(N35:N41;"FAUX")=7;"TOLERE";NB.SI(N35:N41;"BON")>=3;NB.SI(N35:N41;"FAUX")>=3;NB.SI(N35:N41;"NON")<2;TOLERE")

      J'ai tapé cela, mais ça ne fonctionne pas, la ça reprend tous mes critères.
      0
    2. =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"FAUX")<4);"CONFORME";NB.SI(N35:N41;"NON")>=2;"NONCONFORME";NB.SI(N35:N41;"FAUX")=7;"TOLERE";NB.SI(N35:N41;"BON")>=3;NB.SI(N35:N41;"FAUX")>=3;NB.SI(N35:N41;"NON")<2;"TOLERE")

      Sans les erreurs mais ça ne fonctionne toujours pas car il y a trop d'arguments ! :(
      En effet j'ai 4 tests logique à résoudre.
      Est ce qu'il y a un autre moyen, ou une autre formule, ou la mienne est incorrecte ?
      0
    3. Merci, ça fonctionne bien globalement.

      Mais si on a 6 BON et un NON, ça ne fonctionne pas, car la formule dit que c'est conforme alors que ça ne l'est pas, c'est toléré.
      En fait du moment qu'il y a un NON, c'est soit toléré ( dans le cas ou il y en a un seul et selon le reste) soit c'est non conforme (car il y a au moins 2), ça ne sera jamais conforme.

      Par contre pouvez vous m'expliquer pourquoi dans la formule il y a deux F à faux ( FFAUX) , et les points d'interrogations à la fin? Du coup quand j'enlève un F, ça m'affiche les points ?.

      Et comment est ce que la formule qui définit la conformité est liée au tableau où sont indiqués le nombre de critère?
      En fait je comprends pas comment fonctionne votre formule :)

      Je sais ça fait beaucoup de questions !
      Merci
      0
    4. Re,

      il y a deux F à faux ( FFAUX) j'utilise des noms pour les cellules bon,faux, non et le nom ne pouvait pas être FAUX (excel pas d'accord).

      Pour les ???, c'est parce que je pense que les tests ne sont pas complets et quand cela ne correspond pas je met des ??? (voir formule) a vous de trouver si vos critères sont suffisants.
      0
  3. Bonjour,
    J'ai du m'absenter avant pouvoir poster, je livre quand même.
    f894009 me pardonnera "l'incruste"
    Il faut imbriquer les SI en mettant les conditions dans l'ordre.
    =SI(condition1;"Conforme";SI(condition2;"Toléré";"non-conforme"))
    condition1: ET(BON>=4;FAUX<=3)
    Condition2: OU(FAUX=tous,ET(BON>=3;FAUX>=3;NON<=1))
    Remplacer condition1 et condition2 par leurs valeurs.
    Remplacer BON par NB.SI(A:A;"BON") idem pour FAUX et NON.
    Remplacer tous par NBVAL(A:A)
    Ce qui donne avec N35:N41
    =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"FAUX")<=3);"Conforme";SI(OU(NB.SI(N35:N41;"FAUX")=NBVAL(N35:N41);ET(NB.SI(N35:N41;"BON")>=3;NB.SI(N35:N41;"FAUX")>=3;NB.SI(N35:N41;"NON")<=1));"Toléré";"non-conforme"))
    0
    1. Bonjour tontong,

      pas de problème, je pense que l'analyse des tests a faire n'est pas complète. Alors un de plus est le bien venu.
      0
    2. La formule proposé par tontong est vraiment ce que je cherche mais comme le dit f894009 au niveau des tests ce n'est pas bon :(
      Je me creuse la tête pour représenter les critères, je pensais que c'était bon mais non ce n'est pas complet !!
      0
  4. Contributeur
    Au post #3 il est écrit :

    Toléré si : tous critères FAUX
    OU : au moins 3 BON, au moins 3 FAUX, maximum 1 NON


    Il n'y aurait pas un erreur ? J'aurais plutôt vu
    Toléré si : tous critères FAUX
    OU : au moins 3 BON, maximum 3 FAUX, maximum 1 NON

    0
    1. En effet il n'y a pas de recommandations pour le critère FAUX: c'est au moins 3 bon, 3 FAUX, maximum 1 NON!
      0
  5. Contributeur
    Au post #5 la formule est fantaisiste, car la syntaxe de la fonction SI n'est pas respectée, et tu as mis des NB.SI à la place de SI à certains endroits ...
    0
    1. Merci mais ce qui est compliqué aussi c'est de retranscrire tous les critères dans une formule.
      0
  6. Contributeur
    Ton message #15 de 08:25
    Pour parvenir à un résultat avec un tableur, il faut de la rigueur !
    Quand je demande "n'est-ce pas plutôt au moins 3 BON, maximum 3 FAUX ?"
    et tu réponds "c'est au moins 3 bon, 3 Faux", je ne suis pas plus avancé !
    J'attends comme réponse
    soit "c'est au moins 3 bon, au moins 3 Faux"
    soit "c'est au moins 3 bon, maximum 3 Faux" ...
    et je pense que c'est la seconde proposition qui est correcte, contrairement à ce que ta réponse fait supposer !
    0
    1. Contributeur
      Je n'aime pas les formules comprenant trop de caractères, car je m'y perds ...
      Alors dans la feuille Données je saisis "BON" en A1 et je définis le nom "B" pour A1.
      De même je saisis "FAUX", "NON", "CONFORME", "NON CONFORME" et "TOLÉRÉ" dans les cellules A2, A3 ... A6 que je nomme "F", "N", "conf", "nonconf" et "tol".
      D'autre part je définis le nom "pl" pour la plage de cellules N35:N41.
      Ainsi la formule que tu réclames s'écrit de manière lisible et facile à modifier :
      =SI(ET(NB.SI(pl;B)=0;NB.SI(pl;N)=0;NB.SI(pl;F)>0);tol;SI(NB.SI(pl;N)>1; nonconf; SI(NB.SI(pl;F)>3;nonconf; SI(NB.SI(pl;B)<3;nonconf;
      SI(NB.SI(pl;B)=3;tol;conf)))))


      Cordialement.
      0
      1. Contributeur
        On peut optimiser cette formule en passant de 158 à 138 caractères :
        =SI(ET(NB.SI(pl;B)=0;NB.SI(pl;N)=0;NB.SI(pl;F)>0);tol; SI(OU(NB.SI(pl;N)>1; NB.SI(pl;F)>3;NB.SI(pl;B)<3);nonconf; SI(NB.SI(pl;B)=3;tol;conf)))

        https://www.cjoint.com/c/CKxeImiyGjL

        Bien entendu je prends comme hypothèse que ta réponse sera
        "c'est au moins 3 bon, maximum 3 Faux" ...

        C'est bien, la retraite ! Surtout aux Antilles ... :-)
        ☻ Raymond ♂
        0
        1. Si je teste l'une ou l'autre des formules, Excel me dit que c'est une référence circulaire et le résultat donne 0.
          Vous avez raison sur le c'est au moins 3 bons, maximum 3 faux... Je n'ai pas été très claire.
          0
        2. Contributeur
          Il y a référence circulaire si ta formule a été placée malencontreusement à l'intérieur de la plage "pl"
          0
        3. Ah oui, je ne pensais pas que la plage comprenait toute la colonne ! Merci
          0
        4. Finalement le problème c'est avec la tolérance. Quand j'ai 6 FAUX et 1 BON, le résultat est censé être "TOLÉRÉ", mais la le résultat est non conforme.
          0
        5. Si j'ai plus de 3 FAUX ( 4,5,6), du moment que le reste est BON, mon résultat sera TOLÉRÉ.
          0
      2. Bonjour,
        Si j'enfourche le cheval de Raymond: on peut encore gagner des caractères en nommant directement les formules NB.SI( ).
        B fait référence à =NB.SI(Feuil1!$N$35:$N$41;Feuil1!$P$35)
        F fait référence à =NB.SI(Feuil1!$N$35:$N$41;Feuil1!$P$36)
        N fait référence à =NB.SI(Feuil1!$N$35:$N$41;Feuil1!$P$37)
        La formule devient
        =SI(ET(B=0;N=0;F>0);tol; SI(OU(N>1;F>3;B<3);nonconf; SI(B=3;tol;conf)))
        L'argument F>0 de la fonction ET est inutile si le champ est renseigné avec une liste de validation.
        0
        1. Contributeur
          Oui, tontong ! Bien vu ...
          0
        2. Je suis assez perdue avec toutes ses références mais je comprends les formules.
          Quand j'utilise votre formule dans le fichier Excel que m'a proposé Raymond, le résultat reste non conforme quoi que je puisse rentrer comme critères.

          Merci pour votre aide en tout cas même si j'ai l'impression que je ne vais pas m'en sortir !
          0
      3. Bonjour,
        Vos conditions sont elles remplies si on modifie la formule proposée au # 10 en remplaçant >= par <= pour les 3 faux ? soit

        =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"FAUX")<=3);"Conforme";SI(OU(NB.SI(N35:N41;"FAUX")=NBVAL(N35:N41);ET(NB.SI(N35:N41;"BON")>=3;NB.SI(N35:N41;"FAUX")<=3;NB.SI(N35:N41;"NON")<=1));"Toléré";"non-conforme"))

        Si c'est "oui" nous pourrons améliorer la saisie avec des listes déroulantes (en N35 à N41) et rendre la formule moins longue en nommant les NB.SI( )
        Il serait utile de préciser si le nombre total de critères est toujours de 7, si ils sont toujours renseignés, si le champ est toujours N35: N41.
        0
        1. La liste déroulante n'est pas nécessaire dans mon fichier car les BON, FAUX et NON sont eux mêmes déterminés par un calcul précédent.On ne choisis pas cet état.
          Je fais suivre le fichier excel pour que vous visualisiez.
          0
        2. http://gm2.ggpht.com/...
          0
        3. Alors, j'ai un ensemble de valeurs numériques dans la colonne test, ces valeurs sont liées à une autre BDD. Il y une mise en forme conditionnelle de ces cellules ( car avant la saisie de la conformité était manuelle,on se repérait à la couleur ).

          Ensuite, j'ai rentré des formules qui disent si la valeur dans chaque cellule correspond au cahier des charges que vous voyez sur le côté (cible et tolérance), nos fameux BON, NON et FAUX, un peu plus bas.
          Un peu répétitif je le concède mais c'est la seule manière que j'ai trouvé, pour passer de valeurs numériques à du texte.

          Jusque la rien n'a été rentré" manuellement", vient ensuite la formule que vous m'aidé à trouver depuis le début pour conclure sur la conformité.

          Le but est d'automatiser les résultats que l'on reçoit, leur saisie et la conclusion sur la conformité.
          Actuellement, il y a beaucoup de copier/coller/étirer et une conclusion "manuelle".

          J'espère que cela vous aide à comprendre un peu plus.

          En tout cas vous m'apprenez plein de choses, c'est nouveau pour moi, merci.
          0
        4. Pour l'aspect TOLÉRANCE, j'aurais bien rajouté cela dans une des formules que vous proposez:

          SI(ET(NB.SI(pl;F)>3;NB.SI(pl;N)=0;NB.SI(pl;B)<4;tol

          C'est la seule chose qui me manque, mais je ne sais pas si cela est pertinent ?
          0
      4. Contributeur
        Tu écris à 16:37 dans ton message #27 que
        "Finalement le problème c'est avec la tolérance. Quand j'ai 6 FAUX et 1 BON, le résultat est censé être "TOLÉRÉ", mais la le résultat est non conforme."
        Ce n'est pas ce que tu as demandé au départ, dans ton message #3 du 21 à 12:09
        "Conforme si au moins 4 BON maxi 3 FAUX - Toléré si tous critères FAUX"

        J'ai pris la peine de te faire un diagramme dans la feuille "Données" pour visualiser les règles que tu as fixées. S'il y a du changement, veux-tu rectifier ce diagramme, afin qu'on sache définitivement ce que tu veux.

        Et permets-moi de donner mon avis : Bien que ne connaissant pas la nature des tests, mais juste en me basant sur les premiers critères édictés, la règle avancée dans ton tout dernier message SI(ET(NB.SI(pl;F)>3;NB.SI(pl;N)=0;NB.SI(pl;B)<4;tol
        me parait illogique et contradictoire ... En effet avec cette clause c'est "non conforme" uniquement quand il y a au moins 2 NON !
        https://www.cjoint.com/c/CKBcinDzjaC - Tu confirmes ?
        0
        1. J'ai écris le 21/11/13 que les critères étaient conformes si:
          1 e partie
          Les 7 critères sont faux
          ou Max 1 NON avec au moins 3 BON (voir plus mais pas moins) et 3 FAUX (voir moins si on a plus de BON)
          ou Mais aussi, en plus du dessus: 1 NON, 6 BON,
          ou 1 NON 5 BON, 1 FAUX
          ou 1 NON, 4 BON, 2 FAUX
          2 e partie
          Pour plus de détails:
          0 NON, 6 FAUX, 1 BON
          ou 0 NON, 5 FAUX, 2 BON
          ou 0 NON, 4 FAUX, 3 BON
          Cela amène à la tolérance. Pas plus ni moins.

          Dès qu'on passe à 2 NON, on devient NON CONFORME, peut importe le reste,
          Si il y a 1 NON, c'est ce que je montre en 1 e partie de ce message
          Si 0 NON, c'est soit conforme car minimum 4 BON, soit toléré avec les autres cas en 2 e partie de ce message.

          Je crois avoir tout détaillé pour le coup.
          0
        2. C'est bien NON CONFORME, du moment qu'il y a 2 NON, la formule que vous m'avez donné traduit bien cela, ça je l'ai bien dit depuis le début.
          Mais ma formule ne fonctionne pas de toute façon !
          0
      5. De plus, j'aimerais savoir si il est possible de mettre dans une même cellule, deux formules différentes.
        J'aimerais pouvoir mettre une formule qui va chercher la valeur dans une BDD et un test logique.
        De manière irréelle ça ressemble à ça:
        =([Test1.xlsx]CAMBRAI_PF!F$34);(=SI(N24>=8;"BON";SI(N24<5,5;"NON")))

        Pour le moment je fais cela en deux étape: dans une première colonne, mes valeurs provenant d'un BDD, dans une seconde colonne mon test logique qui me donne BON, NON , etc.

        Une chose après l'autre je sais bien, mais si ça vous dit qch ...

        Bonne journée !
        0
        1. Bonjour,
          C'est peut-être plus simple qu'il n'y paraissait.
          Essayez la tontong27:
          =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"NON")=0);"Conforme";SI(NB.SI(N35:N41;"NON")<=1;"Toléré";"non-conforme"))
          C'est le fait de mettre les SI dans l'ordre qui permet de ne pas exprimer toutes les combinaisons.
          0
          1. On fait quasiment un sans faute, 13 bons résultats sur 14.
            Dernier problème: 1 NON, 4 FAUX, 2 BON Ce résultat est NON CONFORME, mais reconnu comme TOLERE, par votre formule.
            0
          2. Celui-là il m'avait échappé, c'est le seul que je n'avait pas vérifié, désolé.
            0
          3. J'ai écourté la formule, selon ce que Raymond avait proposé:

            "=SI(ET(NB.SI(pl;B)>=4;NB.SI(pl;N)=0);conf;SI(NB.SI(pl;N)<=1;tol;nonconf))

            Ne vous excusez pas, c'est génial ce que vous faites !!
            0
          4. J'arrive pas à croire qu'avec une si petite formule,on vérifie autant de choses, c'est super !!
            0
        2. Tontong27bis:
          =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"NON")=0);"Conforme";SI(OU(NB.SI(N35:N41;"NON")=0;ET(NB.SI(N35:N41;"FAUX")<=3;NB.SI(N35:N41;"NON")=1));"Toléré";"non-conforme"))

          En non-conforme il y a aussi 1 non, 5 faux, 1 bon.
          1
          1. Est ce que vous pouvez m'expliquer la formule en détail SVP ?

            - =SI(ET(NB.SI(N35:N41;"BON")>=4;NB.SI(N35:N41;"NON")=0);"Conforme"
            Si à la fois on a la valeur "BON" qui apparait 4 fois ou plus, la valeur "NON" qui n'apparait pas, alors on est conforme.
            - "Conforme";SI(OU(NB.SI(N35:N41;"NON")=0;ET(NB.SI(N35:N41;"FAUX")<=3;NB.SI(N35:N41;"NON")=1));"Toléré";"non-conforme"))
            Je ne comprends pas la présence du OU et du ET.
            Si l'une des deux conditions est remplies alors ... Ça c'est ce que signifie OU pour moi.
            Si les deux condition sont remplies alors... voila pour ET, mais les deux ensemble j'ai du mal.
            0
          2. Bonjour,
            Pour le 1er SI votre explication est bonne. Le 2ème SI est l'argument " valeur si faux" du premier. Quand on arrive là tous les résultats "Conforme" ont été trouvés.

            Pour "Toléré" 2 ensembles de cas: Non=0 OU Non=1. Donc 2 arguments pour le OU.
            Pour Non=0 inutile d'ajouter des conditions elles ont été vues avec le 1er SI
            Pour Non=1 il faut aussi au plus 3 Faux ce qui explique le ET. Le ET est le deuxième argument du OU. ( comme il y a 7 critères, il y aura au moins 3 BON).

            Tout le reste est "non conforme".
            0
          3. Merci c'est plus clair !
            Merci pour tout en tout cas, je suis épatée par cette formule !
            0
        3. GÉANT !!!!
          Merci beaucoup ! Je l'ai raccourci et c'est parfait !
          0