Excel: VLOOKUP, который возвращает истину или ложь? - PullRequest
5 голосов
/ 19 мая 2010

В Excel у нас есть функция VLOOKUP, которая ищет значение в столбце таблицы и затем возвращает значение из указанного столбца в этой таблице, если что-то находит. Если этого не произойдет, выдает ошибку.

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

Ответы [ 6 ]

9 голосов
/ 19 мая 2010

Вы можете обернуть свой VLOOKUP () в IFERROR ()

Редактировать: до Excel 2007 используйте =IF(ISERROR()...)

8 голосов
/ 20 мая 2010

Просто используйте COUNTIF! Гораздо быстрее, чтобы написать и рассчитать, чем другие предложения.


РЕДАКТИРОВАТЬ:

Скажем, ваша ячейка A1 должна быть 1, если значение B1 находится в столбце C, а в противном случае должно быть 2. Как бы вы это сделали?

Я бы сказал, что если значение B1 найдено в столбце C, то A1 будет положительным, в противном случае это будет 0. Это легко сделать с помощью формулы: =COUNTIF($C$1:$C$15,B1), что означает: подсчитать ячейки в диапазоне C1:C15 которые равны B1.

Вы можете объединить COUNTIF с VLOOKUP и IF, и это НАМНОГО быстрее, чем использование 2 поисков + ISNA. IF(COUNTIF(..)>0,LOOKUP(..),"Not found")

Немного Googling принесет вам тонны примеров .

7 голосов
/ 19 мая 2010

Вы все еще должны обернуть его в ISERROR, но вы можете использовать MATCH() вместо VLOOKUP():

Возвращает относительное положение элемент в массиве, который соответствует указанное значение в указанном порядке. Используйте МАТЧ вместо одного из LOOKUP работает, когда вам нужна позиция предмета в диапазоне вместо сам предмет.

Вот полный пример, если вы ищете слово «ключ» в диапазоне ячеек:

=IF(ISERROR(MATCH("key",A5:A16,FALSE)),"missing","found")

FALSE необходим для принудительного точного совпадения, в противном случае он будет искать ближайшее значение.

1 голос
/ 22 марта 2013

Вы можете использовать:

=IF(ISERROR(VLOOKUP(lookup value,table array,column no,FALSE)),"FALSE","TRUE")
1 голос
/ 19 мая 2010

Мы всегда использовали

if(iserror(vlookup,"n/a",vlookup))

В Excel 2007 появился IfError, который позволяет вам делать vlookup и добавлять вывод в случае ошибки, но это не поможет вам с 2003 ...

0 голосов
/ 11 сентября 2015

ISNA - лучшая функция для использования. Я только что сделал. Я хотел, чтобы все ячейки, значения которых НЕ были в массиве, условно форматировали до определенного цвета.

= ЕНД (ВПР ($ A2, Лист1 $ A: $ D, 2, FALSE))

...