У меня есть три набора данных, Set1, Set2 и set3, которые имеют разную длину, например, набор может выглядеть так:

Address    Comment
A200.11    First Cycle Flag
A200.12    Step Flag
A200.15    First Task Execution Flag

В этом сравнении я беру адрес и использую VLOOKUP, чтобы проверить, существует ли адрес в другом наборе данных, например:

 =IF(ISNA(VLOOKUP(B3,$D$3:$D$288,1,FALSE)),"Address OK", "Address Exists")

Где B3 - это ячейка, содержащая адрес, а $ D $ 3:$ D $ 288 - это столбец адреса для другого набора данных, т.е. моей справочной таблицы.

Таким образом, если значение VLOOKUP равно нулю / не существует, адрес в порядке, в противном случае это NG.

Это работает достаточно хорошо, но я бы хотел, если бы адрес существовал в другом наборе данных, отображать "ADDRESS NG" И КОММЕНТАРИЙ этого адреса в наборе данных.

Пример: например, Dataset1, Cell, B62 содержит адрес A200, а комментарий в ячейке C62 - "КОММЕНТАРИЙ". В Set2, Cell, D185 также содержит адрес A200, а Cell E185 содержит "COMMENT SET 2"; Я хотел бы, чтобы выходные данные функции были "Адрес существует COMMENT SET 2"

Я полагаю, что это потребует использования функции OFFSET, но я не уверен, как реализовать.

1 ответ1

1

OFFSET для этого не требуется, поскольку VLOOKUP фактически предназначен для возврата значений смещения (для этого и нужен третий аргумент).

Вы не упомянули, какую версию вы используете, поэтому в зависимости от этого одна из следующих формул должна дать вам то, что вы ищете:

Excel 2013 и более поздние версии:

=IFNA("Address Exists " &VLOOKUP(B3,$D$3:$E$288,2,FALSE),"Address OK")

Предыдущие версии:

=IF(ISNA(VLOOKUP(B3,$D$3:$E$288,2,FALSE)),"Address OK","Address Exists " &VLOOKUP(B3,$D$3:$E$288,2,FALSE))

Функция оценивает VLOOKUP, если она находит совпадение, возвращает "Адрес существует" и все, что находится в столбце 2 (E) вашего диапазона поиска (который я изменил, чтобы включить столбец E).

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