XL 2016 Recherche multiples dans deux tableaux

walter ebelle

XLDnaute Junior
Bonjour la Famille,
Je veux une formule à la colonne M5 du tableau des fournisseurs, qui donne le résultat BON/MOY/MOINS BON/MAUVAIS lorsque les valeurs de la ligne 1 ou 2 ou 3 ou 4 de la colonne B à la colonne L sont identiques par ligne.
Par exemple ; si les valeurs du fournisseur TOTAL OIL, de B5 à L5 sont identiques à la ligne 1 ou 2 ou 3 ou 4 du tableau standard de qualité de B à L, alors M5 doit être soit BON ou MOY ou MOINS BON ou MAUVAIS. Ceci doit être pareil pour tous les fournisseurs.
Merci pour vos solutions
 

Pièces jointes

  • Bonjour la Famille.docx
    12.4 KB · Affichages: 5

walter ebelle

XLDnaute Junior
Re,
Dans ce cas c'est un poil plus simple, deux formules au choix en O4 et P4
=SI(ET(B4=$B$12;C4=$C$12;D4=$D$12;E4=$E$12;F4=$F$12;G4=$G$12;H4=$H$12;I4=$I$12;J4=$J$12;K4=$K$12;L4=$L$12);"BON";"?")
ou
=SI((B4=$B$12)*(C4=$C$12)*(D4=$D$12)*(E4=$E$12)*(F4=$F$12)*(G4=$G$12)*(H4=$H$12)*(I4=$I$12)*(J4=$J$12)*(K4=$K$12)*(L4=$L$12)>0;"BON";"?")

Le nombre de fournisseurs n'est pas un problème, et le nombre de critères ne l'est plus.
Cordialement
Est ce toujours une fonction matricielle ? Parce que ca ne donne pas chez moi et même dans le fichier que tu as envoyé. Juste la 1ère ligne donne et même quand je tire vers le bas ça ne donne pas de résultat.
 

walter ebelle

XLDnaute Junior
Est ce toujours une fonction matricielle ? Parce que ca ne donne pas chez moi et même dans le fichier que tu as envoyé. Juste la 1ère ligne donne et même quand je tire vers le bas ça ne donne pas de résultat.
La formule ne prend en compte que la 1ère ligne du standard de qualité pourtant elle devrait prendre en compte toutes les lignes même avec 1000 lignes dans le tableau standard de qualité.
 

ALS35

XLDnaute Occasionnel
Re,
Je comprends dans ton fichier que le critère "BON", le seul que tu veux maintenant tester, se situe sur la première ligne du tableau des critères. Si ce n'est pas le cas indique plus précisément ce que tu souhaites et poste un exemple plus représentatif de ton problème.
Cordialement
 

walter ebelle

XLDnaute Junior
Re,
Je comprends dans ton fichier que le critère "BON", le seul que tu veux maintenant tester, se situe sur la première ligne du tableau des critères. Si ce n'est pas le cas indique plus précisément ce que tu souhaites et poste un exemple plus représentatif de ton problème.
Cordialement
Dans le fichier que jai joins la formule que tu as écrite à M4 puis tiré en bas je suis d'accord c'est ce que je voulais. Les critères BON MOY MOINS BON et MAUVAIS étaient ma première préoccupation. Maintenant au vu de la formule qui est déjà longue pour 4 fournisseurs et 4 critères de standard qualité , je resume mes critères à un seul qui sera désormais BON pour tout le tableau standard de qualité mais cette fois le standard passe de 4 Lignes à une plage de plus de 200 Lignes. Et les fournisseurs également ne seront plus 4 seulement ils pourraient être plus de 100 ça dépend.
Je veux donc que la formule à M4 prenne en compte tout le tableau standard de qualité parce que l'objectif est d'avoir une ligne des valeurs du fournisseur qui corresponde à une ligne des valeurs du standard de qualité ce qui doit avoir pour résultat BON au cas contraire rien. et je vais tirer jusqu'au bas la formule M4 pour tous les fournisseurs. Voilà mon problème
 

st007

XLDnaute Barbatruc
Multipost
Une demande initiale complète et reflettant la réalité
Un seul post pour ne pas faire perdre leur temps aux contributeurs. Puisque ton besoin évolue en fonction des solutions proposées.
Et inutile de solliciter par messagerie non plus .
Comparer un tableau avec 4 lignes de critères ====> formule
Comparer un tableau avec un tableau ====> VBA
tu as une solution par formule selon l'énoncé de base et une en VBA pour de multiples fournisseurs et critères.
 

walter ebelle

XLDnaute Junior
Multipost
Une demande initiale complète et reflettant la réalité
Un seul post pour ne pas faire perdre leur temps aux contributeurs. Puisque ton besoin évolue en fonction des solutions proposées.
Et inutile de solliciter par messagerie non plus .
Comparer un tableau avec 4 lignes de critères ====> formule
Comparer un tableau avec un tableau ====> VBA
tu as une solution par formule selon l'énoncé de base et une en VBA

Dans le fichier que jai joins la formule que tu as écrite à M4 puis tiré en bas je suis d'accord c'est ce que je voulais. Les critères BON MOY MOINS BON et MAUVAIS étaient ma première préoccupation. Maintenant au vu de la formule qui est déjà longue pour 4 fournisseurs et 4 critères de standard qualité , je resume mes critères à un seul qui sera désormais BON pour tout le tableau standard de qualité mais cette fois le standard passe de 4 Lignes à une plage de plus de 200 Lignes. Et les fournisseurs également ne seront plus 4 seulement ils pourraient être plus de 100 ça dépend.
Je veux donc que la formule à M4 prenne en compte tout le tableau standard de qualité parce que l'objectif est d'avoir une ligne des valeurs du fournisseur qui corresponde à une ligne des valeurs du standard de qualité ce qui doit avoir pour résultat BON au cas contraire rien. et je vais tirer jusqu'au bas la formule M4 pour tous les fournisseurs. Voilà mon problème
 

Pièces jointes

  • TABLEAU_formule1.xlsx
    13.3 KB · Affichages: 3

ALS35

XLDnaute Occasionnel
Bonsoir,

Alors peut-être comme ceci, formule à validation matricielle en N4 :
Code:
=SI(SOMME((B4=$B$16:$B$30)*(C4=$C$16:$C$30)*(D4=$D$16:$D$30)*(E4=$E$16:$E$30)*(F4=$F$16:$F$30)*(G4=$G$16:$G$30)*(H4=$H$16:$H$30)*(I4=$I$16:$I$30)*(J4=$J$16:$J$30)*(K4=$K$16:$K$30)*(L4=$L$16:$L$30))>0;"BON";"?")
ou formule en validation normale en O4 :
Code:
=SI(SOMMEPROD((B4=$B$16:$B$30)*(C4=$C$16:$C$30)*(D4=$D$16:$D$30)*(E4=$E$16:$E$30)*(F4=$F$16:$F$30)*(G4=$G$16:$G$30)*(H4=$H$16:$H$30)*(I4=$I$16:$I$30)*(J4=$J$16:$J$30)*(K4=$K$16:$K$30)*(L4=$L$16:$L$30))>0;"BON";"?")
Cordialement
 

Pièces jointes

  • TABLEAU_formule1.xlsx
    15.4 KB · Affichages: 2

walter ebelle

XLDnaute Junior
Bonsoir,

Alors peut-être comme ceci, formule à validation matricielle en N4 :
Code:
=SI(SOMME((B4=$B$16:$B$30)*(C4=$C$16:$C$30)*(D4=$D$16:$D$30)*(E4=$E$16:$E$30)*(F4=$F$16:$F$30)*(G4=$G$16:$G$30)*(H4=$H$16:$H$30)*(I4=$I$16:$I$30)*(J4=$J$16:$J$30)*(K4=$K$16:$K$30)*(L4=$L$16:$L$30))>0;"BON";"?")
ou formule en validation normale en O4 :
Code:
=SI(SOMMEPROD((B4=$B$16:$B$30)*(C4=$C$16:$C$30)*(D4=$D$16:$D$30)*(E4=$E$16:$E$30)*(F4=$F$16:$F$30)*(G4=$G$16:$G$30)*(H4=$H$16:$H$30)*(I4=$I$16:$I$30)*(J4=$J$16:$J$30)*(K4=$K$16:$K$30)*(L4=$L$16:$L$30))>0;"BON";"?")
Cordialement
Bjr ALS35,
Merci pour ton aide à tous les autres aussi. Ça marcher les 03 formules. Merci
 

ALS35

XLDnaute Occasionnel
Bsr ALS35,
Lorsque le résultat est BON dans le tableau fournisseurs à M4 ou N4 ou O4 , comment retrouver la Ligne à laquelle ce résultat correspond dans le tableau standard de qualité ?
Bonjour,
Par exemple en modifiant la formule en M4 pour aller chercher l'info de ligne en colonne A.
Cordialement
 

Pièces jointes

  • TABLEAU_formule1.xlsx
    15.5 KB · Affichages: 2

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

On peut aussi faire des formules courtes en utilisant la fonction Concat.

  • On transforme le tableau des fournisseurs en tableau structuré nommé "Tableau1"
  • On y insère une colonne en début de tableau nommée Concat
  • Dans la 1ère cellule de cette colonne (cellule A4) on insère une formule qui concatène les valeurs des champs X à Z9. Cette formule est automatiquement propagée sur le reste de la colonne.
  • On y insère une colonne en fin de tableau nommée "STANDARD DE QUALITE"

  • On transforme le tableau des standards de qualité en tableau structuré nommé "Tableau2"
  • On y insère une colonne en début de tableau nommée Concat
  • Dans la 1ère cellule de cette colonne (cellule A16) on insère une formule qui concatène les valeurs des champs de X à Z9. Cette formule est automatiquement propagée sur le reste de la colonne.

  • Dans Tableau1, dans la première cellule de la dernière colonne (cellule N4), on insère la fonction qui recherche le standard de qualité dans tableau2. (fonction très courte). La formule est automatiquement propagée sur le reste de la colonne.

Formules :
en A4 de Tableau1 : =CONCAT(Tableau1[@[X]:[Z9]])
en A16 de Tableau2 : =CONCAT(Tableau2[@[X]:[Z9]])
en N4 de Tableau1 : =SIERREUR(EQUIV([@Concat];Tableau2[Concat];0);"-")

nota 1 : la fonction CONCAT() est disponible, me semble-t-il, dans Excel2016 (sinon utiliser Concatener mais qui fait une fonction plus longue).
nota 2 : on peut masquer la colonne A si on le désire.
 

Pièces jointes

  • walter ebelle- Qualité- v1.xlsx
    18 KB · Affichages: 4
Dernière édition:

walter ebelle

XLDnaute Junior
Bonsoir,

On peut aussi faire des formules courtes en utilisant la fonction Concat.

  • On transforme le tableau des fournisseurs en tableau structuré nommé "Tableau1"
  • On y insère une colonne en début de tableau nommée Concat
  • Dans la 1ère cellule de cette colonne (cellule A4) on insère une formule qui concatène les valeurs des champs X à Z9. Cette formule est automatiquement propagée sur le reste de la colonne.
  • On y insère une colonne en fin de tableau nommée "STANDARD DE QUALITE"

  • On transforme le tableau des standards de qualité en tableau structuré nommé "Tableau2"
  • On y insère une colonne en début de tableau nommée Concat
  • Dans la 1ère cellule de cette colonne (cellule A16) on insère une formule qui concatène les valeurs des champs de X à Z9. Cette formule est automatiquement propagée sur le reste de la colonne.

  • Dans Tableau1, dans la première cellule de la colonne (cellule N4), on insère la fonction qui recherche le standard de qualité dans tableau2. (fonction très courte).L a formule se propage sur le reste de la colonne.

Formules :




nota 1 : la fonction CONCAT() est disponible, me semble-t-il, dans Excel2016 (sinon utiliser Concatener mais qui fait une fonction plus longue).
nota 2 : on peut masquer la colonne A si on le désire.
Bsr mapomme,
Merci je vais expérimenté et je te reviens 🙂
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Si on n'est pas à l'aise avec les tableaux structurés (qui existent depuis Excel 2010), on peut le faire avec les tableaux tels qu'ils existent et avec des fonctions de base (en particulier sans la fonction Concat) :
  • Insérer une colonne avant la colonne A
  • En A4 de la nouvelle colonne A, mettre la formule : =C4&D4&E4&F4&G4&H4&I4&J4&K4&L4&M4
  • Copier cette formule sur les autres cellules de la colonne A des deux tableaux

  • En N4, mettre la formule : = SI(ESTERREUR(EQUIV(A4;A$16:A$30;0));"-";EQUIV(A4;A$16:A$30;0))
  • Copier cette formule sur les autres cellules de la colonne N du tableau1

nota : ceci doit fonctionner depuis Excel 2003.
 

Pièces jointes

  • walter ebelle- Qualité- v1 (bis).xlsx
    14 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm