Après avoir vérifié si une valeur de cellule existe dans une colonne, je dois obtenir la valeur de la cellule à côté de la cellule correspondante . Par exemple, je vérifie si la valeur dans cell A1
existe dans column B
, et en supposant qu'elle correspond B5
, alors je veux la valeur dans cell C5
.
Pour résoudre la première moitié du problème, j'ai fait ceci ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")
... et cela a fonctionné. Ensuite, grâce à une réponse antérieure sur SO , j'ai également pu obtenir le numéro de ligne de la cellule correspondante:
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))
Alors naturellement, pour obtenir la valeur de la cellule suivante, j'ai essayé ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))
... et ça ne marche pas.
Qu'est-ce que je rate? Comment ajouter le numéro de colonne au numéro de ligne renvoyé pour obtenir le résultat souhaité?
VLOOKUP(A1, B:C, 2, FALSE)
au lieu d'utiliser une plage fixe (afin de s'adapter à un tableau de recherche croissant)?IFERROR
ici. Cela fonctionne bien sans lui, car la RECHERCHEV n'est exécutée que s'il y a une correspondance.Après la réponse de t.thielemans , j'ai travaillé
fonctionne bien et fait ce que je voulais, sauf que ça revient
#N/A
pour les non-correspondances; il convient donc au cas où l'on sait que la valeur existe définitivement dans la colonne de recherche.Edit (basé sur le commentaire de t.thielemans):
Pour éviter les
#N/A
non-correspondances, faites:la source
IFERROR(VLOOKUP(A1, B:C, 2, FALSE),0)
. J'ai également ajouté ceci à ma réponse. 0 étant la valeur que vous voulez :) (utilisez ceci dans le code mènera à Aucune correspondance si aucune correspondance n'est trouvée;)Que dis-tu de ça?
Le "3" à la fin signifie la colonne C.
la source