Я уверен, что есть лучший способ сделать это, но мой метод предполагает небольшой взлом с NOT
, ISERROR
и VLOOKUP
.
Для проверки значения в B2 по списку в столбце A используйте следующее:
=NOT(ISERROR(VLOOKUP(B2,A:A,1,FALSE)))
Шаг за шагом:
- VLOOKUP проверяет значение по столбцу данных и возвращает данные из выбранной ячейки в той же строке, где было найдено значение поиска.
- B2 - это значение поиска, которое мы даем VLOOKUP.
- A:A - это диапазон, в котором мы хотим видеть VLOOKUP. Вы можете использовать многостолбцовые диапазоны, если хотите извлечь данные из другого столбца, но VLOOKUP будет искать только искомое значение в первом (крайнем левом) столбце диапазона.
- 1 - это столбец, из которого мы просим VLOOKUP извлечь данные. Это требуется VLOOKUP, но на самом деле это не имеет отношения к нам, поскольку мы на самом деле не используем данные. Это можно использовать для извлечения данных из других столбцов в совпадающей строке, если они находятся в диапазоне, указанном в предыдущем аргументе. VLOOKUP считает столбцы, начинающиеся с 1, как крайний левый столбец в диапазоне.
- FALSE указывает параметр для VLOOKUP, который говорит, что мы хотим точное совпадение. В противном случае, он может вернуть неточные результаты для наших нужд здесь.
- ISERROR возвращает логическое значение ИСТИНА или ЛОЖЬ, чтобы указать, привела ли ошибка к обработке вложенной формулы. Таким образом, мы на самом деле не используем VLOOKUP для получения каких-либо данных - он просто используется, чтобы посмотреть, можно ли его запустить без ошибок с заданными значениями.
- НЕ инвертирует логическое значение, предоставленное вложенной формулой.
VLOOKUP попытается найти значение B2 в столбце A. Если у него есть проблема (если ваша формула и данные верны, это должно произойти только тогда, когда B2 не существует в A:A), он выдаст ошибку. Это сделает результат IFERROR ИСТИНОЙ. Тем не менее, поскольку наш вопрос «есть ли ценность?"вместо" не существует ли значение?»., Мы используем НЕ переключить его на FALSE Simlarly, если есть не обработка ошибок ВПР, ISERROR возвратит FALSE , которое будет изменено на значение TRUE (то есть:„ Нет ошибки, значение не было найдено“) на НЕ.
Обратите внимание, что приведенная выше формула вернет логическое значение ИСТИНА / ЛОЖЬ, а не запрашиваемые значения "Найдено" / "Не найдено". Я делаю это потому, что с логическим выводом легче работать, если необходима дальнейшая обработка информации. Для простого примера сравните =IF(B2,"I found it!","No luck, Chuck!")
to =IF(B2="Found","I found it!","No luck, Chuck!")
Если вы действительно хотите, чтобы выходные данные были "Найдено" / "Не найдено", используйте этот вариант:
=IF(ISERROR(VLOOKUP(B2,A:A,1,FALSE)),"Not Found","Found")
Так как мы указываем здесь наши собственные выходные термины, нам не нужно использовать NOT, чтобы связываться с выводом ISERROR, но мы должны помнить, что TRUE для ISERROR означает, что значение не было найдено, поэтому мы ставим «Не Найдено "для значения_if_true" и "Найдено" для значения_if_false.
Вот скриншот обоих методов в действии. Первая формула в этом ответе была использована для столбца C, вторая - в столбце D.