Метод 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 и обратная связь.