Поделиться через


Метод WorksheetFunction.VLookup (Excel)

Выполняет поиск значения в первом столбце массива таблиц и возвращает значение в той же строке из другого столбца в массиве таблиц.

Синтаксис

expression. VLookup (Arg1, Arg2, Arg3, Arg4)

Выражение Переменная, представляющая объект WorksheetFunction .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Arg1 Обязательный Variant Lookup_value — значение для поиска в первом столбце массива таблицы. Lookup_value может быть значением или ссылкой. Если lookup_value меньше наименьшего значения в первом столбце table_array, функция VLookup возвращает значение ошибки #N/A.
Arg2 Обязательный Variant Table_array — два или более столбцов данных. Используйте ссылку на диапазон или имя диапазона. Значения в первом столбце table_array — это значения, искомые lookup_value. Эти значения могут быть текстом, числами или логическими значениями. Текст в верхнем и нижнем регистрах эквивалентен.
Arg3 Обязательный Variant Col_index_num — номер столбца в table_array, из которого должно быть возвращено соответствующее значение. col_index_num 1 возвращает значение в первом столбце в table_array; col_index_num 2 возвращает значение во втором столбце в table_array и т. д.
Arg4 Необязательный Variant Range_lookup — логическое значение, указывающее, требуется ли метод VLookup найти точное или приблизительное совпадение.

Возвращаемое значение

Variant

Примечания

V в VLookup расшифровывается как вертикальный. Используйте метод VLookup вместо метода HLookup , если значения сравнения находятся в столбце слева от нужных данных.

Если Col_index_num меньше 1, метод VLookup создает ошибку.

Если Col_index_num больше, чем количество столбцов в table_array, метод VLookup выдает ошибку.

Если Range_lookup имеет значение True или опущено, возвращается точное или приблизительное совпадение. Если точное совпадение не найдено, возвращается следующее наибольшее значение, которое меньше lookup_value. Значения в первом столбце table_array должны быть помещены в порядке сортировки по возрастанию; В противном случае метод VLookup может дать неправильное значение.

Если Range_lookup имеет значение False, метод VLookup найдет только точное совпадение. В этом случае значения в первом столбце table_array не нужно сортировать. Если в первом столбце table_array есть два или более значений, соответствующих lookup_value, используется первое найденное значение. Если точное совпадение не найдено, возникает ошибка.

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

При поиске значений числа или даты убедитесь, что данные в первом столбце table_array не хранятся в виде текстовых значений. В этом случае метод VLookup может дать неверное или непредвиденное значение.

Если range_lookup имеет значение False , а lookup_value — текст, в lookup_value можно использовать подстановочные знаки, вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому одному символу; звездочка соответствует любой последовательности символов. Если вы хотите найти фактический вопросительный знак или звездочку, введите тильду (~) перед символом.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.