Согласно этому и моему собственному тестированию, использование VLOOKUP можно сравнить с определенным значением внутри IF.

Например: = IF(VLOOKUP(...) = 20, [then value], [else value]) работает.

Но если я сравниваю результат VLOOKUP со значением в определенной ячейке, он не возвращает значение:

IF(VLOOKUP(...) = E$1, [then value], [else value])

Похоже, если IF не оценивает сравнение, а только VLOOKUP. Добавление скобок не помогает:

IF((VLOOKUP(...) = E$1), [then value], [else value]) тоже не работает.

В первом примере я сравниваю VLOOKUP с 20. Во втором примере я хочу сравнить его со значением в E1. (E1 имеет статическое значение, но я хочу использовать формулу в матрице, где каждое поле сравнивает результат VLOOKUP с заголовком столбца и возвращает другое значение, если они совпадают или нет.)

Как я мог заставить это работать?

Изменить: я перепутал значения, с которыми я сравниваю результат VLOOKUP. Формула действительно работает; Вы просто должны использовать правильные клетки.

3 ответа3

2

Если вы не устанавливаете в vlookup значение Range_lookup, т. Е. False, то первый столбец в массиве Table нужно будет отсортировать по возрастанию в алфавитном или числовом порядке.

0

Если вы используете не только цифры, вам необходимо заключить строки в кавычки

=IF(VLOOKUP("a",F1:G2,2,FALSE)=6,"yay","nay") или =IF(VLOOKUP(B1,F1:G2,2,FALSE)=A1,"yay","nay")

0

VLOOKUP возвращает значение,

IF (VLOOKUP returned value = "Something" , [TRUE? Then This Value] , [FALSE? Then This Value] )

Поэтому вам нужно сравнить возвращаемое значение Vlookup с другим значением. Если ваш Vlookup просто возвращает слово True of False, вам не нужно сравнивать его ни с чем, поскольку Vlookup предоставляет необходимый логический тест.

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