Formule VLOOKUP avec conditions

Résolu/Fermé
mana - 6 nov. 2015 à 12:26
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 6 nov. 2015 à 18:56
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 !


A voir également:

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 6/11/2015 à 14:18
Bonjour
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
0
C'est super, merci ! La formule anglaise marche parfaitement, il manquait juste une parenthèse avant MATCH :D

Merci beaucoup !!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416 > mana
6 nov. 2015 à 18:56
...manquait même carrément INDEX! c'est tout moi ça
bonne route
crdlmnt
0