Оглавление
Сегодня мы рассмотрим, как использовать VLOOKUP в Excel на многочисленных подробных пошаговых примерах. Вы узнаете, как выполнять VLOOKUP с другого листа и из другой рабочей книги, искать с помощью подстановочных знаков и многое другое.
Эта статья начинает цикл статей о VLOOKUP, одной из самых полезных функций Excel и в то же время одной из самых сложных и наименее понятных. Мы постараемся объяснить основы на очень простом языке, чтобы максимально упростить процесс обучения для неопытного пользователя. Мы также приведем примеры формул, которые охватывают наиболее типичные случаи использования VLOOKUP в Excel, а также постараемся сделать так, чтобыони одновременно информативные и веселые.
Функция Excel VLOOKUP
Что такое VLOOKUP? Для начала, это функция Excel :) Что она делает? Она ищет указанное вами значение и возвращает соответствующее значение из другого столбца. Более технически, функция VLOOKUP ищет значение в первом столбце заданного диапазона и возвращает значение в той же строке из другого столбца.
При обычном использовании Excel VLOOKUP выполняет поиск в вашем наборе данных на основе уникального идентификатора и приносит вам часть информации, связанную с этим уникальным идентификатором.
Буква "V" означает "вертикальный" и используется для отличия VLOOKUP от функции HLOOKUP, которая ищет значение в строке, а не в столбце (H означает "горизонтальный").
Функция доступна во всех версиях Excel 365 до Excel 2007.
Совет. В Excel 365 и Excel 2021 можно использовать функцию XLOOKUP, которая является более гибким и мощным преемником VLOOKUP.
Синтаксис VLOOKUP
Синтаксис функции VLOOKUP следующий:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])Где:
- Поиск_значения (требуется) - значение для поиска.
Это может быть значение (число, дата или текст), ссылка на ячейку (ссылка на ячейку, содержащую значение поиска) или значение, возвращаемое какой-либо другой функцией. В отличие от чисел и ссылок на ячейки, текстовые значения всегда должны быть заключены в "двойные кавычки".
- Массив_таблиц (обязательно) - это диапазон ячеек, в которых следует искать значение для поиска и из которых следует получить совпадение. Функция VLOOKUP всегда ищет в первом столбце массива таблицы , который может содержать различные текстовые значения, числа, даты и логические значения.
- Col_index_num (требуется) - номер столбца, из которого возвращается значение. Отсчет начинается с самого левого столбца в массиве таблицы, который равен 1.
- Range_lookup (необязательно) - определяет, следует ли искать приблизительное или точное совпадение:
- TRUE или опущено (по умолчанию) - приблизительное соответствие. Если точное соответствие не найдено, формула ищет наибольшее значение, которое меньше значения поиска. Требуется сортировка столбца поиска в порядке возрастания.
- FALSE - точное совпадение. Формула ищет значение, точно равное искомому значению. Если точное совпадение не найдено, возвращается значение #N/A.
Основная формула VLOOKUP
Здесь приведен пример формулы Excel VLOOKUP в ее простейшей форме. Пожалуйста, посмотрите на приведенную ниже формулу и попробуйте "перевести" ее на английский язык:
=VLOOKUP("lion", A2:B11, 2, FALSE)
- 1-й аргумент ( lookup_value ) явно указывает на то, что формула ищет слово "лев".
- 2-й аргумент ( массив_таблиц ) является A2:B11. Помня о том, что поиск осуществляется в крайнем левом столбце, вы можете прочитать приведенную выше формулу немного дальше: поиск "льва" в диапазоне A2:A11. Пока все хорошо, верно?
- 3-й аргумент col_index_num означает, что мы хотим вернуть совпадающее значение из столбца B, который является вторым в массиве таблицы.
- 4-й аргумент range_lookup равно FALSE, что указывает на то, что мы ищем точное совпадение.
При наличии всех аргументов у вас не должно возникнуть проблем с чтением всей формулы: ищем "лев" в A2:A11, находим точное совпадение и возвращаем значение из столбца B в той же строке.
Для удобства вы можете ввести интересующее вас значение в некоторую ячейку, скажем, E1, заменить "жестко закодированный" текст ссылкой на ячейку и заставить формулу искать любое значение, введенное вами в E1:
=VLOOKUP(E1, A2:B11, 2, FALSE)
Осталось ли что-то непонятным? Тогда попробуйте взглянуть на это с другой стороны:
Как сделать Vlookup в Excel
При использовании формул VLOOKUP в реальных рабочих листах главное правило заключается в следующем: массив таблицы блокировки с абсолютными ссылками на ячейки (например, $A$2:$C$11), чтобы предотвратить ее изменение при копировании формулы в другие ячейки.
Сайт значение поиска в большинстве случаев должна быть относительной ссылкой (например, E2) или вы можете зафиксировать только координату столбца ($E2). Когда формула будет копироваться вниз по столбцу, ссылка будет автоматически корректироваться для каждой строки.
Чтобы увидеть, как это работает на практике, рассмотрим следующий пример. К нашей таблице-образцу мы добавили еще один столбец, который ранжирует животных по скорости (столбец A), и хотим найти 1-го, 5-го и 10-го самого быстрого спринтера в мире. Для этого введите ранги поиска в некоторые ячейки (E2:E4 на скриншоте ниже) и используйте следующие формулы:
Чтобы вытащить названия животных из колонки B:
=VLOOKUP($E2, $A$2:$C$11, 2, FALSE)
Чтобы извлечь скорость из столбца C:
=VLOOKUP($E2, $A$2:$C$11, 3, FALSE)
Введите приведенные выше формулы в ячейки F2 и G2, выделите эти ячейки и перетащите формулы в нижележащие строки:
Если вы исследуете формулу в нижней строке, вы заметите, что ссылка на значение поиска была скорректирована для этой конкретной строки, в то время как массив таблицы остался неизменным:
Ниже приведены еще несколько полезных советов, которые помогут вам сэкономить много головной боли и времени на устранение неполадок.
Excel VLOOKUP - 5 вещей, которые нужно помнить!
- Функция VLOOKUP не может смотреть на свою левую сторону Он всегда ищет в крайняя левая колонка массива таблицы и возвращает значение из столбца справа. Если вам нужно вытащить значения слева, используйте комбинацию INDEX MATCH (или INDEX XMATCH в Excel 365), которая может не заботиться о расположении столбцов поиска и возврата.
- Функция VLOOKUP не чувствительна к регистру символов Чтобы различать регистр букв, используйте формулы VLOOKUP с учетом регистра.
- Помните о важности последнего параметра. Используйте TRUE для приблизительного соответствия и FALSE для точного соответствия. Для получения подробной информации, пожалуйста, смотрите раздел VLOOKUP TRUE vs. FALSE.
- При поиске приблизительного совпадения убедитесь, что данные в колонке поиска отсортированы в порядке возрастания.
- Если значение поиска не найдено, возвращается ошибка #N/A. Информацию о других ошибках см. в разделе Почему не работает Excel VLOOKUP.
Примеры Excel VLOOKUP
Надеюсь, вертикальный поиск стал казаться вам более знакомым. Чтобы укрепить ваши знания, давайте построим еще несколько формул VLOOKUP.
Как выполнить Vlookup из другого листа в Excel
На практике функция Excel VLOOKUP редко используется с данными на одном рабочем листе. Чаще всего вам приходится извлекать совпадающие данные из другого рабочего листа.
Чтобы выполнить Vlookup с другого листа Excel, поместите имя рабочего листа, за которым следует восклицательный знак, в поле массив_таблиц Например, для поиска в диапазоне A2:B10 на Листе2 используйте эту формулу:
=VLOOKUP("Product1", Sheet2!A2:B10, 2)
Конечно, вам не нужно вводить имя листа вручную. Просто начните вводить формулу и, когда дойдет до массив_таблиц аргумент, переключитесь на рабочий лист поиска и выделите диапазон с помощью мыши.
Например, вот как можно найти значение A2 в диапазоне A2:A9 на экране Цены рабочего листа и вернуть совпадающее значение из столбца C:
=VLOOKUP(A2, Prices!$A$2:$C$9, 3, FALSE)
Примечания:
- Если имя электронной таблицы содержит пробелы или неалфавитные символы , он должен быть заключен в одинарные кавычки, например, 'Прайс-лист'!$A$2:$C$9.
- Если вы используете формулу VLOOKUP для нескольких ячеек, не забудьте блокировка таблицы_массива со знаком $, например, $A$2:$C$9.
Как выполнить Vlookup из другой рабочей книги в Excel
Чтобы выполнить Vlookup из другой рабочей книги Excel, поместите имя рабочей книги, заключенное в квадратные скобки, перед именем рабочего листа.
Например, вот формула для поиска значения A2 на листе с именем Цены в Прайс_лист.xlsx рабочая тетрадь:
=VLOOKUP(A2, [Price_List.xlsx]Prices!$A$2:$C$9, 3, FALSE)
Если имя рабочей книги или имя рабочего листа содержит пробелы или неалфавитные символы, их следует заключить в одинарные кавычки, как показано ниже:
=VLOOKUP(A2, '[Прайс-лист.xlsx]Цены'!$A$2:$C$9, 3, FALSE)
Самый простой способ создать формулу VLOOKUP, которая ссылается на другую рабочую книгу, заключается в следующем:
- Откройте оба файла.
- Начните вводить свою формулу, переключитесь на другую рабочую книгу и выделите массив таблиц с помощью мыши.
- Введите оставшиеся аргументы и нажмите клавишу Enter, чтобы завершить формулу.
Результат будет выглядеть примерно так, как показано на скриншоте ниже:
Как только вы закрыть файл с таблицей поиска, формула VLOOKUP продолжит работать, но теперь она будет отображать полный путь к закрытой рабочей книге:
Дополнительную информацию см. в разделе Как сослаться на другой лист или рабочую книгу Excel.
Как выполнить Vlookup из именованного диапазона в другом листе
Если вы планируете использовать один и тот же диапазон поиска во многих формулах, вы можете создать для него именованный диапазон и ввести имя непосредственно в формуле массив_таблиц аргумент.
Чтобы создать именованный диапазон, просто выделите ячейки и введите нужное имя в поле Имя поле слева от строки Формулы. Подробные шаги см. в разделе Как присвоить имя диапазону в Excel.
Для этого примера мы дали имя Цены_2020 в ячейки данных (A2:C9) в листе поиска и получите компактную формулу:
=VLOOKUP(A2, Prices_2020, 3, FALSE)
Большинство имен в Excel относятся к вся рабочая тетрадь поэтому при использовании именованных диапазонов не нужно указывать имя рабочего листа.
Если названный диапазон находится в другая тетрадь Перед именем диапазона поставьте имя рабочей книги, например:
=VLOOKUP(A2, 'Price List.xlsx'!Prices_2020, 3, FALSE)
Такие формулы гораздо более понятны, не так ли? Кроме того, использование именованных диапазонов может быть хорошей альтернативой абсолютным ссылкам. Поскольку именованный диапазон не изменяется, вы можете быть уверены, что массив вашей таблицы останется заблокированным независимо от того, куда перемещается или копируется формула.
Если вы преобразовали диапазон поиска в полнофункциональную таблицу Excel, то можно выполнить Vlookup на основе имени таблицы, например. Таблица_цен в приведенной ниже формуле:
=VLOOKUP(A2, Price_table, 3, FALSE)
Ссылки на таблицы, также называемые структурированными ссылками, устойчивы и невосприимчивы ко многим манипуляциям с данными. Например, вы можете удалять или добавлять новые строки в таблицу поиска, не беспокоясь об обновлении ссылок.
Использование подстановочных знаков в формуле VLOOKUP
Как и многие другие формулы, функция Excel VLOOKUP принимает следующие символы подстановки:
- Знак вопроса (?) для соответствия любому одиночному символу.
- Звездочка (*) для соответствия любой последовательности символов.
Дикие символы оказываются действительно полезными во многих ситуациях:
- Когда вы не помните точный текст, который вы ищете.
- Когда вы ищете текстовую строку, которая является частью содержимого ячейки.
- Если столбец поиска содержит ведущие или последующие пробелы. В этом случае вы можете ломать голову, пытаясь понять, почему обычная формула не работает.
Пример 1. Поиск текста, начинающегося или заканчивающегося определенными символами
Предположим, вы хотите найти определенного клиента в нижеприведенной базе данных. Вы не помните его фамилию, но уверены, что она начинается на "ack".
Чтобы вернуть фамилию из столбца A, используйте следующую формулу Vlookup со знаком подстановки:
=VLOOKUP("ack*", $A$2:$B$10, 1, FALSE)
Чтобы получить лицензионный ключ из столбца B, используйте этот (разница только в номере индекса столбца):
=VLOOKUP("ack*", $A$2:$B$10, 2, FALSE)
Вы также можете ввести известную часть имени в какую-либо ячейку, например E1, и объединить символ подстановки со ссылкой на ячейку:
=VLOOKUP(E1& "*", $A$2:$B$10, 1, FALSE)
На приведенном ниже снимке экрана показаны результаты:
Ниже приведены еще несколько формул VLOOKUP с подстановочными знаками.
Найдите фамилию, заканчивающуюся на "сын":
=VLOOKUP("*son", $A$2:$B$10, 1, FALSE)
Возьмите имя, которое начинается на "джо" и заканчивается на "сын":
=VLOOKUP("joh*son", $A$2:$B$10, 1, FALSE)
Выберите фамилию из 5 символов:
=VLOOKUP("?????", $A$2:$B$10, 1, FALSE)
Пример 2. Подстановочный знак VLOOKUP на основе значения ячейки
Из предыдущего примера вы уже знаете, что можно объединить амперсанд (&) и ссылку на ячейку для создания строки поиска. Чтобы найти значение, содержащее заданный символ (символы) в любой позиции, поставьте амперсанд до и после ссылки на ячейку.
Допустим, вы хотите получить имя, соответствующее определенному лицензионному ключу, но вы не знаете весь ключ, а только несколько символов. Имея ключи в столбце A, имена в столбце B и часть целевого ключа в E1, вы можете сделать Vlookup с подстановочным знаком таким образом:
Извлеките ключ:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 1, FALSE)
Извлеките имя:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 2, FALSE)
Примечания:
- Чтобы формула VLOOKUP с подстановочным знаком работала правильно, используйте точное соответствие (FALSE - последний аргумент).
- Если найдено более одного совпадения, возвращается первое из них .
VLOOKUP TRUE vs FALSE
А теперь настало время рассмотреть последний аргумент функции Excel VLOOKUP. Хотя он и необязателен, параметр range_lookup В зависимости от выбора TRUE или FALSE ваша формула может дать разные результаты.
Точное соответствие Excel VLOOKUP (FALSE)
Если range_lookup установлено значение FALSE, формула Vlookup ищет значение, которое точно равно значению поиска. Если найдено два или более совпадений, возвращается первое из них. Если точное совпадение не найдено, возникает ошибка #N/A.
Excel VLOOKUP приблизительное соответствие (TRUE)
Если range_lookup если установлено значение TRUE или опущено (по умолчанию), формула ищет ближайшее совпадение. Точнее, сначала ищется точное совпадение, а если точное совпадение не найдено, то ищется следующее наибольшее значение, которое меньше значения поиска.
Приблизительное соответствие Vlookup работает со следующими оговорками:
- Колонка поиска должна быть отсортирована в порядок возрастания от наименьшего к наибольшему, иначе правильное значение может быть не найдено.
- Если значение поиска меньше, чем наименьшее значение в массиве поиска, возвращается ошибка #N/A.
Следующие примеры помогут вам лучше понять разницу между точным и приблизительным совпадением Vlookup, а также то, когда лучше всего использовать каждую формулу.
Пример 1. Как выполнить Vlookup с точным соответствием
Чтобы найти точное совпадение, просто поставьте FALSE в последнем аргументе.
Для этого примера возьмем таблицу скорости животных, поменяем местами столбцы и попытаемся найти животных, которые могут бежать со скоростью 80, 50 и 30 миль в час. С помощью значений поиска в D2, D3 и D4 введите приведенную ниже формулу в E2, а затем скопируйте ее в две другие ячейки:
=VLOOKUP(D2, $A$2:$B$12, 2, FALSE)
Как видите, формула возвращает "Lion" в E3, потому что они выполняют ровно 50 операций в час. Для двух других значений поиска точное соответствие не найдено, и появляются ошибки #N/A.
Пример 2. Как с помощью Vlookup найти приблизительное соответствие
Чтобы найти приблизительное совпадение, необходимо сделать две важные вещи:
- Отсортируйте первый столбец массив_таблиц от самого маленького до самого большого.
- Используйте TRUE для range_lookup аргумент или опустить его.
Сортировка столбца поиска очень важна, поскольку функция VLOOKUP прекращает поиск, как только находит близкое соответствие, меньшее, чем значение поиска. Если данные отсортированы неправильно, вы можете получить очень странные результаты или кучу ошибок #N/A.
Для данных нашего примера примерная формула Vlookup для сопоставления выглядит следующим образом:
=VLOOKUP(D2, $A$2:$B$12, 2, TRUE)
И возвращает следующие результаты:
- Для поискового значения "80" возвращается "Гепард", потому что его скорость (70) является ближайшим совпадением, которое меньше поискового значения.
- Для значения поиска "50" возвращается точное совпадение (Lion).
- Для значения поиска "30" возвращается ошибка #N/A, поскольку значение поиска меньше наименьшего значения в столбце поиска.
Специальные инструменты для Vlookup в Excel
Несомненно, VLOOKUP - одна из самых мощных и полезных функций Excel, но и одна из самых запутанных. Чтобы сделать кривую обучения менее крутой, а опыт более приятным, мы включили в наш Ultimate Suite для Excel несколько инструментов, экономящих время.
Мастер VLOOKUP - простой способ написания сложных формул
Интерактивный мастер VLOOKUP Wizard проведет вас через параметры конфигурации, чтобы построить идеальную формулу для заданных вами критериев. В зависимости от структуры ваших данных, он будет использовать стандартную функцию VLOOKUP или формулу INDEX MATCH, которая может извлекать значения слева.
Чтобы получить свою индивидуальную формулу, вот что вам нужно сделать:
- Запустите мастер VLOOKUP.
- Выберите основную таблицу и таблицу поиска.
- Укажите следующие столбцы (во многих случаях они выбираются автоматически):
- Ключевая колонка - столбец вашей основной таблицы, содержащий значения для поиска.
- Колонка поиска - колонну, на которую можно смотреть.
- Колонка возврата - столбец, из которого нужно получить значения.
- Нажмите кнопку Вставка кнопка.
В следующих примерах показан мастер в действии.
Стандартный Vlookup
Когда колонка поиска ( Животное ) является самым левым столбцом в таблице поиска, вставляется обычная формула VLOOKUP для точного соответствия:
Vlookup слева
Когда колонка поиска ( Животное ) находится справа от колонны возврата ( Скорость ), мастер вставляет формулу INDEX MATCH для Vlookup справа налево:
Дополнительный бонус! Благодаря продуманному использованию ссылок на ячейки, формулы можно копировать или перемещать в любой столбец без необходимости обновления ссылок.
Слияние двух таблиц - альтернатива Excel VLOOKUP без формул
Если ваши файлы Excel чрезвычайно велики и сложны, сроки сдачи проекта приближаются, и вы ищете человека, который мог бы протянуть вам руку помощи, попробуйте воспользоваться Мастером слияния таблиц.
Этот инструмент - наша визуальная и не напрягающая альтернатива функции VLOOKUP в Excel, которая работает следующим образом:
- Выберите свой главный стол.
- Выберите таблицу поиска.
- Выберите одну или несколько общих колонок в качестве уникального идентификатора (идентификаторов).
- Укажите, какие столбцы следует обновить.
- По желанию выберите столбцы для добавления.
- Дайте мастеру слияния таблиц несколько секунд на обработку... и наслаждайтесь результатами :)
Вот как использовать VLOOKUP в Excel на базовом уровне. В следующей части нашего руководства мы рассмотрим примеры расширенного VLOOKUP, из которых вы узнаете, как использовать VLOOKUP по нескольким критериям, возвращать все совпадения или N-ое вхождение, выполнять двойной VLOOKUP, искать на нескольких листах с помощью одной формулы и т.д. Я благодарю вас за чтение и надеюсь увидеть вас на следующей неделе!
Доступные загрузки
Примеры формул Excel VLOOKUP (файл.xlsx)
Ultimate Suite 14-дневная полнофункциональная версия (файл .exe)