Как использовать xlookup в vba (с примерами)


Вы можете использовать следующий базовый синтаксис для выполнения XLOOKUP с помощью VBA:

 Sub Xlookup()
    Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub

В этом конкретном примере выполняется поиск значения в ячейке E2 в диапазоне A2:A11 и находит соответствующее значение в диапазоне C2:C11 , а затем присваивается результат ячейке F2 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как использовать XLOOKUP в VBA

Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:

Допустим, мы хотим найти в наборе данных название команды «Короли» и вернуть соответствующее значение в столбце передач.

Для этого мы можем создать следующий макрос:

 Sub Xlookup()
    Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Макрос правильно возвращает значение 3 передачи для королей.

Если мы изменим имя команды в ячейке E2 , а затем снова запустим макрос, он правильно найдет вспомогательное значение для нового имени команды.

Например, предположим, что мы меняем название команды на «Воины» и снова запускаем макрос:

Макрос корректно возвращает значение 4 передачи для «Уорриорз».

Обратите внимание, что вы также можете добавить необязательный четвертый аргумент в функцию Xlookup , чтобы указать значение, которое должно отображаться, если совпадение не найдено.

Например, вы можете использовать следующий макрос для запуска функции XLOOKUP и возврата «Нет», если совпадение не найдено:

 Sub Xlookup()
    Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "), "None")
End Sub

Не стесняйтесь заменять «Нет» любым значением, которое вы хотите отобразить.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как использовать сопоставление индексов
VBA: как использовать ВПР
VBA: как использовать VLOOKUP с другого листа

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *