20+ примеров использования VLOOKUP для начинающих и продвинутых пользователей Excel
Функция VLOOKUP — одна из самых востребованных в Excel. В этом руководстве вы узнаете, как применять VLOOKUP в Excel на практике: пошагово рассмотрим десятки базовых и продвинутых примеров.
Содержание:
1. Введение в функцию VLOOKUP — синтаксис и аргументы
2. Базовые примеры использования VLOOKUP
- 2.1 Точное и приблизительное совпадение в VLOOKUP
- 2.2 VLOOKUP с учетом регистра
- 2.3 VLOOKUP справа налево
- 2.4 VLOOKUP для второго, n-го или последнего совпадения
- 2.5 VLOOKUP между двумя значениями или датами
- 2.6 Использование подстановочных знаков для частичного совпадения в VLOOKUP
- 2.7 VLOOKUP значений с другого листа
- 2.8 VLOOKUP значений из другой книги
- 2.9 VLOOKUP с возвратом пустой ячейки или заданного текста вместо0 или ошибки #N/A
3. Продвинутые примеры использования VLOOKUP
- 3.1 Двусторонний поиск с помощью VLOOKUP (поиск по строке и столбцу)
- 3.2 VLOOKUP по двум и более критериям
- 3.3 VLOOKUP с возвратом нескольких совпадающих значений по одному или нескольким условиям
- 3.4 VLOOKUP с возвратом всей строки совпавшей ячейки
- 3.5 Множественный (вложенный) VLOOKUP в Excel
- 3.6 VLOOKUP для проверки наличия значения на основе списка в другом столбце
- 3.7 VLOOKUP и суммирование всех совпавших значений в строках или столбцах
- 3.8 VLOOKUP для объединения двух таблиц по одному или нескольким ключевым столбцам
- 3.9 VLOOKUP совпадающих значений на нескольких листах
Скачать примеры файлов VLOOKUP
Базовые примеры VLOOKUP | Продвинутые примеры VLOOKUP | VLOOKUP с сохранением форматирования ячеек
Введение в функцию VLOOKUP — синтаксис и аргументы
В Excel функция VLOOKUP является мощным инструментом для большинства пользователей: она позволяет искать значение в самом левом столбце диапазона данных и возвращать соответствующее значение из указанного вами столбца в той же строке, как показано на скриншоте ниже.
Синтаксис функции VLOOKUP:
Аргументы:
"Lookup_value" (обязательный): Значение, которое вы хотите найти. Это может быть число, дата, текст или ссылка на ячейку. Оно должно находиться в первом столбце диапазона table_array.
"Table_array" (обязательный): Диапазон данных или таблица, где расположены столбцы с искомым и возвращаемым значением.
"Col_index_num" (обязательный): Номер столбца, из которого будет возвращено значение. Отсчет начинается с1 для самого левого столбца в table_array.
"Range_lookup" (необязательный): Логическое значение, определяющее, будет ли функция VLOOKUP искать точное или приблизительное совпадение.
- "Приблизительное совпадение" –1 / TRUE / не указано (по умолчанию): Если точное совпадение не найдено, формула ищет ближайшее — наибольшее значение, которое меньше искомого.
- "Точное совпадение" –0 / FALSE: Используется для поиска значения, точно равного lookup_value. Если совпадение не найдено, возвращается ошибка #N/A.
Примечания к функции:
- Функция VLOOKUP ищет значение только слева направо.
- Функция VLOOKUP не учитывает регистр символов.
- Если по искомому значению найдено несколько совпадений, функция VLOOKUP вернет только первое из них.
2.1.1 Точное совпадение в VLOOKUP
Обычно, чтобы найти точное совпадение с помощью функции VLOOKUP, в качестве последнего аргумента достаточно указать FALSE.
Например, чтобы получить соответствующие оценки по математике на основе конкретных ID, выполните следующие действия:
Скопируйте и вставьте приведённую ниже формулу в пустую ячейку (например, G2) и нажмите клавишу "Enter", чтобы получить результат:
=VLOOKUP(F2,$A$2:$D$7,3,FALSE)
Примечание: В приведённой выше формуле используются четыре аргумента:
- "F2" — ячейка, содержащая значение C1005, которое вы ищете;
- "A2:D7" — table_array, в котором выполняется поиск;
- "3" — номер столбца, из которого возвращается совпавшее значение; (Как только функция находит ID — C1005, она переходит к третьему столбцу в table_array и возвращает значение из той же строки, что и ID — C1005.)
- "FALSE" означает точное совпадение.
Как работает формула VLOOKUP?
Сначала она ищет ID — C1005 в самом левом столбце таблицы, двигаясь сверху вниз, и находит значение в ячейке A6.
Как только значение найдено, функция переходит вправо к третьему столбцу и извлекает из него значение.
В результате вы получите следующий результат, как показано на скриншоте:
Kutools для Excel имеет более 300 функций, гарантируя, что то, что вам нужно, находится всего в одном клике...
2.1.2 Приблизительное совпадение в VLOOKUP
Приблизительное совпадение полезно для поиска значений между диапазонами данных. Если точное совпадение не найдено, VLOOKUP вернет наибольшее значение, которое меньше искомого.
Например, если у вас есть следующий диапазон данных, а указанные заказы отсутствуют в столбце Orders, как получить ближайшую скидку из столбца B?
Шаг1: Примените формулу VLOOKUP и протяните её в другие ячейки
Скопируйте и вставьте следующую формулу в ячейку, где хотите получить результат, затем протяните маркер заполнения вниз, чтобы применить формулу к другим ячейкам.
=VLOOKUP(D2,$A$2:$B$9,2,TRUE)
Результат:
Теперь вы получите приблизительные совпадения на основе заданных значений, смотрите скриншот:
Примечания:
- В приведённой выше формуле:
- "D2" — значение, для которого нужно вернуть соответствующую информацию;
- "A2:B9" — диапазон данных;
- "2" — номер столбца, из которого возвращается совпавшее значение;
- "TRUE" означает приблизительное совпадение.
- Приблизительное совпадение вернет наибольшее значение, которое меньше вашего искомого значения, если точное совпадение не найдено.
- Чтобы использовать функцию VLOOKUP для поиска приблизительного совпадения, обязательно отсортируйте самый левый столбец диапазона данных по возрастанию, иначе результат будет неверным.
2.2 Как сделать VLOOKUP с учетом регистра в Excel
По умолчанию функция VLOOKUP не различает регистр, то есть воспринимает строчные и прописные буквы одинаково. Иногда требуется выполнить поиск с учетом регистра, но стандартная VLOOKUP не справляется с этой задачей. В таком случае используйте альтернативные функции, например, INDEX и MATCH вместе с EXACT, либо LOOKUP и EXACT.
Например, у меня есть диапазон данных, где столбец ID содержит текст как в верхнем, так и в нижнем регистре. Теперь нужно вернуть соответствующую оценку по математике для заданного ID.
Шаг1: Примените любую из формул и протяните её в другие ячейки
Скопируйте и вставьте одну из приведённых ниже формул в пустую ячейку, где хотите получить результат. Затем выделите ячейку с формулой и протяните маркер заполнения вниз на остальные ячейки.
Формула1: После вставки формулы нажмите клавиши "Ctrl" + "Shift" + "Enter".
=INDEX($C$2:$C$10,MATCH(TRUE,EXACT(F2,$A$2:$A$10),0))
Формула2: После вставки формулы нажмите клавишу "Enter".
=LOOKUP(2,1/EXACT(F2,$A$2:$A$10),$C$2:$C$10)
Результат:
Теперь вы получите нужные результаты. Смотрите скриншот:
Примечания:
- В приведённой выше формуле:
- "A2:A10" — столбец, в котором ищутся конкретные значения;
- "F2" — искомое значение;
- "C2:C10" — столбец, из которого возвращается результат.
- Если найдено несколько совпадений, эта формула всегда возвращает последнее.
2.3 VLOOKUP значений справа налево в Excel
Функция VLOOKUP всегда ищет значение в самом левом столбце диапазона данных и возвращает соответствующее значение из столбца справа. Если вы хотите выполнить обратный поиск — то есть искать значение в правом столбце и возвращать соответствующее из левого, как показано на скриншоте ниже:
Нажмите, чтобы узнать подробные пошаговые инструкции по этой задаче…
2.4 VLOOKUP второго, n-го или последнего совпадения в Excel
Обычно, если при использовании функции VLOOKUP найдено несколько совпадений, возвращается только первая запись. В этом разделе расскажем, как получить второе, n-е или последнее совпадение в диапазоне данных.
2.4.1 VLOOKUP и возврат второго или n-го совпадения
Допустим, у вас есть список имён в столбце A и купленные ими курсы в столбце B. Теперь вы хотите найти второй или n-й курс, приобретённый конкретным клиентом. Смотрите скриншот:
Здесь функция VLOOKUP не решит задачу напрямую. Но вы можете использовать функцию INDEX как альтернативу.
Шаг1: Примените формулу и протяните её в другие ячейки
Например, чтобы получить второе совпадение по заданному критерию, введите следующую формулу в пустую ячейку и одновременно нажмите клавиши "Ctrl" + "Shift" + "Enter" для первого результата. Затем выделите ячейку с формулой и протяните маркер заполнения вниз на остальные ячейки.
=INDEX($B$2:$B$14,SMALL(IF(E2=$A$2:$A$14,ROW($A$2:$A$14)-ROW($A$2)+1),2))
Результат:
Теперь все вторые совпадения по заданным именам отображаются сразу.
Примечание: В приведённой выше формуле:
- "A2:A14" — диапазон всех значений для поиска;
- "B2:B14" — диапазон совпадающих значений, которые нужно вернуть;
- "E2" — искомое значение;
- "2" — это второе совпадение, которое вы хотите получить; чтобы вернуть третье совпадение, просто замените на3.
2.4.2 VLOOKUP и возврат последнего совпадения
Если вы хотите выполнить VLOOKUP и вернуть последнее совпадение, как показано на скриншоте ниже, этот урок VLOOKUP And Return The Last Matching Value поможет вам подробно получить последнее совпадение.
2.5 VLOOKUP совпадающих значений между двумя заданными значениями или датами
Иногда требуется искать значения между двумя числами или датами и возвращать соответствующие результаты, как показано на скриншоте ниже. В таком случае используйте функцию LOOKUP вместо VLOOKUP с отсортированной таблицей.
2.5.1 VLOOKUP совпадающих значений между двумя заданными значениями или датами с помощью формулы
Шаг1: Подготовьте данные и примените следующую формулу
Исходная таблица должна быть отсортированным диапазоном данных. Затем скопируйте или введите приведённую ниже формулу в пустую ячейку. Протяните маркер заполнения, чтобы распространить формулу на остальные нужные ячейки.
=LOOKUP(2,1/($A$2:$A$6<=E2)/($B$2:$B$6>=E2),$C$2:$C$6)
Результат:
Теперь вы получите все совпавшие записи по заданному значению, смотрите скриншот:
Примечания:
- В приведённой выше формуле:
- "A2:A6" — диапазон меньших значений;
- "B2:B6" — диапазон больших чисел;
- "E2" — искомое значение, для которого нужно получить соответствующее значение;
- "C2:C6" — столбец, из которого возвращается соответствующее значение.
- Эта формула также подходит для поиска совпадений между двумя датами, как показано на скриншоте ниже:
2.5.2 VLOOKUP совпадающих значений между двумя заданными значениями или датами с помощью удобной функции
Если вам сложно запомнить и понять приведённую выше формулу, здесь я расскажу об удобном инструменте — "Kutools для Excel". С помощью функции "Поиск данных между двумя значениями" вы легко сможете вернуть соответствующий элемент по конкретному значению или дате между двумя числами или датами.
- Нажмите "Kutools" > "Супер ПОИСК" > "Поиск данных между двумя значениями", чтобы включить эту функцию.
- Затем укажите параметры в диалоговом окне в зависимости от ваших данных.
2.6 Использование подстановочных знаков для частичных совпадений в функции VLOOKUP
В Excel можно использовать подстановочные знаки в функции VLOOKUP, что позволяет выполнять частичный поиск по значению. Например, вы можете использовать VLOOKUP для возврата совпавшего значения из таблицы по части искомого значения.
Допустим, у меня есть диапазон данных, как показано на скриншоте ниже, и теперь я хочу получить оценку по имени (не по полному имени). Как решить эту задачу в Excel?
Шаг1: Примените формулу и протяните её в другие ячейки
Скопируйте или введите следующую формулу в пустую ячейку, затем протяните маркер заполнения, чтобы распространить формулу на остальные нужные ячейки:
=VLOOKUP(E2&"*", $A$2:$C$11, 3, FALSE)
Результат:
Все совпавшие оценки возвращены, как показано на скриншоте ниже:
Примечание: В приведённой выше формуле:
- "E2*" — критерий для частичного совпадения. Это означает, что ищется любое значение, начинающееся с содержимого ячейки E2. (Подстановочный знак "*" означает любой символ или последовательность символов)
- "A2:C11" — диапазон данных, в котором ищется совпавшее значение;
- "3" — возврат совпавшего значения из третьего столбца диапазона;
- "False" — точное совпадение. (При использовании подстановочных знаков последний аргумент функции должен быть FALSE или0 для включения режима точного совпадения в VLOOKUP.)
- Чтобы найти и вернуть совпавшие значения, заканчивающиеся на определённое значение, поставьте подстановочный знак "*" перед значением. Используйте такую формулу:
-
=VLOOKUP("*"&E2, $A$2:$C$11, 3, FALSE)
- Чтобы искать и возвращать совпавшее значение по части текстовой строки, независимо от того, находится ли указанный текст в начале, конце или середине строки, просто заключите ссылку на ячейку или текст в два знака * с обеих сторон. Используйте такую формулу:
-
=VLOOKUP("*"&D2&"*", $A$2:$B$11, 2, FALSE)
2.7 VLOOKUP значений с другого листа
Часто приходится работать с несколькими листами, и функция VLOOKUP позволяет искать данные на другом листе так же, как и на одном.
Например, у вас есть два листа, как показано на скриншоте ниже. Чтобы найти и вернуть соответствующие данные с указанного листа, выполните следующие шаги:
Шаг1: Примените формулу и протяните её в другие ячейки
Введите или скопируйте приведённую ниже формулу в пустую ячейку, где хотите получить совпавшие элементы. Затем протяните маркер заполнения вниз на остальные ячейки, к которым хотите применить формулу.
=VLOOKUP(A2,'Data sheet'!$A$2:$C$15,3,0)
Результат:
Вы получите соответствующие результаты, как требуется, смотрите скриншот:
![]() | ![]() | ![]() |
Примечание: В приведённой выше формуле:
- "A2" — искомое значение;
- "'Data sheet'!A2:C15" — поиск значений в диапазоне A2:C15 на листе с именем Data sheet; (Если имя листа содержит пробелы или знаки препинания, заключайте его в одинарные кавычки, иначе используйте имя напрямую, например:
=VLOOKUP(A2,Datasheet!$A$2:$C$15,3,0) ). - "3" — номер столбца, из которого возвращаются совпавшие данные;
- "0" — точное совпадение.
2.8 VLOOKUP значений из другой книги
В этом разделе расскажем, как искать и возвращать совпавшие значения из другой книги с помощью функции VLOOKUP.
Например, у вас есть две книги. В первой — список товаров и их стоимости. Во второй книге вы хотите получить соответствующую стоимость для каждого товара, как показано на скриншоте ниже.
Шаг1: Примените формулу
Откройте обе книги, затем примените следующую формулу в ячейке, где хотите получить результат во второй книге. Протяните и скопируйте формулу в другие нужные ячейки.
=VLOOKUP(B2,'[Product list.xlsx]Sheet1'!$A$2:$B$6,2,0)
Результат:
Примечания:
- В приведённой выше формуле:
- "B2" — искомое значение;
- "'[Product list.xlsx]Sheet1'!A2:B6" — поиск в диапазоне A2:B6 на листе Sheet1 книги Product list; (Ссылка на книгу указывается в квадратных скобках, а вся книга + лист — в одинарных кавычках.)
- "2" — номер столбца, из которого возвращаются совпавшие данные;
- "0" — возврат точного совпадения.
- Если книга поиска закрыта, в формуле будет указан полный путь к файлу, как показано на скриншоте ниже:
2.9 Возврат пустой ячейки или заданного текста вместо0 или ошибки #N/A
Обычно при использовании функции VLOOKUP для возврата соответствующего значения, если совпавшая ячейка пуста, возвращается0. А если совпадение не найдено, вы получите ошибку #N/A, как показано на скриншоте ниже. Если вы хотите отображать пустую ячейку или определённое значение вместо0 или #N/A, этот урок VLOOKUP To Return Blank Or Specific Value Instead Of0 Or N/A может вам помочь.
3.1 Двусторонний поиск (VLOOKUP по строке и столбцу)
Иногда требуется выполнить двумерный поиск, то есть искать значение одновременно по строке и столбцу. Например, если у вас есть диапазон данных, и нужно получить значение для определённого товара в заданном квартале. В этом разделе приведена формула для решения такой задачи в Excel.
В Excel можно использовать комбинацию функций VLOOKUP и MATCH для выполнения двустороннего поиска.
Введите следующую формулу в пустую ячейку и нажмите клавишу "Enter", чтобы получить результат.
=VLOOKUP(G2, $A$2:$E$7, MATCH(H1, $A$2:$E$2, 0), FALSE)
Примечание: В приведённой выше формуле:
- "G2" — искомое значение в столбце, по которому нужно получить соответствующее значение;
- "A2:E7" — таблица данных, в которой выполняется поиск;
- "H1" — искомое значение в строке, по которому нужно получить соответствующее значение;
- "A2:E2" — ячейки с заголовками столбцов;
- "FALSE" — точное совпадение.
3.2 VLOOKUP по двум и более критериям
Найти совпадение по одному критерию просто, но что делать, если критериев два или больше?
3.2.1 VLOOKUP по двум и более критериям с помощью формул
В этом случае функции LOOKUP или MATCH и INDEX в Excel помогут быстро и просто решить задачу.
Например, у меня есть таблица ниже, чтобы вернуть совпавшую цену по конкретному товару и размеру, используйте одну из следующих формул.
Шаг1: Примените любую из формул ниже
Формула1: Введите формулу и нажмите "Enter".
=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2),($D$2:$D$12))
Формула2: Введите формулу и нажмите "Ctrl" + "Shift" + "Enter".
=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2),0))
Результат:
Примечания:
- В приведённых выше формулах:
- "A2:A12=G1" — поиск критерия G1 в диапазоне A2:A12;
- "B2:B12=G2" — поиск критерия G2 в диапазоне B2:B12;
- "D2:D12" — диапазон, из которого возвращается соответствующее значение.
- Если критериев больше двух, просто добавьте их в формулу, например:
=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2)/($C$2:$C$12=G3),($D$2:$D$12))
=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2)*($C$2:$C$12=G3),0))
3.2.2 VLOOKUP по двум и более критериям с помощью Kutools для Excel
Запоминать сложные формулы, которые нужно применять многократно, бывает непросто, что снижает эффективность работы. Однако "Kutools для Excel" предлагает функцию "Многокритериальный поиск", которая позволяет вернуть соответствующий результат по одному или нескольким условиям всего за несколько кликов.
- Нажмите "Kutools" > "Супер ПОИСК" > "Многокритериальный поиск", чтобы включить эту функцию.
- Затем укажите параметры в диалоговом окне в зависимости от ваших данных.
3.3 VLOOKUP для возврата нескольких значений по одному или нескольким условиям
В Excel функция VLOOKUP ищет значение и возвращает только первое совпадение, если найдено несколько. Иногда нужно вернуть все соответствующие значения в строку, столбец или одну ячейку. В этом разделе расскажем, как вернуть несколько совпавших значений по одному или нескольким условиям в книге.
3.3.1 VLOOKUP всех совпавших значений по одному или нескольким условиям по горизонтали
Допустим, у вас есть таблица с данными о стране, городе и именах в диапазоне A1:C14, и теперь вы хотите вернуть все имена по горизонтали, относящиеся к "US", как показано на скриншоте ниже. Чтобы решить эту задачу, нажмите здесь для пошагового результата.
3.3.2 VLOOKUP всех совпавших значений по одному или нескольким условиям по вертикали
Если нужно выполнить VLOOKUP и вернуть все совпавшие значения по вертикали по определённому критерию, как показано на скриншоте ниже, пожалуйста, нажмите здесь для подробного решения.
3.3.3 VLOOKUP всех совпавших значений по одному или нескольким условиям в одну ячейку
Если вы хотите выполнить VLOOKUP и вернуть несколько совпавших значений в одну ячейку с заданным разделителем, новая функция TEXTJOIN поможет быстро и просто решить эту задачу.
Примечания:
- Функция TEXTJOIN доступна только в Excel2019, Excel365 и более поздних версиях.
- Если вы используете Excel2016 или более ранние версии, воспользуйтесь пользовательской функцией из статьи ниже:
- Vlookup для возврата нескольких значений в одну ячейку в Excel
3.4 VLOOKUP для возврата всей строки совпавшей ячейки
В этом разделе расскажем, как получить всю строку по совпавшему значению с помощью функции VLOOKUP.
Шаг1: Примените следующую формулу
Скопируйте или введите приведённую ниже формулу в пустую ячейку, где хотите вывести результат, и нажмите клавишу "Enter" для первого значения. Затем протяните ячейку с формулой вправо, пока не отобразятся все данные строки.
=VLOOKUP($F$2,$A$1:$D$12,COLUMN(A1),FALSE)
Результат:
Теперь вы видите, что возвращена вся строка данных. Смотрите скриншот:
Примечание: в приведённой выше формуле:
- "F2" — искомое значение, по которому нужно вернуть всю строку;
- "A1:D12" — диапазон данных, в котором ищется значение;
- "A1" — указывает первый столбец в вашем диапазоне данных;
- "FALSE" — точный поиск.
Советы:
- Если найдено несколько строк по совпавшему значению, чтобы вернуть все соответствующие строки, примените приведённую ниже формулу, затем одновременно нажмите клавиши "Ctrl" + "Shift" + "Enter" для первого результата. Затем протяните маркер заполнения вправо. После этого продолжайте тянуть маркер вниз по ячейкам, чтобы получить все совпавшие строки. Смотрите демонстрацию ниже:
=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH($F$2,$A$2:$A$12)),ROW($A$2:$A$12),""),ROW()-1)),"")
3.5 Вложенный VLOOKUP в Excel
Иногда требуется искать значения, связанные между несколькими таблицами. В этом случае можно вложить несколько функций VLOOKUP друг в друга, чтобы получить итоговое значение.
Например, у меня есть лист с двумя отдельными таблицами. В первой таблице перечислены все товары и соответствующие продавцы. Во второй — общий объём продаж каждого продавца. Теперь, если вы хотите узнать продажи по каждому товару, как показано на скриншоте ниже, используйте вложенный VLOOKUP.
Общая формула для вложенного VLOOKUP:
Примечания:
- "lookup_value" — значение, которое вы ищете;
- "Table_array1", "Table_array2" — таблицы, в которых содержатся искомое и возвращаемое значения;
- "col_index_num1" — номер столбца в первой таблице для поиска промежуточных данных;
- "col_index_num2" — номер столбца во второй таблице, из которого возвращается совпавшее значение;
- "0" — используется для точного совпадения.
Шаг1: Примените и протяните следующую формулу
Введите следующую формулу в пустую ячейку, затем протяните маркер заполнения вниз на остальные ячейки, к которым хотите применить формулу.
=VLOOKUP(VLOOKUP(G3,$A$3:$B$7,2,0),$D$3:$E$7,2,0)
Результат:
Теперь вы получите результат, как показано на скриншоте ниже:
Примечания: в приведённой выше формуле:
- "G3" — содержит значение, которое вы ищете;
- "A3:B7", "D3:E7" — диапазоны таблиц, в которых содержатся искомое и возвращаемое значения;
- "2" — номер столбца в диапазоне, из которого возвращается совпавшее значение.
- "0" — точное совпадение VLOOKUP.
3.6 Проверка наличия значения на основе списка данных в другом столбце
Функция VLOOKUP также может помочь проверить, существуют ли значения на основе списка данных в другом столбце. Например, если вы хотите искать имена в столбце C и возвращать Да или Нет в зависимости от того, найдено ли имя в столбце A, как показано на скриншоте ниже.
Шаг1: Примените следующую формулу
Введите следующую формулу в пустую ячейку, затем протяните маркер заполнения вниз на остальные ячейки, к которым хотите применить формулу.
=IF(ISNA(VLOOKUP(C2,$A$2:$A$10,1,FALSE)), "No", "Yes")
Результат:
Вы получите результат, как требуется, смотрите скриншот:
Примечания: в приведённой выше формуле:
- "C2" — искомое значение, которое нужно проверить;
- "A2:A10" — диапазон списка, в котором проверяется наличие искомых значений;
- "FALSE" — точное совпадение.
3.7 VLOOKUP и суммирование всех совпавших значений в строках или столбцах
При работе с числовыми данными может понадобиться извлечь совпавшие значения из таблицы и просуммировать числа в нескольких столбцах или строках. В этом разделе приведены формулы, которые помогут выполнить такую задачу.
3.7.1 VLOOKUP и суммирование всех совпавших значений в строке или нескольких строках
Допустим, у вас есть список товаров с продажами за несколько месяцев, как показано на скриншоте ниже. Теперь нужно просуммировать все заказы за все месяцы по заданным товарам.
Шаг1: Примените следующую формулу
Скопируйте или введите приведённую ниже формулу в пустую ячейку, затем одновременно нажмите клавиши "Ctrl" + "Shift" + "Enter" для первого результата. Затем протяните маркер заполнения вниз, чтобы скопировать формулу в другие нужные ячейки.
=SUM(VLOOKUP(H2, $A$2:$F$9, {2,3,4,5,6}, FALSE))
Результат:
Все значения в строке первого совпавшего значения просуммированы, смотрите скриншот:
Примечания: в приведённой выше формуле:
- "H2" — ячейка с искомым значением;
- "A2:F9" — диапазон данных (без заголовков столбцов), включающий искомое и совпавшие значения;
- "{2,3,4,5,6}" — номера столбцов, используемых для подсчёта суммы диапазона;
- "FALSE" — точное совпадение.
Совет: Если нужно просуммировать все совпадения в нескольких строках, используйте следующую формулу:
-
=SUMPRODUCT(($A$2:$A$9=H2)*$B$2:$F$9)
3.7.2 VLOOKUP и суммирование всех совпавших значений в столбце или нескольких столбцах
Если нужно просуммировать итоговое значение за определённые месяцы, как показано на скриншоте ниже. Обычная функция VLOOKUP не поможет, здесь нужно использовать функции SUM, INDEX и MATCH вместе для создания формулы.
Шаг1: Примените следующую формулу
Введите приведённую ниже формулу в пустую ячейку, затем протяните маркер заполнения вниз, чтобы скопировать формулу в другие ячейки.
=SUM(INDEX($B$2:$F$9,0,MATCH(H2,$B$1:$F$1,0)))
Результат:
Теперь первые совпавшие значения по конкретному месяцу в столбце просуммированы, смотрите скриншот:
Примечания: в приведённой выше формуле:
- "H2" — ячейка с искомым значением;
- "B1:F1" — заголовки столбцов, содержащие искомое значение;
- "B2:F9" — диапазон данных, содержащий числовые значения для суммирования.
Советы: Чтобы выполнить VLOOKUP и суммировать все совпавшие значения в нескольких столбцах, используйте следующую формулу:
-
=SUMPRODUCT($B$2:$F$9*(($B$1:$F$1)=H2))
3.7.3 VLOOKUP и суммирование первого или всех совпавших значений с помощью Kutools для Excel
Возможно, приведённые выше формулы сложно запомнить. В этом случае рекомендую мощную функцию — "Поиск и суммирование" в Kutools для Excel. С её помощью вы сможете выполнять VLOOKUP и суммировать первое или все совпавшие значения в строках или столбцах максимально просто.
- Нажмите "Kutools" > "Супер ПОИСК" > "Поиск и суммирование", чтобы включить эту функцию.
- Затем укажите параметры в диалоговом окне в зависимости от ваших потребностей.
3.7.4 VLOOKUP и суммирование всех совпавших значений одновременно по строкам и столбцам
Если нужно просуммировать значения при совпадении и по столбцу, и по строке, например, чтобы получить итоговое значение товара Sweater за март, как показано на скриншоте ниже.
Здесь можно использовать функцию SUMPRODUCT для выполнения этой задачи.
Введите следующую формулу в ячейку и нажмите клавишу "Enter" для получения результата, смотрите скриншот:
=SUMPRODUCT(($B$2:$F$9)*($B$1:$F$1=I2)*($A$2:$A$9=H2))
Примечания: В приведённой выше формуле:
- "B2:F9" — диапазон данных, содержащий числовые значения для суммирования;
- "B1:F1" — заголовки столбцов, содержащие искомое значение для суммирования;
- "I2" — искомое значение среди заголовков столбцов;
- "A2:A9" — заголовки строк, содержащие искомое значение для суммирования;
- "H2" — искомое значение среди заголовков строк.
3.8 VLOOKUP для объединения двух таблиц по ключевым столбцам
В повседневной работе при анализе данных часто требуется собрать всю необходимую информацию в одну таблицу по одному или нескольким ключевым столбцам. Для этого используйте функции INDEX и MATCH вместо VLOOKUP.
3.8.1 VLOOKUP для объединения двух таблиц по одному ключевому столбцу
Например, у вас есть две таблицы: в первой — данные о товарах и именах, во второй — о товарах и заказах. Теперь вы хотите объединить эти таблицы, сопоставив общий столбец товаров в одну таблицу.
Шаг1: Примените следующую формулу
Введите следующую формулу в пустую ячейку. Затем протяните маркер заполнения вниз на остальные ячейки, к которым хотите применить формулу.
=INDEX($F$2:$F$8, MATCH($A2, $E$2:$E$8, 0))
Результат:
Теперь вы получите объединённую таблицу, в которой столбец заказов добавлен к первой таблице по данным ключевого столбца.
Примечания: В приведённой выше формуле:
- "A2" — искомое значение;
- "F2:F8" — диапазон данных, из которого возвращаются совпавшие значения;
- "E2:E8" — диапазон поиска, содержащий искомое значение.
3.8.2 VLOOKUP для объединения двух таблиц по нескольким ключевым столбцам
Если объединяемые таблицы имеют несколько ключевых столбцов, чтобы объединить их по этим общим столбцам, выполните следующие шаги.
Общая формула:
Примечания:
- "lookup_table" — диапазон данных, содержащий искомые и совпадающие записи;
- "lookup_value1" — первый критерий для поиска;
- "lookup_range1" — список данных, содержащий первый критерий;
- "lookup_value2" — второй критерий для поиска;
- "lookup_range2" — список данных, содержащий второй критерий;
- "return_column_number" — номер столбца в lookup_table, из которого возвращается совпавшее значение.
Шаг1: Примените следующую формулу
Введите формулу ниже в пустую ячейку, где хотите получить результат, затем одновременно нажмите клавиши "Ctrl" + "Shift" + "Enter" для первого совпавшего значения, смотрите скриншот:
=INDEX($E$2:$G$9, MATCH(1, ($A2=$E$2:$E$9) * ($B2=$F$2:$F$9), 0), 3)
Шаг2: Протяните формулу в другие ячейки
Затем выделите первую ячейку с формулой и протяните маркер заполнения на остальные ячейки, как требуется:
3.9 VLOOKUP совпадающих значений на нескольких листах
Вам когда-нибудь приходилось выполнять VLOOKUP на нескольких листах Excel? Например, если у вас есть три листа с диапазонами данных и вы хотите получить определённые значения по критериям с этих листов, следуйте пошаговому руководству VLOOKUP Values Across Multiple Worksheets для выполнения этой задачи.
VLOOKUP с сохранением форматирования ячеек
При поиске совпавших значений исходное форматирование ячеек, такое как цвет шрифта, цвет фона, формат данных и т.д., не сохраняется. Чтобы сохранить форматирование ячейки или данных, в этом разделе приведены советы по решению задачи.
4.1 VLOOKUP совпавшего значения с сохранением цвета ячейки и форматирования шрифта
Как известно, обычная функция VLOOKUP может только вернуть совпавшее значение из другого диапазона данных. Однако бывают случаи, когда нужно получить не только значение, но и форматирование ячейки, например, цвет заливки, цвет шрифта и стиль шрифта. В этом разделе рассмотрим, как вернуть совпавшие значения с сохранением исходного форматирования в Excel.
Выполните следующие шаги, чтобы найти и вернуть соответствующее значение вместе с форматированием ячейки:
Шаг1: Скопируйте код1 в модуль кода листа
- На листе с данными, которые нужно искать через VLOOKUP, щёлкните правой кнопкой мыши по вкладке листа и выберите "Просмотреть код" в контекстном меню. Смотрите скриншот:
- В открывшемся окне "Microsoft Visual Basic for Applications" скопируйте приведённый ниже VBA-код в окно кода.
- VBA-код1: VLOOKUP с получением форматирования ячейки вместе с искомым значением
-
Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice Dim I As Long Dim xKeys As Long Dim xDicStr As String On Error Resume Next Application.ScreenUpdating = False xKeys = UBound(xDic.Keys) If xKeys >= 0 Then For I = 0 To UBound(xDic.Keys) xDicStr = xDic.Items(I) If xDicStr <> "" Then Range(xDic.Keys(I)).Interior.Color = _ Range(xDic.Items(I)).Interior.Color Range(xDic.Keys(I)).Font.FontStyle = _ Range(xDic.Items(I)).Font.FontStyle Range(xDic.Keys(I)).Font.Size = _ Range(xDic.Items(I)).Font.Size Range(xDic.Keys(I)).Font.Color = _ Range(xDic.Items(I)).Font.Color Range(xDic.Keys(I)).Font.Name = _ Range(xDic.Items(I)).Font.Name Range(xDic.Keys(I)).Font.Underline = _ Range(xDic.Items(I)).Font.Underline Else Range(xDic.Keys(I)).Interior.Color = xlNone End If Next Set xDic = Nothing End If Application.ScreenUpdating = True End Sub
Шаг2: Скопируйте код2 в окно модуля
- Всё ещё в окне "Microsoft Visual Basic for Applications" нажмите "Вставка" > "Модуль" и скопируйте приведённый ниже VBA-код2 в окно "Модуль".
- VBA-код2: VLOOKUP с получением форматирования ячейки вместе с искомым значением
-
Public xDic As New Dictionary Function LookupKeepFormat (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long) Dim xFindCell As Range On Error Resume Next Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole) If xFindCell Is Nothing Then LookupKeepFormat = "" xDic.Add Application.Caller.Address, "" Else LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address End If End Function
Шаг3: Выберите опцию для VBAproject
- После вставки кодов нажмите "Сервис" > "Ссылки" в окне "Microsoft Visual Basic for Applications". Затем установите флажок "Microsoft Scripting Runtime" в диалоговом окне "Ссылки — VBAProject". Смотрите скриншоты:
- Затем нажмите "ОК" для закрытия диалогового окна, сохраните и закройте окно кода.
Шаг4: Введите формулу для получения результата
- Теперь вернитесь на лист, примените следующую формулу. Затем протяните маркер заполнения вниз, чтобы получить все результаты с форматированием. Смотрите скриншот:
=LookupKeepFormat(E2,$A$1:$C$10,3)
Примечания: в приведённой выше формуле:
- "E2" — значение для поиска;
- "A1:C10" — диапазон таблицы;
- "3" — номер столбца таблицы, из которого нужно получить совпавшее значение.
4.2 Сохранение формата даты для значения, возвращённого VLOOKUP
При использовании функции VLOOKUP для поиска и возврата значения с форматом даты результат может отображаться как число. Чтобы сохранить формат даты в возвращаемом результате, оберните функцию VLOOKUP в функцию TEXT.
Шаг1: Примените следующую формулу
Введите приведённую ниже формулу в пустую ячейку. Затем протяните маркер заполнения, чтобы скопировать формулу в другие ячейки.
=TEXT(VLOOKUP(E2,$A$2:$C$9,3,FALSE),"mm/dd/yyyy")
Результат:
Все совпавшие даты возвращены, как показано на скриншоте ниже:
Примечания: В приведённой выше формуле:
- "E2" — искомое значение;
- "A2:C9" — диапазон поиска;
- "3" — номер столбца, из которого возвращается значение;
- "FALSE" — точное совпадение;
- "mm/dd/yyyy" — формат даты, который вы хотите сохранить.
4.3 Возврат комментария ячейки через VLOOKUP
Вам когда-нибудь требовалось получить не только совпавшие данные ячейки, но и связанный с ней комментарий с помощью VLOOKUP в Excel, как показано на скриншоте ниже? Если да, пользовательская функция ниже поможет вам выполнить эту задачу.
Шаг1: Скопируйте код в модуль
- Удерживайте клавиши "ALT" + "F11", чтобы открыть окно "Microsoft Visual Basic for Applications".
- Нажмите "Вставка" > "Модуль", затем скопируйте и вставьте следующий код в окно "Модуль".
VBA-код: VLOOKUP и возврат совпавшего значения с комментарием ячейки:Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant 'Updateby Extendoffice Application.Volatile Dim xRet As Variant 'could be an error Dim xCell As Range xRet = Application.Match(LookVal, FTable.Columns(1), FType) If IsError(xRet) Then VlookupComment = "Not Found" Else Set xCell = FTable.Columns(FColumn).Cells(1)(xRet) VlookupComment = xCell.Value With Application.Caller If Not .Comment Is Nothing Then .Comment.Delete End If If Not xCell.Comment Is Nothing Then .AddComment xCell.Comment.Text End If End With End If End Function
- Затем сохраните и закройте окно кода.
Шаг2: Введите формулу для получения результата
- Теперь введите следующую формулу и протяните маркер заполнения, чтобы скопировать формулу в другие ячейки. Она вернёт совпавшие значения и комментарии одновременно, смотрите скриншот:
=vlookupcomment(D2,$A$2:$B$9,2,FALSE)
Примечания: В приведённой выше формуле:
- "D2" — искомое значение, для которого нужно вернуть соответствующее значение;
- "A2:B9" — таблица данных, которую вы используете;
- "2" — номер столбца, содержащего совпавшее значение;
- "FALSE" — точное совпадение.
4.4 VLOOKUP для чисел, сохранённых как текст
Например, у меня есть диапазон данных, где номер ID в исходной таблице — числовой, а в ячейках поиска — текстовый. При использовании обычной функции VLOOKUP может возникнуть ошибка #N/A. В этом случае для получения правильной информации оберните функции TEXT и VALUE внутри VLOOKUP. Вот формула для этого:
Шаг1: Примените и протяните следующую формулу
Введите следующую формулу в пустую ячейку, затем протяните маркер заполнения вниз, чтобы скопировать формулу.
=IFERROR(VLOOKUP(VALUE(D2),$A$2:$B$8,2,0),VLOOKUP(TEXT(D2,0),$A$2:$B$8,2,0))
Результат:
Теперь вы получите правильные результаты, как показано на скриншоте ниже:
Примечания:
- В приведённой выше формуле:
- "D2" — искомое значение, для которого нужно вернуть соответствующее значение;
- "A2:B8" — таблица данных, которую вы используете;
- "2" — номер столбца, содержащего совпавшее значение;
- "0" — точное совпадение.
- Эта формула также хорошо работает, если вы не уверены, где у вас числа, а где текст.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек
Содержание
- 1. Введение в функцию VLOOKUP
- 2. Базовые примеры VLOOKUP
- 2.1 Точное и приблизительное совпадение VLOOKUP
- Точное совпадение
- Приблизительное совпадение
- 2.2 VLOOKUP с учетом регистра
- 2.3 VLOOKUP справа налево
- 2.4 VLOOKUP второго, n-го или последнего совпадения
- Второе или n-е совпадение
- Последнее совпадение
- 2.5 VLOOKUP между двумя значениями
- С помощью формулы
- С помощью удобной функции — Kutools
- 2.6 Частичное совпадение VLOOKUP
- 2.7 VLOOKUP с другого листа
- 2.8 VLOOKUP из другой книги
- 2.9 Исправление значения0 или ошибки #N/A в VLOOKUP
- 3. Продвинутые примеры VLOOKUP
- 3.1 Двусторонний поиск
- 3.2 VLOOKUP по нескольким критериям
- С помощью формул
- С помощью умной функции — Kutools
- 3.3 VLOOKUP для нескольких совпадений
- Возврат значений по горизонтали
- Возврат значений по вертикали
- Возврат значений в одну ячейку
- 3.4 VLOOKUP всей строки
- 3.5 Вложенный VLOOKUP
- 3.6 Проверка наличия значения
- 3.7 VLOOKUP и суммирование
- По строкам
- По столбцам
- С помощью мощной функции — Kutools
- Одновременно по строкам и столбцам
- 3.8 VLOOKUP для объединения двух таблиц
- По одному ключевому столбцу
- По нескольким ключевым столбцам
- 3.9 VLOOKUP на нескольких листах
- 4. VLOOKUP с сохранением форматирования ячеек
- 4.1 Сохранение цвета и форматирования шрифта
- 4.2 Сохранение формата даты
- 4.3 Сохранение комментария ячейки
- 4.4 Числа, сохранённые как текст
- Лучшие инструменты для повышения продуктивности в Office