2013-08-12 11 views
6

Używam kombinacji funkcji if, vlookup, match, iserror i niestety nie udało mi się znaleźć odpowiedniej formuły.Porównywanie dwóch kolumn i zwracanie konkretnej sąsiedniej komórki w programie Excel

Porównanie dwóch kolumn dla meczów jest łatwe. trudna część zwracała określoną komórkę po znalezieniu meczu.

Więc co mam do czynienia to coś niby tak:

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 

Próbuję dopasować wartości kolumny w Column A z Column C. Więc jeśli jest dopasowanie, chcę, aby odpowiednia wartość w Column B zapełniła się w Column D. Nie jest to wielki wyjaśnienie, ale pozwala mi wizualnie pokazać, co szukam

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 

ponieważ komórki A1 pasuje komórkę C3, chcę D wrócić B2

samo z Row 5. Od A4 i C5 pasuje, chcę wartość dla B5

Daj mi znać, czy to ma sens, czy potrzebujesz dalszych wyjaśnień.

+0

dlaczego funkcja WYSZUKAJ.PIONOWO nie działa? –

Odpowiedz

8

Bardzo podobny do this question i chciałbym zaproponować taką samą formułę w kolumnie D, choć kilka zmian w zakresach:

=IFERROR(VLOOKUP(C1, A:B, 2, 0), "") 

Jeśli chcesz użyć mecz, trzeba by użyć INDEX jak również, tak jak poniżej:

=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "") 

ale to jest naprawdę długa do mnie i trzeba wiedzieć, jak prawidłowo korzystać z dwóch funkcji (lub trzy, jeśli nie wiesz jak działa IFERROR)!

Uwaga: =IFERROR() może być substytutem =IF() i =ISERROR() w niektórych przypadkach :)

+0

+1 za nauczenie mnie selektora kolumn w VLOOKUP - thx - Lubię też używać IFERROR, sprawia, że ​​arkusz jest zadowalający. –

+0

Witam, jeśli w tym samym senario, jeśli chcę danych całego wiersza do colum b, co kiedykolwiek matematyki, to jak zmodyfikować powyższy wzór – Mallik

+0

@ user1345837 Chcesz je połączone lub w dwóch kolumnach? W drugim przypadku będziesz potrzebować więcej niż jednej formuły. – Jerry

1

Oto co musi iść w D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

Następnie powinno być w stanie skopiować to na dół do reszty kolumny D.

+0

Teraz staram się dopasować wartości kolumn w kolumnie A, z kolumną E. Więc jeśli istnieje dopasowanie, chcę, aby odpowiednia wartość w kolumnie B, C, D została wypełniona w kolumnie F, G, H. Jak to zrobić ?? – vinita

0

w komórce D2 i kopiowane w dół:

=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE)) 
0

Radziłbym ci swap, B i C kolumnami z tego powodu, że będę wyjaśniać. Następnie typu D2: = VLOOKUP (A2, B2 C4 2 FAŁSZ)

Wreszcie podany w odniesieniu do pozostałych komórek.

Objaśnienie: VLOOKUP najpierw wyznaczyć wartość A2 w zakresie B2 C4 (drugi argument). UWAGA: Funkcja VLOOKUP zawsze przeszukuje pierwszą kolumnę w tym zakresie. Jest to powód, dla którego musisz zamienić dwie kolumny, zanim cokolwiek zrobisz.

Po znalezieniu dokładnego dopasowania, zwróci wartość w sąsiedniej komórce (trzeci argument).

Oznacza to, że jeśli wstawisz 1 jako trzeci argument, funkcja zwróci wartość w pierwszej kolumnie zakresu (która będzie miała tę samą wartość, której szukasz). Jeśli umieścisz 2, zwróci wartość z drugiej kolumny w zakresie (wartość w sąsiedniej komórce - PRAWY STRONĘ z znalezionej wartości).

FALSE wskazuje, że znajdujesz dokładne dopasowanie. Jeśli ustawisz TRUE, będziesz szukał przybliżonego dopasowania.

Powiązane problemy