2

У меня есть лист, содержащий следующий (поиск) столбец

ABC
DEF
HIJ

У меня есть другой лист, содержащий данные

ABC123
QWE762
HIJ234

Я хочу посмотреть на первые 3 символа второго листа, и если он соответствует какой-либо ячейке на первом листе (тот же файл Excel), выведите "Y", в противном случае выведите "N".

Так что мой вывод должен быть

ABC123 Y
QWE762 N
HIJ234 Y

я имею

=IF(MATCH(LEFT(B2,3),A2:A4,0),"Y",N")

где B2 - это ячейка ABC123 а A2:A4 - столбец на первом листе. Я продолжаю получать ошибку #N/A (значение не доступно). Это почему?

2 ответа2

3

Функция MATCH возвращает #NA, если совпадений нет. IF проверяет истину или ложь, но возвращает #NA из MATCH поэтому ложное условие "N" никогда не возникает.

Используйте IFNA для проверки результата #NA. Предполагая, что Sheet1 имеет столбец поиска, эта формула в C2 второго листа проверяет результат функции IF . IF возвращает "Y" или #NA, поэтому IFNA возвращает "Y" или "N".

=IFNA(IF(MATCH(LEFT(B2,3),Sheet1!$A2:$A4,0),"Y"),"N")
1

Ошибка N/A означает, что нет точного соответствия. Дважды проверьте ваши данные.

Тип данных тоже важен. На одном листе могут быть цифры, а на другом - цифры. Если диапазон поиска содержит числа, вам необходимо преобразовать вывод текста из оператора Left() в числа, например:

 =IF(MATCH(LEFT(B2,3)+0,A2:A4,0),"Y",N")

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