Сравнение двух столбцов и возврат определенной смежной ячейки в Excel

я использую комбинацию if, vlookup, match, iserror функции, и, к сожалению, я не смог найти правильную формулу.

сравнение двух столбцов на совпадения достаточно легко. трудная часть возвращала определенную ячейку, как только совпадение было найдено.

Итак, я имею дело с чем-то вроде этого:

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

я пытаюсь сопоставить значения столбцов в Column A С Column C. Так что если есть совпадение, я хочу соответствующее значение в Column B вставить в Column D. Не отличное объяснение, но позвольте мне визуально показать вам, что я ищу

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

Поскольку Клетки A1 матчи ячейки C3, Я хочу D вернуться B2

то же самое с Row 5. С A4 и C5 матч, я хочу, чтобы значение B5

Дайте мне знать, если это имеет смысл или если вам нужны дополнительные разъяснения.

4 ответов


очень похоже на этот вопрос, и я бы предложил ту же формулу в столбце D, хотя и несколько изменений в диапазонах:

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

если вы хотите использовать Матч, вам придется использовать INDEX так же, как и так:

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

но это очень долго для меня, и вам нужно знать, как правильно использовать две функции (или три, если вы не знаете, как IFERROR работает)!

Примечание: =IFERROR() можно заменить на =IF() и =ISERROR() в некоторых случаи:)


вот что нужно сделать в D1:=VLOOKUP(C1, $A:$B, 2, FALSE)

затем вы сможете скопировать это до остальной части столбца D.


в ячейке D2 и скопировано:

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

Я бы посоветовал вам поменять местами столбцы B и C по той причине, что я объясню. Затем в типе D2: =VLOOKUP (A2, B2:C4, 2, FALSE)

наконец, скопируйте формулу для оставшихся ячеек.

объяснение: VLOOKUP сначала найдет значение A2 в диапазоне от B2 до C4 (второй аргумент). Примечание:VLOOKUP всегда ищет первый столбец в этом диапазоне. это причина, почему вы должны обменять две колонки, прежде чем что-либо делать.

Как только будет найдено точное совпадение, оно вернет значение в соседней ячейке (третий аргумент).

Это означает, что если вы поместите 1 в качестве третьего аргумента, функция вернет значение в первом столбце диапазона (которое будет тем же значением, которое вы искали). Если поставить 2, то возвращается значение из второго столбца в диапазоне (значение в соседней ячейке справа от найденного значения).

FALSE указывает, что вы находите точное совпадение. Если вы поставите TRUE, вы будете искать приблизительное совпадение.