XL 2016 Comparaison de cellules en colonne avec des cellules en ligne

cortilolo

XLDnaute Nouveau
Bonjour à tous,

j'ai besoin d'aide car je sèche un peu ne connaissant pas assez les bases de ce formidable logiciel qu'est Excel

J'ai mis en pièce jointe mon fichier test.

Donc j'ai une colonne A avec des chaines de caractère, parfois une chaîne par ligne parfois la même chaîne sur deux lignes, trois lignes ou même 7 lignes.

En colonne B, j'ai des valeurs que je veux comparer à celles qui sont en colonnes C, D et E. Avec un OU imbriqué, par ligne j'obtiens facilement si la valeur B1 se trouve dans C1, D1 ou E1. Si c'est le cas je veux avoir un joli OUI en F1 sinon un NON. Jusque là c'est facile j'y arrive

Le problème c'est que je veux grouper cette recherche par les chaines de caractère situés en colonne A.

Exemple : pour A2, A3 et A4 c'est la même chaîne de caractère et je veux donc tester si B2, B3 et B4 se trouvent en C2, D2 ou E2 (Sachant que les valeurs de C D et E sont identiques quand on parle de la même chaîne de caractère).

En colonne F j'ai écrit ce que je veux obtenir automatiquement au moyen d'une formule Ou plusieurs.

Merci d'avance pour votre aide
 

Pièces jointes

  • test.xlsx
    13.2 KB · Affichages: 14

cortilolo

XLDnaute Nouveau
Désolé je déterre un peu ce post car j'ai une autre demande qui découle de l'ancienne déjà traitée.
Dans ce nouveau fichier test-1, je voudrais que dans les colonnes F, G et H on me donne automatiquement les correspondances quand il y a "OUI" en colonne E. J'ai saisi à la main ce que je voudrais obtenir dans ces 3 colonnes. Pour la ligne 17, il y a deux correspondances de la valeur 01 et 02, je voudrais donc qu'elles apparaissent en F et G.
merci d'avance de votre aide
 

Pièces jointes

  • test-1.xlsx
    9.8 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour

En F1 à recopier à droite et en dessous, matricielle
VB:
=SIERREUR(SI($E1<>"OUI";"";DECALER($B$1;PETITE.VALEUR(SI(($A1:$A$20=$A1)*($C1:$D$20=$B1:$B$20)*($B1=$B$20>0);LIGNE($A1:$A$20);"");COLONNE(A1))-1;0));"")
 

cortilolo

XLDnaute Nouveau
Bonjour

En F1 à recopier à droite et en dessous, matricielle
VB:
=SIERREUR(SI($E1<>"OUI";"";DECALER($B$1;PETITE.VALEUR(SI(($A1:$A$20=$A1)*($C1:$D$20=$B1:$B$20)*($B1=$B$20>0);LIGNE($A1:$A$20);"");COLONNE(A1))-1;0));"")

merci de ta réponse mais ça n'a pas l'air de fonctionner, je n'ai que des valeurs vides dans la colonne F après l'exécution de la formule
c'est peut-être moi qui n'ai pas bien appliqué la formule mais en ligne 5 je dois avoir 01 en colonne F or j'ai une valeur vide. Peux tu me donner la formule pour cette ligne 5 que j'essaye de comprendre?
 

chris

XLDnaute Barbatruc
Bonjour

As-tu bien validé en matriciel avec les 3 touches
CTRL Shift Entrée
OUINON.jpg
 

cortilolo

XLDnaute Nouveau
RE

Ton tableau commence en ligne 1 sur ton exemple donc c'est en F1 pas en F5

Regarde l'image : tu dois voir les {} autour de la formule si tu valides correctement
oui oui je sais mais en F1 c'est normal d'avoir une cellule vide et c'est en F5 que je veux afficher 01. Toi tu y es arrivé apparemment. c'est pour ça que je voulais la formule pour la cellule F5 pour voir si j'avais mal copié
 

Discussions similaires

Haut Bas