Formule VLOOKUP avec conditions
Résolu
Bonjour,
J'ai besoin d'une formule me permettant de trouver des renseignements dans un autre onglet, avec la formule VLOOKUP, mais avec la condition que "si il y a l'info X dans une case de la colonne A, et que dans la case à côté de ce résultat il y a l'info Y"... et c'est là que je bloque.
J'ai essayé de vous faire un fichier d'exemple (>>http://www.cjoint.com/c/EKglsgknp2T<<), mais j'ai l'impression que même la première formule ne fonctionne pas (alors qu'elle fonctionne dans mon fichier d'origine).
J'ai donc une première formule simple, qui ne pose pas problème : =if(isna(vlookup(A2,NR1!B:C,2,False))=true,"",vlookup(A2,NR1!B:C,2,False))
et l'ébauche de la seconde est celle-ci (qui ne fonctionne pas) :
=vlookup(if(AND(NR1!A:A="FR-BE",NR1!B:B=A2))A2,NR1!B:C,2,False)
Une idée ?
Merci d'avance !
J'ai besoin d'une formule me permettant de trouver des renseignements dans un autre onglet, avec la formule VLOOKUP, mais avec la condition que "si il y a l'info X dans une case de la colonne A, et que dans la case à côté de ce résultat il y a l'info Y"... et c'est là que je bloque.
J'ai essayé de vous faire un fichier d'exemple (>>http://www.cjoint.com/c/EKglsgknp2T<<), mais j'ai l'impression que même la première formule ne fonctionne pas (alors qu'elle fonctionne dans mon fichier d'origine).
J'ai donc une première formule simple, qui ne pose pas problème : =if(isna(vlookup(A2,NR1!B:C,2,False))=true,"",vlookup(A2,NR1!B:C,2,False))
et l'ébauche de la seconde est celle-ci (qui ne fonctionne pas) :
=vlookup(if(AND(NR1!A:A="FR-BE",NR1!B:B=A2))A2,NR1!B:C,2,False)
Une idée ?
Merci d'avance !
1 réponse
-
ContributeurBonjour
cette formule matricielle à entrer avec la touche ENTER en maintenant les touches ctrl et shift enfoncées
elle doit se retrouver automatiquement entre accolades dans la barre de formule:
En B2, version française à tirer sur le tabmeau:
=SIERREUR(INDEX('NR1'!$C:$C;EQUIV(B$1&$A2;'NR1'!$A:$A&'NR1'!$B:$B;0));"")
et sauf erreur en anglais:
=IFERROR(NR1'!$C:$C;MATCH(B$1&$A2;'NR1'!$A:$A&'NR1'!$B:$B;0));"")
le code IFERROR (SIERREUR) ne fonctionne qu'à partir de Excel 2007
il est là pour envoyer une cellule blanche quand la condition n'est pas réalisée
Pour exel avant 2007:
=IF(ISERROR(EQUIV(B$1&$A2;'NR1'!$A:$A&'NR1'!$B:$B;0));"";INDEX('NR1'!$C:$C;EQUIV(B$1&$A2;'NR1'!$A:$A&'NR1'!$B:$B;0)))
toujours en matricielle en respectant bien les positions du signe $ pour pouvoir "tirer" la formule
crdlmnt
Errare humanum est, perseverare diabolicum