1

У меня есть одна рабочая тетрадь, в которой есть две таблицы. Мне нужна функция, которая будет принимать значение из столбца A на рабочем листе_1 и сравнивать его со столбцом D на рабочем листе_2. Если значение найдено в столбце D на рабочем листе_2, отобразите содержимое столбца A на рабочем листе_2. Если не найдено, выведите "Not Found".

На рабочем листе_1 у меня есть следующий набор данных:

     A
1. ABC123
2. DEF234
3. GHI567
4. JKLM123
5. OPQ456
6. RSTU789

На рабочем листе_2 у меня есть следующий набор данных:

    A       D                             
1.  RED     ER4654F- RSTU789 - 54DF56GH
2.  BLUE    132DF- ABC123 - SDFG1665
3.  GREEN   456FD-OPQ456-D564G
4.  PURPLE  7987-DEF234-165416
5.  ORANGE  SDF86- JKLM123 -5DFG6H

Как бы я структурировал функцию для того, чтобы правильно искать, если значения из рабочей таблицы_1 существуют в столбце D рабочей группы_2, и отображать значения из столбца A?

Заранее спасибо за помощь!

1 ответ1

1

Вы можете использовать функцию MATCH для поиска в столбце D на листе 2 для элемента в столбце A на листе 1. Например, в ячейку B1 Sheet1 вы можете ввести:

=MATCH("*"&$A1&"*",Sheet2!$D:$D,0)

Это вернет номер строки в столбце D листа 2, где найдено содержимое A1, или # N/A, если совпадение не найдено. «*» До и после поискового запроса являются символами подстановки.

Вы можете использовать функцию INDEX, чтобы получить содержимое столбца Sheet2 A. Измените ячейку B1 на:

=INDEX(Sheet2!$A:$A,MATCH("*"&$A1&"*",Sheet2!$D:$D,0)) 

Это вернет значение столбца A листа 2, которое соответствует элементу, найденному в столбце D листа 2, или # N/A, если совпадение не найдено.

Вы можете использовать функцию IFERROR, чтобы показать "Не найдено", когда нет совпадений. Измените ячейку B1 на

=IFERROR(INDEX(Sheet2!$A:$A,MATCH("*"&$A1&"*",Sheet2!$D:$D,0)),"Not Found")

Единственная оставшаяся проблема заключается в том, что использование подстановочных знаков означает, что вы можете получить совпадение только для части термина в столбце D (например, "BC12" можно найти в строке 2). Если это не то, что вам нужно, я предлагаю изменить столбец D, чтобы убрать пробелы и добавить «-» в начале и конце каждого элемента, поэтому строка 1 становится:

'-ER4654F-RSTU789-54DF56GH-

(апостроф говорит Excel не рассматривать это как расчет). Теперь вы можете добавить «-» до и после поискового запроса, чтобы убедиться, что вы сопоставляете только те слова, которые находятся между «-» в столбце D. Окончательная формула в ячейке B1:

=IFERROR(INDEX(Sheet2!$A:$A,MATCH("*-"&$A1&"-*",Sheet2!$D:$D,0)),"Not Found")

Скопируйте эту формулу в другие ячейки в листе 1 столбца B.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .