2013-08-12 2 views
6

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

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

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

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

То же самое с Роу 5. Начиная с A4 и C5, я хочу, чтобы значение для B5

Сообщите мне, если это имеет смысл или вам необходимо уточнить.

+0

Почему VLOOKUP не работает? –

ответ

8

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

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

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

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

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

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

+0

+1 для преподавания мне селектора столбцов в VLOOKUP - thx - мне нравится использовать IFERROR, делает лист аккуратным. –

+0

Привет, если в том же senario, если я хочу, чтобы данные целых строк до colum b, что когда-либо было mathcng, то как изменить приведенную выше формулу – Mallik

+0

@ user1345837 Вы хотите, чтобы они были объединены или в двух столбцах? Для второго случая вам понадобится более одной формулы. – Jerry

1

Вот что нужно идти в D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

тогда Вы должны быть в состоянии скопировать это вниз к остальной части колонны D.

+0

Теперь то, что я пытаюсь сделать, это совместить значения столбцов в столбце A с столбцом E. Итак, если есть совпадение, я хочу, чтобы соответствующее значение в столбцах B, C, D было заполнено в столбце F, G, H. Как это сделать? – vinita

0

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

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

Я бы посоветовал вам замены B и C столбцов по той причине, что я объясню. Тогда в типа D2: = ВПР (А2, В2: С4, 2, FALSE)

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

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

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

Это означает, что если вы поместите 1 в качестве третьего аргумента, функция вернет значение в первом столбце диапазона (который будет тем же самым значением, которое вы искали). Если вы положите 2, он вернет значение из второго столбца в диапазоне (значение в соседней ячейке - ПРАВАЯ СТОРОНА найденного значения).

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