J'utilise une combinaison de fonctions if
, vlookup
, match
, iserror
, et malheureusement je n'ai pas pu trouver la bonne formule.
La comparaison de deux colonnes pour les correspondances est assez simple. la partie difficile a été de retourner une cellule spécifique une fois qu'une correspondance est trouvée.
Donc, ce à quoi je fais face est quelque chose comme ceci:
Header Column A Column B Column C Column D
Row 1 111 AAA 112
Row 2 222 BBB 111
Row 3 333 CCC 221
Row 4 444 DDD 333
J'essaie de faire correspondre les valeurs des colonnes dans Column A
, avec Column C
. Donc, s'il y a correspondance, je veux la valeur correspondante dans Column B
à remplir dans Column D
. Pas une bonne explication, mais permettez-moi de vous montrer visuellement ce que je recherche
Header Column A Column B Column C Column D
Row 2 111 AAA 112
Row 3 222 BBB 111 AAA
Row 4 333 CCC 221
Row 5 444 DDD 333 CCC
Depuis les cellules A1
correspond à la cellule C3
, Je veux que D
renvoie B2
Pareil avec Row 5
. Puisque A4
et C5
correspond, je veux la valeur de B5
Faites-moi savoir si cela a du sens ou si vous avez besoin de précisions supplémentaires.
Très similaire à cette question , et je suggérerais la même formule dans la colonne D, bien que quelques modifications des plages:
=IFERROR(VLOOKUP(C1, A:B, 2, 0), "")
Si vous souhaitez utiliser match, vous devez également utiliser INDEX
, comme ceci:
=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "")
mais c'est très long pour moi et vous devez savoir comment utiliser correctement deux fonctions (ou trois, si vous ne savez pas comment IFERROR
fonctionne)!
Remarque: =IFERROR()
peut être un substitut de =IF()
et =ISERROR()
dans certains cas :)
Voici ce qui doit aller dans D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)
Vous devriez alors être en mesure de le copier dans le reste de la colonne D.
Je vous conseillerais de permutez les colonnes B et C pour la raison que je vais expliquer. Puis en D2 tapez: = VLOOKUP (A2, B2: C4, 2, FALSE)
Enfin, copiez la formule des cellules restantes.
Explication: RECHERCHEV recherchera d'abord la valeur de A2 dans la plage B2 à C4 (deuxième argument). REMARQUE: RECHERCHEV recherche toujours la première colonne de cette plage. C'est la raison pour laquelle vous devez permuter les deux colonnes avant faire quelque chose.
Une fois la correspondance exacte trouvée, elle renverra la valeur dans la cellule adjacente (troisième argument).
Cela signifie que, si vous mettez 1 comme troisième argument, la fonction renverra la valeur dans la première colonne de la plage (qui sera la même valeur que vous cherchiez). Si vous mettez 2, il renverra la valeur de la deuxième colonne de la plage (la valeur dans la cellule adjacente - CÔTÉ DROIT de la valeur trouvée).
FALSE indique que vous trouvez la correspondance exacte. Si vous mettez VRAI, vous chercherez la correspondance approximative.
Dans la cellule D2 et copiée vers le bas:
=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE))