1

У меня есть лист с неожиданными результатами VLOOKUP , и я пытаюсь сузить проблему. Я столкнулся с вопросом, на который я не могу ответить в поисках решения.

Подумайте: у меня есть поле поиска, которое содержит список стран. Если одна из записей в списке Great Britain делает VLOOKUP анализировать всю строку в ячейке? или только первое слово?

Рассмотрим подробнее: если у меня в ячейке есть United States , и я сравниваю это значение со своим набором VLOOKUP , что произойдет, когда я столкнусь с United Arab Emirates? Поиск останавливается, потому что он соответствует United? или это продолжается, потому что он пытается сопоставить строку United States с поисковой стоимостью United States?

Лучше ли заключать термины поиска, содержащие пробелы в одинарные или двойные кавычки, или даже проводить сравнение на основе значений ячеек с пробелами, удаленными из них?

2 ответа2

5

VLOOKUP есть 2 режима соответствия - точный и приблизительный. У них есть много деталей, в значительной степени перечисленных в источнике: Справка VLOOKUP. Тем не менее, 2 qoutes весьма актуальны для вопроса:

При поиске текстовых значений в первом столбце table_array убедитесь, что данные в первом столбце table_array не имеют начальных пробелов, конечных пробелов, непоследовательного использования прямых ('или ") и фигурных (' или“) кавычек или непечатные символы. В этих случаях VLOOKUP может дать неверное или неожиданное значение.

И еще один:

Если range_lookup - ЛОЖЬ, а lookup_value - текст, тогда вы можете использовать символы подстановки, знак вопроса (?) и звездочка (*) в lookup_value. Знак вопроса соответствует любому отдельному символу; звездочка соответствует любой последовательности символов. Если вы хотите найти действительный знак вопроса или звездочку, введите тильду (~) перед символом.

Поэтому, в зависимости от ваших потребностей, просто укажите нужные параметры и используйте подстановочные знаки, как описано. Надеюсь, это было полезно!

0

Похоже, вы просто забыли FALSE (или 0 для короткой версии) в качестве 4-го параметра VLOOKUP . Это установит режим точного соответствия, т.е. он проверит каждую запись в вашем первом столбце на полное совпадение.

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

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