Formule index / vlookup

Bonsoir

Est il possible de faire des index ou des vlookup sur 2 elements de recherche. J'essaie de m'expliquer.

Dans l'exemple attaché j'ai les informations A qui sont descendu d'un programme et qui doivent être transférer dans le fichier B. Afin d'éviter l'encodage manuelle est il possible de faire une formule double avec la fonction index ou vlookup.

La fonction doit dans le fichier B regarder la colonne B33 & C33 et la comparer avec le fichier A (B16&C16) pour reprendre les données dans le fichier B.

J'espere que c'est clair

merci

Bonsoir,

dans la cellule D33, entre cette formule :

=INDEX(D$16:D$24;EQUIV($B33&$C33;$B$16:$B$24&$C$16:$C$24;0))

Attention, formule matricielle, que tu dois valider par Ctrl + Maj+ Entrée

Et fais une recopie incrémentée dans les 2 colonnes...

Bonne soirée

Désolé mais j'obtiens #valeur

Que coulez vous dire par "valider par Ctrl + Maj+ Entrée"

Merci

Bonjour

Pour valider une formule matricielle:

1) Tu sélectionnes la cellule contenant la formule, la formule apparaît dans la barre de formule.

2) Tu positionnes le pointeur de la souris n'importe ou dans la barre de formule

3) Tu appuies simultanément sur les 3 touches Ctrl, Maj et Entrée (Ta formule est validée lorsque dans la barre de formule, tu vois les accolades rajoutées par Excel)

En français

=INDEX(D$16:D$24;EQUIV($B33&$C33;$B$16:$B$24&$C$16:$C$24;0))

Version excel anglaise

=INDEX(D$16:D$24;MATCH($B33&$C33;$B$16:$B$24&$C$16:$C$24;0))

tu dois obtenir après ta validation avec les 3 touches indiquées

{=INDEX(D$16:D$24;EQUIV($B33&$C33;$B$16:$B$24&$C$16:$C$24;0))}

ou

{=INDEX(D$16:D$24;MATCH($B33&$C33;$B$16:$B$24&$C$16:$C$24;0))}

mais, ce n'est pas à toi à mettre les accolades

Cordialement

Désolé j'ai suivi les étapes mais tjs le meme message Pq ?

Si peux changer quelque chose j'ai excell 2003

Merci

Bonjour

Reviens en arrière, j'ai complété, à l'intant, mon précédent message

Cordialement

ok c'est bon merci

Bonjour

Je reviens sur ce sujet car j'ai un autre petit souci.

Si la recherche des données se trouvent sur la feuille 1et le document à remplir avec les index ou vlookup sur la feuille 2 comment utiliser la formule index

Merci

Bonjour,

nicomar2011 a écrit :

Je reviens sur ce sujet car j'ai un autre petit souci.

Si la recherche des données se trouvent sur la feuille 1et le document à remplir avec les index ou vlookup sur la feuille 2

Cela ne change rien, il suffit juste d'adapter les plages de données avec le nom de la feuille.

=INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0))

A+

Merci mais sur cetaine ligne j'ai des NA comment faire pour les éviter

Merci beaucoup

Bonjour

Avec une condition pour n'afficher rien à la place

=SI(ESTERREUR(=INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0)));"";=INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0)))

Cordialement

Bonjour,

Bonjour, Amadéus

Comme nicomar possède Excel 2007, on peut utiliser la fonction "SIERREUR"

=IFERROR(INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0));"")

Toujours en matriciel

Attention, ne fonctionne que sous Excel 2007 (anglais, en l'occurence...)

Bonne journée

Merci beaucoup pour vos interventions.

Je suis désolé il y a une erreur dans mon profil mais actuellement j'ai excell 2002 en anglais.Dois je utiliser alors la condition IF(ISNA) ? Que faut il faire pour corriger ?

Merci

Re-,

C'est marqué....

Attention, ne fonctionne que sous Excel 2007

Bonne soirée

Donc sur excell 2003 il n'est pas possible de faire des index ou vlookup sur 2 éléments.

Existe t il une autre solution avec une autre formule ?

Merci

Re-,

Euh.....

Ce n'était pas ta question....

Dois je utiliser alors la condition IF(ISNA) ?

Oui, tu dois utiliser la formule d'Amadéus, la mienne ne fonctionnera pas si tu n'as pas 2007 ou plus....

Bonsoir

J'ai essayé la formule de Amadeus mais j'ai tjs un probleme avec celle ci

Voir la ligne D39 (fichier joint)

Probleme de parenthese je crois. Quelque comprend il ou se situe le probleme

Merci beaucoup

Bonjour à tous,

Il y a quelques "=" en trop dans la formule d'Amadéus me semble-t-il. De plus, petit mix entre fonction française et anglaise

Pas sûr mais réessaie avec ceci :

=IF(ISERROR(INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0)));"";INDEX(Feuil1!D$16:D$24;MATCH($C16&$D16;Feuil1!$B$16:$B$24&Feuil1!$C$16:$C$24;0)))
Rechercher des sujets similaires à "formule index vlookup"