На чтение 10 мин Просмотров 13.8к. Опубликовано 31.07.2020
Содержание
- 5 thoughts on “ «ВПР» по частичному совпадению ”
- Проверяем условие для полного совпадения текста.
- ЕСЛИ + СОВПАД
- Использование функции ЕСЛИ с частичным совпадением текста.
- ЕСЛИ + ПОИСК
- ЕСЛИ + НАЙТИ
- Примеры использования функции ПОИСКПОЗ в Excel
- Формула для поиска неточного совпадения текста в Excel
- Сравнение двух таблиц в Excel на наличие несовпадений значений
- Поиск ближайшего большего знания в диапазоне чисел Excel
- Особенности использования функции ПОИСКПОЗ в Excel
Спустя катастрофически большой промежуток времени с момента публикации моего последнего поста, решил поделиться супер крутой, на мой взгляд, Excel-формулой, узнав о которой, начинаешь удивляться, как же раньше-то я жил без нее. Но, должен сказать, авторство ее создания не мое, а вероятнее всего принадлежит англоязычному ресурсу, о котором я скажу ниже.
Кто более-менее часто работает с массивами данных в Excel почти наверняка знает про функцию ВПР (см. мою статью) или ИНДЕКС+ПОИСКПОЗ, которые решают достаточно частую задачу по объединению двух наборов данных по каким-либо совпадающим значениям. И действительно, использование этих функций решает задачи по сопоставлению и объединению данных в 90% случаев. Если бы не одно но — данные, по которым производится объединение, действительно должны именно совпадать. Но бывают случаи, когда требуется сопоставление по частичному совпадению. Да, в ВПР есть поиск по приблизительному совпадению, но работает он не совсем прозрачно, а потому предугадать, почему было подобрано одно похожее слово, а не другое, может быть невозможно не просто. Как вы поняли, эту прелюдию я затеял не просто так, а для того, чтобы рассказать, как же решить такую задачу при помощи Excel.
Предположим, у нас есть список товаров, которые надо как-то сгруппировать:
5 thoughts on “ «ВПР» по частичному совпадению ”
На форуме SQL.ru мне подсказали еще одно очень изящное решение этой задачи, посмотреть его можно здесь:
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&t > Спасибо большое, Казанский (автор совета)!
Игорь, спасибо Вам огромное за эту «бронебойную» формулу. Весь интернет «перелопатила» в поиске решения своей задачи и только Вы мне помогли на 100%. Всё работает как часики. Удачи Вам, успешной работы и ещё больше таких гениальных решений.
Ольга, спасибо большое за Ваш комментарий! Справедливости ради надо сказать, что идея этой формулы не моя, а обнаружил я ее на сайте Exceljet
Игорь, добрый день!
Формула прекрасная, но есть ли какая-нибудь ее вариация, которая может находить и подставлять несколько значений сразу?
Например, в строке указаны два производителя холодильников, LG и Samsung
Можно ли вывести их в ячейку через запятую?
Добрый день, Артём!
Спасибо за ваш комментарий и прошу прощения за медленный ответ. Вопрос интересный, но с ходу у меня на него ответа, увы, нет, а по времени довольно сильно ограничен. Если будет свободное время, попробую поломать голову на эту тему
Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст.
Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые значения. Функция ЕСЛИ не проверяет регистр – это делают функции, которые вы в ней используете. Поясним на примере.
Проверяем условие для полного совпадения текста.
Проверку выполнения доставки организуем при помощи обычного оператора сравнения «=».
=ЕСЛИ(G2=»выполнено»,ИСТИНА,ЛОЖЬ)
При этом будет не важно, в каком регистре записаны значения в вашей таблице.
Если же вас интересует именно точное совпадение текстовых значений с учетом регистра, то можно рекомендовать вместо оператора «=» использовать функцию СОВПАД(). Она проверяет идентичность двух текстовых значений с учетом регистра отдельных букв.
Вот как это может выглядеть на примере.
Обратите внимание, что если в качестве аргумента мы используем текст, то он обязательно должен быть заключён в кавычки.
ЕСЛИ + СОВПАД
В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор «=» нам не сможет помочь.
Но мы можем использовать функцию СОВПАД (английский аналог — EXACT).
Функция СОВПАД сравнивает два текста и возвращает ИСТИНА в случае их полного совпадения, и ЛОЖЬ — если есть хотя бы одно отличие, включая регистр букв. Поясним возможность ее использования на примере.
Формула проверки выполнения заказа в столбце Н может выглядеть следующим образом:
Как видите, варианты «ВЫПОЛНЕНО» и «выполнено» не засчитываются как правильные. Засчитываются только полные совпадения. Будет полезно, если важно точное написание текста — например, в артикулах товаров.
Использование функции ЕСЛИ с частичным совпадением текста.
Выше мы с вами рассмотрели, как использовать текстовые значения в функции ЕСЛИ. Но часто случается, что необходимо определить не полное, а частичное совпадение текста с каким-то эталоном. К примеру, нас интересует город, но при этом совершенно не важно его название.
Первое, что приходит на ум – использовать подстановочные знаки «?» и «*» (вопросительный знак и звездочку). Однако, к сожалению, этот простой способ здесь не проходит.
ЕСЛИ + ПОИСК
Нам поможет функция ПОИСК (в английском варианте – SEARCH). Она позволяет определить позицию, начиная с которой искомые символы встречаются в тексте. Синтаксис ее таков:
=ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем)
Если третий аргумент не указан, то поиск начинаем с самого начала – с первого символа.
Функция ПОИСК возвращает либо номер позиции, начиная с которой искомые символы встречаются в тексте, либо ошибку.
Но нам для использования в функции ЕСЛИ нужны логические значения.
Здесь нам на помощь приходит еще одна функция EXCEL – ЕЧИСЛО. Если ее аргументом является число, она возвратит логическое значение ИСТИНА. Во всех остальных случаях, в том числе и в случае, если ее аргумент возвращает ошибку, ЕЧИСЛО возвратит ЛОЖЬ.
В итоге наше выражение в ячейке G2 будет выглядеть следующим образом:
Еще одно важное уточнение. Функция ПОИСК не различает регистр символов.
ЕСЛИ + НАЙТИ
В том случае, если для нас важны строчные и прописные буквы, то придется использовать вместо нее функцию НАЙТИ (в английском варианте – FIND).
Синтаксис ее совершенно аналогичен функции ПОИСК: что ищем, где ищем, начиная с какой позиции.
Изменим нашу формулу в ячейке G2
То есть, если регистр символов для вас важен, просто замените ПОИСК на НАЙТИ.
Итак, мы с вами убедились, что простая на первый взгляд функция ЕСЛИ дает нам на самом деле много возможностей для операций с текстом.
Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.
Примеры использования функции ПОИСКПОЗ в Excel
Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).
Данная функция удобна для использования в случаях, когда требуется вернуть не само значение, содержащееся в искомой ячейке, а ее координату относительно рассматриваемого диапазона. В случае использования для констант массивов, которые могут быть представлены как массивы элементов «ключ» — «значение», функция ПОИСКПОЗ возвращает значение ключа, который явно не указан.
Например, массив <«виноград»;»яблоко»;»груша»;»слива»>содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;<«виноград»;»яблоко»;»груша»;»слива»>;0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.
Функция ПОИСКПОЗ редко используется самостоятельно. Ее целесообразно применять в связке с другими функциями, например, ИНДЕКС.
Формула для поиска неточного совпадения текста в Excel
Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.
Вид исходной таблицы данных:
Для нахождения позиции текстовой строки в таблице используем следующую формулу:
Из полученного значения вычитается единица для совпадения результата с id записи в таблице.
Сравнение двух таблиц в Excel на наличие несовпадений значений
Пример 2. В Excel хранятся две таблицы, которые на первый взгляд кажутся одинаковыми. Было решено сравнить по одному однотипному столбцу этих таблиц на наличие несовпадений. Реализовать способ сравнения двух диапазонов ячеек.
Вид таблицы данных:
Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».
Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:
Как видно, третьи элементы списков не совпадают.
Поиск ближайшего большего знания в диапазоне чисел Excel
Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.
Вид исходной таблицы данных:
Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):
Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.
Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):
Особенности использования функции ПОИСКПОЗ в Excel
Функция имеет следующую синтаксическую запись:
=ПОИСКПОЗ( искомое_значение;просматриваемый_массив; [тип_сопоставления])
- искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
- просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
- [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
- -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
- 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
- 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
- Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
- Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
- Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
- Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.
Частичное совпадение с ВПР
Бывают случаи, когда вам нужен Excel для извлечения данных на основе частичной информации. Для решения проблемы можно использовать ВПР формула вместе с подстановочными знаками — звездочка (*) и вопросительный знак (?).
Как выполнить частичное совпадение с ВПР?
Чтобы получить информация о товарах и продажах, осуществленных продавцом, в названии которого есть слово «эль», из таблицы, как показано выше, вы должны знать, как использовать подстановочный знак — звездочка (*), который соответствует любому количеству символов. В приведенном выше случае вы можете поместить «эль» между двумя звездочками («* эль *«) для соответствия всем именам, содержащим из. После того, как мы разберемся с использованием подстановочных знаков, мы можем использовать функцию ВПР, чтобы применить частичное совпадение.
Советы для других случаев: сопоставьте имена, начните с эля, используйте «эль *»; Сопоставьте имена, которые закончить элем, используйте «* ale»; Сопоставьте имена, которые в них 2–4 буквы — эль, используйте «? ale *». Обратите внимание, что один вопросительный знак соответствует одному символу.
Общий синтаксис
=VLOOKUP(lookup_value,table_array,column_num,FALSE)
- искомое_значение: Значение VLOOKUP, используемое для частичного совпадения в таблица_массив. Здесь имеется в виду название содержит «эль». В искомое_значение должен быть в крайнем левом столбце таблица_массив.
- таблица_массив: Диапазон ячеек, из которых нужно смотреть.
- номер_столбца: Номер столбца в таблица_массив содержащий возвращаемое значение.
Чтобы получить информация о товарах и продажах, осуществленных продавцом, в названии которого есть слово «эль», скопируйте или введите приведенные ниже формулы в ячейки G7 и G8 и нажмите Enter чтобы получить результат:
Ячейка G7 = ВПР («* эль *»,B5: D11,2,ЛОЖНЫЙ)
Ячейка G8 = ВПР («* эль *»,B5: D11,3,ЛОЖНЫЙ)
Или используйте ссылку на ячейку, чтобы сделать формулы динамическими:
Ячейка G7 = ВПР («*» & G5 & «*»,B5: D11,2,ЛОЖНЫЙ)
Ячейка G8 = ВПР («*» & G5 & «*»,B5: D11,3,ЛОЖНЫЙ)
√ Примечание: чтобы склеить ссылку на ячейку и текст, вы должны использовать амперсанд (&), чтобы соединить их. И текст должен быть заключен в двойные кавычки.
Пояснение формулы
Здесь мы используем формулу ниже в качестве примера:
=VLOOKUP(«*»&G5&»*»,B5:D11,2,FALSE)
- The lookup value «*»&G5&»*» («*ale*») can match any names that contain the string “ale”, no matter what position the string is in the names.
- The range_lookup FALSE asks the VLOOKUP function to find the exact match.
- The VLOOKUP function will then return the value that matches «*»&G5&»*» and is in the 2nd column of the range B5:D11, which is Ruler, Glue, Notebook.
Связанные функции
Функция ВПР в Excel
Функция ВПР в Excel выполняет поиск значения по первому столбцу таблицы и возвращает соответствующее значение из определенного столбца в той же строке.
Связанные формулы
Найдите первое частичное совпадение
Есть случаи, когда вам нужно получить позицию первого частичного совпадения, которое содержит определенное число в диапазоне числовых значений в Excel. В этом случае формула ПОИСКПОЗ и ТЕКСТ, содержащая звездочку (*), подстановочный знак, который соответствует любому количеству символов, окажет вам услугу. И если вам также нужно знать точное значение в этой позиции, вы можете добавить в формулу функцию ИНДЕКС.
Поиск с учетом регистра
Возможно, вы знаете, что можете комбинировать функции ИНДЕКС и ПОИСКПОЗ или использовать функцию ВПР для поиска значений в Excel. Однако при поиске регистр не учитывается. Итак, чтобы выполнить сопоставление с учетом регистра, вы должны воспользоваться функциями EXACT и CHOOSE.
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Содержание
- 1 Основная формула
- 2 Объяснение
- 3 Как эта формула работает
- 3.1 Синтаксис функции ВПР
- 3.1.1 Пример 1: Ищем текст, начинающийся или заканчивающийся определенными символами
- 3.1.2 Пример 2: Сочетаем символы подстановки и ссылки на ячейки в формулах с ВПР
- 3.2 Пример 1: Поиск точного совпадения при помощи ВПР
- 3.3 Пример 2: Используем ВПР для поиска приблизительного совпадения
- 3.1 Синтаксис функции ВПР
- 4 Как пользоваться функцией ВПР в Excel
- 5 Быстрое сравнение двух таблиц с помощью ВПР
- 6 Функция ВПР в Excel с несколькими условиями
- 7 Функция ВПР и выпадающий список
Основная формула
= ВПР ( значение & «*» ; данные ; столбец ; ЛОЖЬ)
Объяснение
Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.
В примере, показанном, формула ВПР выглядит следующим образом:
= ВПР ( значение & «*» ; данные ; 2 ; ЛОЖЬ)
В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:
= ВПР ( $H$2 & «*» ; $B$3: $E$102 ; 2 ; ЛОЖЬ )
Как эта формула работает
ВПР поддерживает групповые символы, но только в режиме «точное совпадение». Чтобы установить точное соответствие, убедитесь, что вы поставили 4-ый аргумент ЛОЖЬ или 0.
В этом случае мы поставляем искомое значение как значение & «*» , так что если мы вводим в строку вроде «Ая» в названном диапазоне Значение(H2), мы даем ВПР «Ая*» в качестве значения поиска.
Это приведет к ВПР, чтобы соответствовать первой записи в столбце B, который начинается с «Ая».
Шаблоны также удобны, потому что вам не придется вводить полное имя, но обратите внимание, что вы должны быть осторожны с дубликатами или с рядом дубликатов. Например, в таблице есть «Желонка» и «Бейли», так что набрав «Бай» даст вам первое совпадение, несмотря на то, что есть два.
Примечание: очень важно требовать точного совпадения с использованием ЛЖИ или 0 для последнего аргумента при использовании шаблонов.
Сегодня мы начинаем серию статей, описывающих одну из самых полезных функций Excel – ВПР (VLOOKUP). Эта функция, в то же время, одна из наиболее сложных и наименее понятных.
В этом учебнике по ВПР я постараюсь изложить основы максимально простым языком, чтобы сделать процесс обучения для неискушённых пользователей максимально понятным. Кроме этого, мы изучим несколько примеров с формулами Excel, которые продемонстрируют наиболее распространённые варианты использования функции ВПР.
- Общее описание и синтаксис
- Примеры с функцией ВПР
- Как, используя ВПР, выполнить поиск на другом листе Excel
- Поиск в другой рабочей книге с помощью ВПР
- Как использовать именованный диапазон или таблицу в формулах с ВПР
- Использование символов подстановки в формулах с ВПР
- Точное или приближенное совпадение в функции ВПР
- ВПР в Excel – это нужно запомнить!
Функция ВПР в Excel – общее описание и синтаксис
Итак, что же такое ВПР? Ну, во-первых, это функция Excel. Что она делает? Она ищет заданное Вами значение и возвращает соответствующее значение из другого столбца. Говоря техническим языком, ВПР ищет значение в первом столбце заданного диапазона и возвращает результат из другого столбца в той же строке.
В самом привычном применении, функция ВПР ищет в базе данных заданный уникальный идентификатор и извлекает из базы какую-то связанную с ним информацию.
Первая буква в названии функции ВПР (VLOOKUP) означает Вертикальный (Vertical). По ней Вы можете отличить ВПР от ГПР (HLOOKUP), которая осуществляет поиск значения в верхней строке диапазона – Горизонтальный (Horizontal).
Функция ВПР доступна в версиях Excel 2013, Excel 2010, Excel 2007, Excel 2003, Excel XP и Excel 2000.
Синтаксис функции ВПР
Функция ВПР (VLOOKUP) имеет вот такой синтаксис:
VLOOKUP(lookup_value,table_array,col_index_num,)
ВПР(искомое_значение;таблица;номер_столбца;)
Как видите, функция ВПР в Microsoft Excel имеет 4 параметра (или аргумента). Первые три – обязательные, последний – по необходимости.
- lookup_value (искомое_значение) – значение, которое нужно искать.Это может быть значение (число, дата, текст) или ссылка на ячейку (содержащую искомое значение), или значение, возвращаемое какой-либо другой функцией Excel. Например, вот такая формула будет искать значение :
=VLOOKUP(40,A2:B15,2)
=ВПР(40;A2:B15;2)
Если искомое значение будет меньше, чем наименьшее значение в первом столбце просматриваемого диапазона, функция ВПР сообщит об ошибке #N/A (#Н/Д).
- table_array (таблица) – два или более столбца с данными.Запомните, функция ВПР всегда ищет значение в первом столбце диапазона, заданного в аргументе table_array (таблица). В просматриваемом диапазоне могут быть различные данные, например, текст, даты, числа, логические значения. Регистр символов не учитывается функцией, то есть символы верхнего и нижнего регистра считаются одинаковыми.Итак, наша формула будет искать значение в ячейках от A2 до A15, потому что A – это первый столбец диапазона A2:B15, заданного в аргументе table_array (таблица):
=VLOOKUP(40,A2:B15,2)
=ВПР(40;A2:B15;2)
- col_index_num (номер_столбца) – номер столбца в заданном диапазоне, из которого будет возвращено значение, находящееся в найденной строке.Крайний левый столбец в заданном диапазоне – это , второй столбец – это , третий столбец – это и так далее. Теперь Вы можете прочитать всю формулу:
=VLOOKUP(40,A2:B15,2)
=ВПР(40;A2:B15;2)
Формула ищет значение в диапазоне A2:A15 и возвращает соответствующее значение из столбца B (поскольку B – это второй столбец в диапазоне A2:B15).
Если значение аргумента col_index_num (номер_столбца) меньше , то ВПР сообщит об ошибке #VALUE! (#ЗНАЧ!). А если оно больше количества столбцов в диапазоне table_array (таблица), функция вернет ошибку #REF! (#ССЫЛКА!).
- range_lookup (интервальный_просмотр) – определяет, что нужно искать:
- точное совпадение, аргумент должен быть равен FALSE (ЛОЖЬ);
- приблизительное совпадение, аргумент равен TRUE (ИСТИНА) или вовсе не указан.
Этот параметр не обязателен, но очень важен. Далее в этом учебнике по ВПР я покажу Вам несколько примеров, объясняющих как правильно составлять формулы для поиска точного и приблизительного совпадения.
Примеры с функцией ВПР
Я надеюсь, функция ВПР стала для Вас чуть-чуть понятнее. Теперь давайте рассмотрим несколько примеров использования ВПР в формулах с реальными данными.
Как, используя ВПР, выполнить поиск на другом листе Excel
На практике формулы с функцией ВПР редко используются для поиска данных на том же листе. Чаще всего Вы будете искать и извлекать соответствующие значения из другого листа.
Чтобы, используя ВПР, выполнить поиск на другом листе Microsoft Excel, Вы должны в аргументе table_array (таблица) указать имя листа с восклицательным знаком, а затем диапазон ячеек. К примеру, следующая формула показывает, что диапазон A2:B15 находится на листе с именем Sheet2.
=VLOOKUP(40,Sheet2!A2:B15,2)
=ВПР(40;Sheet2!A2:B15;2)
Конечно же, имя листа не обязательно вводить вручную. Просто начните вводить формулу, а когда дело дойдёт до аргумента table_array (таблица), переключитесь на нужный лист и выделите мышью требуемый диапазон ячеек.
Формула, показанная на скриншоте ниже, ищет текст «Product 1» в столбце A (это 1-ый столбец диапазона A2:B9) на листе Prices.
=VLOOKUP("Product 1",Prices!$A$2:$B$9,2,FALSE)
=ВПР("Product 1";Prices!$A$2:$B$9;2;ЛОЖЬ)
Пожалуйста, помните, что при поиске текстового значения Вы обязаны заключить его в кавычки («»), как это обычно делается в формулах Excel.
Для аргумента table_array (таблица) желательно всегда использовать абсолютные ссылки (со знаком $). В таком случае диапазон поиска будет оставаться неизменным при копировании формулы в другие ячейки.
Поиск в другой рабочей книге с помощью ВПР
Чтобы функция ВПР работала между двумя рабочими книгами Excel, нужно указать имя книги в квадратных скобках перед названием листа.
Например, ниже показана формула, которая ищет значение на листе Sheet2 в книге Numbers.xlsx:
=VLOOKUP(40,Sheet2!A2:B15,2)
=ВПР(40;Sheet2!A2:B15;2)
Вот простейший способ создать в Excel формулу с ВПР, которая ссылается на другую рабочую книгу:
- Откройте обе книги. Это не обязательно, но так проще создавать формулу. Вы же не хотите вводить имя рабочей книги вручную? Вдобавок, это защитит Вас от случайных опечаток.
- Начните вводить функцию ВПР, а когда дело дойдёт до аргумента table_array (таблица), переключитесь на другую рабочую книгу и выделите в ней нужный диапазон поиска.
На снимке экрана, показанном ниже, видно формулу, в которой для поиска задан диапазон в рабочей книге PriceList.xlsx на листе Prices.
Функция ВПР будет работать даже, когда Вы закроете рабочую книгу, в которой производится поиск, а в строке формул появится полный путь к файлу рабочей книги, как показано ниже:
Если название рабочей книги или листа содержит пробелы, то его нужно заключить в апострофы:
=VLOOKUP(40,'Sheet2'!A2:B15,2)
=ВПР(40;'Sheet2'!A2:B15;2)
Как использовать именованный диапазон или таблицу в формулах с ВПР
Если Вы планируете использовать один диапазон поиска в нескольких функциях ВПР, то можете создать именованный диапазон и вводить его имя в формулу в качестве аргумента table_array (таблица).
Чтобы создать именованный диапазон, просто выделите ячейки и введите подходящее название в поле Имя, слева от строки формул.
Теперь Вы можете записать вот такую формулу для поиска цены товара Product 1:
=VLOOKUP("Product 1",Products,2)
=ВПР("Product 1";Products;2)
Большинство имен диапазонов работают для всей рабочей книги Excel, поэтому нет необходимости указывать имя листа для аргумента table_array (таблица), даже если формула и диапазон поиска находятся на разных листах книги. Если же они находятся в разных книгах, то перед именем диапазона нужно указать название рабочей книги, к примеру, вот так:
=VLOOKUP("Product 1",PriceList.xlsx!Products,2)
=ВПР("Product 1";PriceList.xlsx!Products;2)
Так формула выглядит гораздо понятнее, согласны? Кроме того, использование именованных диапазонов – это хорошая альтернатива абсолютным ссылкам, поскольку именованный диапазон не меняется при копировании формулы в другие ячейки. Значит, Вы можете быть уверены, что диапазон поиска в формуле всегда останется корректным.
Если преобразовать диапазон ячеек в полноценную таблицу Excel, воспользовавшись командой Table (Таблица) на вкладке Insert (Вставка), то при выделении диапазона мышью, Microsoft Excel автоматически добавит в формулу названия столбцов (или название таблицы, если Вы выделите всю таблицу).
Готовая формула будет выглядеть примерно вот так:
=VLOOKUP("Product 1",Table46:],2)
=ВПР("Product 1";Table46:];2)
А может даже так:
=VLOOKUP("Product 1",Table46,2)
=ВПР("Product 1";Table46;2)
При использовании именованных диапазонов, ссылки будут вести к тем же ячейкам, не зависимо от того, куда Вы копируете функцию ВПР в пределах рабочей книги.
Использование символов подстановки в формулах с ВПР
Как и во многих других функциях, в ВПР Вы можете использовать следующие символы подстановки:
- Знак вопроса (?) – заменяет один любой символ.
- Звёздочка (*) – заменяет любую последовательность символов.
Использование символов подстановки в функциях ВПР может пригодиться во многих случаях, например:
- Когда Вы не помните в точности текст, который нужно найти.
- Когда Вы хотите найти какое-то слово, которое является частью содержимого ячейки. Знайте, что ВПР ищет по содержимому ячейки целиком, как при включённой опции Match entire cell content (Ячейка целиком) в стандартном поиске Excel.
- Когда в ячейке содержатся дополнительные пробелы в начале или в конце содержимого. В такой ситуации Вы можете долго ломать голову, пытаясь понять, почему формула не работает.
Пример 1: Ищем текст, начинающийся или заканчивающийся определенными символами
Предположим, что Вы хотите найти определенного клиента в базе данных, показанной ниже. Вы не помните его фамилию, но знаете, что она начинается на «ack». Вот такая формула отлично справится с этой задачей:
=VLOOKUP("ack*",$A$2:$C$11,1,FALSE)
=ВПР("ack*";$A$2:$C$11;1;ЛОЖЬ)
Теперь, когда Вы уверены, что нашли правильное имя, можно использовать эту же формулу, чтобы найти сумму, оплаченную этим клиентом. Для этого достаточно изменить третий аргумент функции ВПР на номер нужного столбца. В нашем случае это столбец C (3-й в диапазоне):
=VLOOKUP("ack*",$A$2:$C$11,3,FALSE)
=ВПР("ack*";$A$2:$C$11;3;ЛОЖЬ)
Вот ещё несколько примеров с символами подстановки:
~ Находим имя, заканчивающееся на «man»:
=VLOOKUP("*man",$A$2:$C$11,1,FALSE)
=ВПР("*man";$A$2:$C$11;1;ЛОЖЬ)
~ Находим имя, начинающееся на «ad» и заканчивающееся на «son»:
=VLOOKUP("ad*son",$A$2:$C$11,1,FALSE)
=ВПР("ad*son";$A$2:$C$11;1;ЛОЖЬ)
~ Находим первое имя в списке, состоящее из 5 символов:
=VLOOKUP("?????",$A$2:$C$11,1,FALSE)
=ВПР("?????";$A$2:$C$11;1;ЛОЖЬ)
Чтобы функция ВПР с символами подстановки работала правильно, в качестве четвёртого аргумента всегда нужно использовать FALSE (ЛОЖЬ). Если диапазон поиска содержит более одного значения, подходящего под условия поиска с символами подстановки, то будет возвращено первое найденное значение.
Пример 2: Сочетаем символы подстановки и ссылки на ячейки в формулах с ВПР
А теперь давайте разберём чуть более сложный пример, как осуществить поиск с помощью функции ВПР по значению в какой-то ячейке. Представьте, что в столбце A находится список лицензионных ключей, а в столбце B список имён, владеющих лицензией. Кроме этого, у Вас есть часть (несколько символов) какого-то лицензионного ключа в ячейке C1, и Вы хотите найти имя владельца.
Это можно сделать, используя вот такую формулу:
=VLOOKUP("*"&C1&"*",$A$2:$B$12,2,FALSE)
=ВПР("*"&C1&"*";$A$2:$B$12;2;FALSE)
Эта формула ищет значение из ячейки C1 в заданном диапазоне и возвращает соответствующее значение из столбца B. Обратите внимание, что в первом аргументе мы используем символ амперсанда (&) до и после ссылки на ячейку, чтобы связать текстовую строку.
Как видно на рисунке ниже, функция ВПР возвращает значение «Jeremy Hill», поскольку его лицензионный ключ содержит последовательность символов из ячейки C1.
Заметьте, что аргумент table_array (таблица) на скриншоте сверху содержит имя таблицы (Table7) вместо указания диапазона ячеек. Так мы делали в предыдущем примере.
Точное или приближенное совпадение в функции ВПР
И, наконец, давайте рассмотрим поподробнее последний аргумент, который указывается для функции ВПР – range_lookup (интервальный_просмотр). Как уже упоминалось в начале урока, этот аргумент очень важен. Вы можете получить абсолютно разные результаты в одной и той же формуле при его значении TRUE (ПРАВДА) или FALSE (ЛОЖЬ).
Для начала давайте выясним, что в Microsoft Excel понимается под точным и приближенным совпадением.
- Если аргумент range_lookup (интервальный_просмотр) равен FALSE (ЛОЖЬ), формула ищет точное совпадение, т.е. точно такое же значение, что задано в аргументе lookup_value (искомое_значение). Если в первом столбце диапазона table_array (таблица) встречается два или более значений, совпадающих с аргументом lookup_value (искомое_значение), то выбрано будет первое из них. Если совпадения не найдены, функция сообщит об ошибке #N/A (#Н/Д).Например, следующая формула сообщит об ошибке #N/A (#Н/Д), если в диапазоне A2:A15 нет значения :
=VLOOKUP(4,A2:B15,2,FALSE)
=ВПР(4;A2:B15;2;ЛОЖЬ)
- Если аргумент range_lookup (интервальный_просмотр) равен TRUE (ИСТИНА), формула ищет приблизительное совпадение. Точнее, сначала функция ВПР ищет точное совпадение, а если такое не найдено, выбирает приблизительное. Приблизительное совпадение – это наибольшее значение, не превышающее заданного в аргументе lookup_value (искомое_значение).
Если аргумент range_lookup (интервальный_просмотр) равен TRUE (ИСТИНА) или не указан, то значения в первом столбце диапазона должны быть отсортированы по возрастанию, то есть от меньшего к большему. Иначе функция ВПР может вернуть ошибочный результат.
Чтобы лучше понять важность выбора TRUE (ИСТИНА) или FALSE (ЛОЖЬ), давайте разберём ещё несколько формул с функцией ВПР и посмотрим на результаты.
Пример 1: Поиск точного совпадения при помощи ВПР
Как Вы помните, для поиска точного совпадения, четвёртый аргумент функции ВПР должен иметь значение FALSE (ЛОЖЬ).
Давайте вновь обратимся к таблице из самого первого примера и выясним, какое животное может передвигаться со скоростью миль в час. Я верю, что вот такая формула не вызовет у Вас затруднений:
=VLOOKUP(50,$A$2:$B$15,2,FALSE)
=ВПР(50;$A$2:$B$15;2;ЛОЖЬ)
Обратите внимание, что наш диапазон поиска (столбец A) содержит два значения – в ячейках A5 и A6. Формула возвращает значение из ячейки B5. Почему? Потому что при поиске точного совпадения функция ВПР использует первое найденное значение, совпадающее с искомым.
Пример 2: Используем ВПР для поиска приблизительного совпадения
Когда Вы используете функцию ВПР для поиска приблизительного совпадения, т.е. когда аргумент range_lookup (интервальный_просмотр) равен TRUE (ИСТИНА) или пропущен, первое, что Вы должны сделать, – выполнить сортировку диапазона по первому столбцу в порядке возрастания.
Это очень важно, поскольку функция ВПР возвращает следующее наибольшее значение после заданного, а затем поиск останавливается. Если Вы пренебрежете правильной сортировкой, дело закончится тем, что Вы получите очень странные результаты или сообщение об ошибке #N/A (#Н/Д).
Вот теперь можно использовать одну из следующих формул:
=VLOOKUP(69,$A$2:$B$15,2,TRUE)
или =VLOOKUP(69,$A$2:$B$15,2)
=ВПР(69;$A$2:$B$15;2;ИСТИНА)
или =ВПР(69;$A$2:$B$15;2)
Как видите, я хочу выяснить, у какого из животных скорость ближе всего к милям в час. И вот какой результат мне вернула функция ВПР:
Как видите, формула возвратила результат Антилопа (Antelope), скорость которой миля в час, хотя в списке есть также Гепард (Cheetah), который бежит со скоростью миль в час, а 70 ближе к 69, чем 61, не так ли? Почему так происходит? Потому что функция ВПР при поиске приблизительного совпадения возвращает наибольшее значение, не превышающее искомое.
Надеюсь, эти примеры пролили немного света на работу с функцией ВПР в Excel, и Вы больше не смотрите на неё, как на чужака. Теперь не помешает кратко повторить ключевые моменты изученного нами материала, чтобы лучше закрепить его в памяти.
ВПР в Excel – это нужно запомнить!
- Функция ВПР в Excel не может смотреть налево. Она всегда ищет значение в крайнем левом столбце диапазона, заданного аргументом table_array (таблица).
- В функции ВПР все значения используются без учета регистра, то есть маленькие и большие буквы эквивалентны.
- Если искомое значение меньше минимального значения в первом столбце просматриваемого диапазона, функция ВПР сообщит об ошибке #N/A (#Н/Д).
- Если 3-й аргумент col_index_num (номер_столбца) меньше , функция ВПР сообщит об ошибке #VALUE! (#ЗНАЧ!). Если же он больше количества столбцов в диапазоне table_array (таблица), функция сообщит об ошибке #REF! (#ССЫЛКА!).
- Используйте абсолютные ссылки на ячейки в аргументе table_array (таблица), чтобы при копировании формулы сохранялся правильный диапазон поиска. Попробуйте в качестве альтернативы использовать именованные диапазоны или таблицы в Excel.
- Когда выполняете поиск приблизительного совпадения, не забывайте, что первый столбец в исследуемом диапазоне должен быть отсортирован по возрастанию.
- И, наконец, помните о важности четвертого аргумента. Используйте значения TRUE (ИСТИНА) или FALSE (ЛОЖЬ) обдуманно, и Вы избавитесь от многих головных болей.
В следующих статьях нашего учебника по функции ВПР в Excel мы будем изучать более продвинутые примеры, такие как выполнение различных вычислений при помощи ВПР, извлечение значений из нескольких столбцов и другие. Я благодарю Вас за то, что читаете этот учебник, и надеюсь встретить Вас снова на следующей неделе!
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: /> Перевел: Антон Андронов
Правила перепечаткиЕще больше уроков по Microsoft Excel
Оцените качество статьи. Нам важно ваше мнение:
Функция ВПР (VLOOKUP) в Excel используется для поиска данных из одной таблицы и сопоставления их с данными из другой таблицы.
Кликните по кнопке ниже для загрузки Excel файла с примерами работы функции ВПР:
Видео-урок: Как использовать функцию ВПР в Excel Функция ВПР в Excel для чайников
На примере ниже, в таблице справа, мы хотим подставить данные результатов экзамена по математике для студента Сидорова. Нам известны данные по всем студентам из таблицы слева. Используя формулу, мы можем подставить необходимые для нас данные.
Синтаксис
=VLOOKUP(lookup_value, table_array, col_index_num, ) – английская версия
=ВПР(искомое_значение, таблица, номер_столбца, ) – русская версия
Аргументы функции
- lookup_value (искомое_значение) – это величина для поиска, из крайнего левого столбца таблицы. Это может быть значение, ссылка на ячейку или текстовая строка. В примере со студентами это их фамилии;
- table_array (таблица) – это диапазон данных, в котором будет осуществлен поиск. Это может быть ссылка на диапазон ячеек или именованный диапазон. В примере с таблицей со студентами, это будет вся таблица, которая содержит оценку и фамилии студентов;
- col_index (номер_столбца) – это порядковый номер столбца в диапазоне с данными, из которого будет получена искомая величина;
- () – этот аргумент указывает на точность совпадения данных при поиске. Укажите “0” – если точное, “1” – если приблизительное совпадение.
Дополнительная информация
- совпадение искомых данных может быть точным и приблизительным;
- при сопоставлении по приблизительной точности данных убедитесь, что данные в таблицах отсортированы в убывающем порядке (от большого к малому). Иначе, результат сопоставления будет некорректным;
- при сопоставлении данных по приблизительной точности:
– если функция не найдет искомое значение, она выдаст наибольшую величину, которая будет меньше чем значения поиска;
– если функция при сопоставлении выдает ошибку #N/A, то искомое значение меньше чем самая маленькая величина в искомом диапазоне;
– вы можете использовать подстановочные знаки для искомых значений.
Примеры использования ВПР в Excel Пример 1. Ищем результат экзамена для студента
На примере ниже, в левой колонке таблицы указан список студентов. В правой части таблицы указаны итоговые баллы по экзаменам этих студентов.
Перед нами стоит задача узнать, какой балл получил студент Петров по Физике.
Узнать это мы можем с помощью формулы ниже:
=VLOOKUP(“Петров”,$A$3:$E$10,3,0) – английская версия
=ВПР(“Петров”;$A$3:$E$10;3;0) – русская версия
Формула выше состоит из четырех аргументов:
- “Петров” – фамилия, данные по которой, ищем;
- $A$3:$E$10 – диапазон данных с результатами экзаменов;
- “3” – порядковый номер столбца диапазона данных со значением оценки по Физике;
- “0” – точное совпадение искомого значения.
Ниже, наглядно изображено как работает по примеру наша функция.
Сначала, она ищет в крайней левой колонке диапазона данных фамилию “Петров”. Поиск происходит сверху вниз.
Как только Excel нашел точное совпадение “Петров” в диапазоне данных, система “шагает” в право, на третью колонку для отображения искомых данных.
Используя этот подход вы можете получить любые данные по каждому студенту и учебному предмету.
Например, чтобы найти результаты экзамена для студента Пескова по Химии, нам нужна формула:
=VLOOKUP(“Песков”,$A$20:$E$28,4,0) – английская версия
=ВПР(“Песков”;$A$20:$E$28;4;0) – русская версия
В приведенном выше примере фамилия студента указана в двойных кавычках. Также, можно использовать ссылку на ячейку с искомым значением. Ссылка на ячейку делает формулу динамической.
Например, если у вас есть ячейка с фамилией, и вы ищете оценку по математике, результат будет автоматически обновляться при изменении имени учащегося (как показано ниже):
Если в качестве аргумента поиска будет введена фамилия студента, которой нет в диапазоне данных, функция выдаст ошибку.
Пример 2. Двухфакторный поиск данных
На примере выше мы указывали вручную в качестве атрибута “номер_столбца” порядковый номер колонки с данными.
Но что, если мы хотим сделать поиск динамическим? Что если, мы хотим вводить имя студента и название предмета и функция автоматически выведет нужные данные? Для этого нам потребуется использовать двухфакторный поиск.
Ниже пример двухфакторного поиска:
Чтобы сделать двухфакторную формулу поиска, важно сделать выбор данных из колонок динамическим. Так, когда пользователь меняет название предмета: Физика, Математика и т.д., в формуле изменяется соответствующий атрибут столбца с данными.
Чтобы сделать это, нам потребуется функция MATCH (ПОИСКПОЗ) в качестве аргумента отвечающего за порядковый номер колонки.
Так будет выглядеть формула для двухфакторного поиска:
=VLOOKUP($G$5,$A$4:$E$12,MATCH($H$4,$A$3:$E$3,0),0) – английская версия
=ВПР($G$5;$A$4:$E$12;ПОИСКПОЗ($H$4;$A$3:$E$3;0);0) – русская версия
В формуле выше используется функция MATCH (ПОИСКПОЗ), которая отвечает за порядковый номер колонки с данными. MATCH (ПОИСКПОЗ) принимает название учебного предмета как значение поиска (в ячейке “H4”) и возвращает его позицию в диапазоне ячеек “A2:E2”.
Если указать “Математика”, Excel вернет “2”, поскольку “Математика” находится в ячейке “B2” (вторая по счету в этом массиве).
Пример 3. Используем выпадающий список при двухфакторном поиске
Используя способ из примера №2, нам требуется делать много ручной работы. Высок риск допустить ошибку и потратить много времени, особенно, если вы работаете с большим объемом данных.
Здесь лучше использовать выпадающие списки как значения для поиска (в нашем примере это фамилии студентов и учебные предметы).
Основываясь на тех данных, что вы выберете из выпадающего списка, функция автоматически выведет необходимые данные, как это указано на примере ниже:
Такой подход позволяет создать дашборд, с помощью которого вы легко сможете обрабатывать большие списки с данными.
Ниже мы рассмотрим, как сделать такую таблицу.
Для этого нам потребуется формула из Примера №2:
=VLOOKUP($G$5,$A$4:$E$12,MATCH($H$4,$A$3:$E$3,0),0) – английская версия
=ВПР($G$5;$A$4:$E$12;ПОИСКПОЗ($H$4;$A$3:$E$3;0);0) – русская версия
Данные поиска были преобразованы в выпадающие списки.
Чтобы сделать выпадающий список, нужно:
- Выбрать ячейку, в которой вы хотите создать выпадающий список. В нашем примере в ячейке “G4” мы указали фамилии студентов.
- Перейти к вкладке Данные -> Проверка данных.
- В диалоговом окне «Проверка данных» на вкладке «Настройки» выбрать «Список» и в раскрывающемся списке выберите «Разрешить».
- В источнике выбрать $A$3:$A$10
- Нажать «ОК».
Теперь у вас появится раскрывающийся список в ячейке “G4”. Аналогично, вы можете создать его в “H3” для предметов.
Пример 4. Трехфакторный поиск данных ВПР
Что такое трехфакторный поиск?
В Примере 2 мы использовали одну таблицу с оценками для студентов по разным предметам. Это пример двухфакторного поиска, поскольку мы используем две переменные для получения оценки (фамилия студента и предмет).
Теперь предположим, что к концу года студент прошел три уровня экзаменов: «Вступительный», «Полугодовой» и «Финальный экзамен».
Трехсторонний поиск – это возможность получить отметки студента по предмету с определенным уровнем экзамена.
Вот пример трехстороннего поиска:
В приведенном выше примере, функция ищет данные в трех разных таблицах с данными («Вступительный», «Полугодовой» и «Финальный экзамен») и возвращает значения оценок студента по определенному предмету по конкретному уровню экзамена.
Для таких расчетов нам поможет формула:
=VLOOKUP(G5,CHOOSE(IF(H3=”Вступительный”,1,IF(H3=”Полугодовой”,2,3)),$A$4:$E$12,$A$16:$E$24,$A$28:$E$36),MATCH(H4,$A$3:$E$3,0),0) – английская версия
=ВПР(G5;ВЫБОР(ЕСЛИ(H3=”Вступительный”;1;ЕСЛИ(H3=”Полугодовой”;2;3));$A$4:$E$12;$A$16:$E$24;$A$28:$E$36);ПОИСКПОЗ(H4;$A$3:$E$3;0);0) – русская версия
Эта формула использует функцию CHOOSE (ВЫБОР), чтобы убедиться, что данные выбраны из правильной таблицы. Давайте проанализируем часть формулы CHOOSE (ВЫБОР):
CHOOSE(IF(H3=”Вступительный”,1,IF(H3=”Полугодовой”,2,3)),$A$4:$E$12,$A$16:$E$24,$A$28:$E$36),MATCH(H4,$A$3:$E$3,0),0) – английская версия
ВЫБОР(ЕСЛИ(H3=”Вступительный”;1;ЕСЛИ(H3=”Полугодовой”;2;3));$A$4:$E$12;$A$16:$E$24;$A$28:$E$36);ПОИСКПОЗ(H4;$A$3:$E$3;0);0) – русская версия
Первый аргумент формулы (IF(H3=”Вступительный”,1,IF(H3=”Полугодовой”,2,3) или (ЕСЛИ(H3=”Вступительный”;1;ЕСЛИ(H3=”Полугодовой”;2;3) проверяет ячейку “H3” и определяет, на какой уровень экзамена ссылаются. Если это “Вступительный”, функция возвращает данные из диапазона $A$4:$E$12, который содержит оценки для вступительного экзамена.
Если выбран уровень “Полугодовой”, то система возвращает данные из диапазона $A$16:$E$24, в другом случае она возвращает данные из диапазона $A$28:$E$36.
Такой подход делает массив таблиц динамическим и трехфакторным.
Пример 5. Получаем последнее значение колонки с помощью функции VLOOKUP (ВПР)
С помощью ВПР вы можете вычислить последнее число из списка.
Наибольшее положительное число, которое вы можете использовать в Excel, равно 9.99999999999999E + 307. Это также означает, что самый большой номер поиска в номере VLOOKUP также 9.99999999999999E + 307.
Я не думаю, что вам когда-нибудь понадобится какой-то расчет, в котором участвует такое большое число. Но с его помощью мы можем получить последнее число в списке.
Предположим, у вас есть набор данных (в диапазоне ячеек A1:A14), как показано ниже, и вы хотите получить число из последней ячейки в списке.
Для этого нам подойдет следующая формула:
=VLOOKUP(9.99999999999999E+307,$A$1:$A$14,TRUE) – английская версия
=ВПР(9.99999999999999E+307;$A$1:$A$14;ИСТИНА)
Обратите внимание, что в формуле выше используется приблизительная точность совпадения данных (несмотря на это нет необходимости упорядочивать список).
Вот как работает функция с приблизительной точностью совпадения данных. Она просматривает левую колонку сверху вниз.
- Если он находит точное совпадение, она возвращает это значение;
- Если она находит число, превышающее значение поиска => возвращает число в ячейке над ним;
- Если значение поиска больше всех чисел в списке, функция возвращает последнее число из списка.
В нашем примере работает третий сценарий.
Число 9.99999999999999E + 307 это самое большое число, которое можно использовать в Excel, когда оно используется как критерий поиска, тогда функция VLOOKUP (ВПР) возвращает последнее число из списка.
Таким же образом вы можете использовать этот принцип для возврата последнего текстового элемента из списка. Вот формула, которая может это сделать:
=VLOOKUP(“яяя”,$A$1:$A$14,1,TRUE) – английская версия
=ВПР(“яяя”;$A$1:$A$14;1;ИСТИНА) – русская версия
Здесь действует та же логика. Система просматривает все названия из списка. Так как “яяя” самое большое текстовое значение => результатом вычисления будет самое крайнее значение из списка данных.
Пример 6. Частичный поиск с использованием символов подстановочных знаков и ВПР
Символы подстановки в Excel могут быть полезными во многих ситуациях.
Частичный поиск необходим, когда вам нужно искать значение в списке, в котором нет точного соответствия искомым данным.
Например, у вас есть набор данных, как показано ниже, и вы хотите найти компанию “ABC” в списке, но в списке есть только “ABC Ltd” вместо “ABC”.
Вы не можете использовать “ABC” в качестве значения поиска, так как в столбце “A” нет точного соответствия. Приблизительное совпадение часто приводит к ошибочным результатам и требует сортировки списка в порядке возрастания.
Однако, вы можете использовать подстановочный знак в VLOOKUP (ВПР) для более точного соответствия данных.
Введите следующую формулу в ячейку “D2” и перетащите ее в другие ячейки:
=VLOOKUP(“*”&C2&”*”,$A$2:$A$8,1,FALSE) – английская версия
=ВПР(“*”&C2&”*”;$A$2:$A$8;1;ЛОЖЬ) – русская версия
Как это работает?
В формуле, указанной выше мы добавили к значению поиска “звездочки” с двух сторон. Указывая такие “звездочки” вы даете Excel понять, что готовы осуществить поиск, при котором в искомых данных как в начале так и в конце значения могут быть любые другие слова, буквы или цифры.
Таким образом, осуществляя поиск, Excel будет понимать, что необходимо искать значение, которое содержит слово из ячейки “С2” (в нашем примере).
Например, в ячейке “C2” указано название компании “ABC”, поэтому функция просматривает значения в диапазоне данных “A2:A8” и ищет “ABC”. Она находит соответствие в ячейке “A2”, так как та содержит слово “ABC” в “ABC Ltd”. Не имеет значения, есть ли какие-либо символы слева или справа от “ABC”.
Примечание: ВПР всегда возвращает первое совпадающее значение и перестает искать дальше. Поэтому, если у вас есть название компании “ABC Ltd”. и “ABC Corporation” в списке, она вернет первый по порядку и проигнорирует остальные.
Пример 7. Функция ВПР возвращает ошибку, несмотря на совпадение в значении поиска
Это может свести вас с ума, когда вы увидите, что имеется соответствующее значение поиска, а функция возвращает ошибку.
Например, у вас в таблице есть очевидное соответствие (Иван), но система по-прежнему возвращает ошибку.
Рассматривая значения в таблице глубже, вы можете заметить, что в диапазоне данных значение “Иван “ написано с пробелом. Если в диапазоне данных по которым вы осуществляете поиск есть пробелы до значений, после или между словами, то функция их не сопоставит.
Решение есть, и зовут его – функция TRIM. Она удаляет все лишние пробелы в значениях.
Ниже формула, которая поможет вам сопоставить данные несмотря на лишние пробелы в диапазоне данных.
=VLOOKUP(“Иван”,TRIM($A$2:$A$15),1,0) – английская версия
=ВПР(“Иван”,СЖПРОБЕЛЫ($A$2:$A$15);1;0) – русская версия
Для того, чтобы функция TRIM (СЖПРОБЕЛЫ) заработала при использовании VLOOKUP (ВПР), следует вводить формулу после набора не с помощью клавиши Enter на клавиатуре, а с помощью сочетания клавиш Ctrl + Shift + Enter.
Пример 8. Функция ВПР в Excel с несколькими условиями
Функция в своей базовой форме может искать одно значение поиска и возвращать соответствующие данные из указанного диапазона данных.
Но часто нам необходимо использовать VLOOKUP с поиском по несколькими критериям.
Представим, что у вас есть таблица с результатами экзаменов студентов по трем уровням экзамена: «Вступительный», «Полугодовой» и «Финальный экзамен»:
Сопоставить данные по конкретному студенту, предмету и уровню экзамена с помощью функции ВПР – нелегкая задача, так как сопоставляя данные по студенту и предмету, она будет выдавать результат первого совпадения, но далеко не факт, что этот результат будет корректным и соответствовать необходимому уровню экзамена.
Осуществить поиск по студенту + названию предмета + уровню экзамена можно с помощью создания вспомогательного столбца, как показано на примере ниже:
Теперь, нам необходимо создать уникальный ID для каждого студента и уровня экзамена с помощью формулы в вспомогательном столбце: =A2&”|”&B2.
Протяните эту формулу в каждую ячейку столбца данной таблицы. Таким образом мы создадим уникальный ID, по которому мы можем сопоставлять данные.
Благодаря вспомогательному столбцу мы избежали того, что при сопоставлении данных, функция будет выдавать данные по не нужному уровню экзамена.
Теперь вы можете использовать значения вспомогательного столбца в качестве значений поиска.
Ниже формула, с помощью которой удобно сопоставлять данные из вашей таблицы в список студентов, распределенных по уровню экзамена.
=VLOOKUP($F3&”|”&G$2,$C$2:$D$19,2,0) – английская версия
=ВПР($F3&”|”&G$2;$C$2:$D$19;2;0) – русская версия
С помощью этой формулы мы объединили имя студента и уровень экзамена, чтобы получить значение поиска которое мы проверяем его в вспомогательном столбце и получить данные.
Пример 9. Обработка ошибок с помощью функции ВПР
Функция возвращает ошибку каждый раз, когда не может сопоставить значение поиска в заданном диапазоне данных.
В Excel есть возможность заменить сообщения об ошибке на заданное вами текстовое или числовое значение типа “Нет”, “Не доступно”, “Нет данных” и.т.д.
На примере ниже, мы пытаемся сопоставить результаты экзамена студента Ивана из таблицы. Но так как данных по Ивану в таблице нет, функция выдает ошибку.
Для того, чтобы заменить сообщение ошибки на какое-то более формальное значение нам поможет функция ЕСЛИОШИБКА(IFERROR):
=IFERROR(VLOOKUP(D2,$A$2:$B$7,2,0),”Нет данных”) – английская версия
=ЕСЛИОШИБКА(ВПР(D2;$A$2:$B$7;2;0);”Нет данных”) – русская версия
Функция ЕСЛИОШИБКА(IFERROR) проверяет, если в результате вычислений по формуле выдается ошибка, то она выдает то значение, которое вы указали в функции ЕСЛИОШИБКА(IFERROR), например “Нет данных”.
Функция ВПР в Excel позволяет данные из одной таблицы переставить в соответствующие ячейки второй. Ее английское наименование – VLOOKUP.
Очень удобная и часто используемая. Т.к. сопоставить вручную диапазоны с десятками тысяч наименований проблематично.
Допустим, на склад предприятия по производству тары и упаковки поступили материалы в определенном количестве.
Стоимость материалов – в прайс-листе. Это отдельная таблица.
Необходимо узнать стоимость материалов, поступивших на склад. Для этого нужно подставит цену из второй таблицы в первую. И посредством обычного умножения мы найдем искомое.
Алгоритм действий:
- Приведем первую таблицу в нужный нам вид. Добавим столбцы «Цена» и «Стоимость/Сумма». Установим денежный формат для новых ячеек.
- Выделяем первую ячейку в столбце «Цена». В нашем примере – D2. Вызываем «Мастер функций» с помощью кнопки «fx» (в начале строки формул) или нажав комбинацию горячих клавиш SHIFT+F3. В категории «Ссылки и массивы» находим функцию ВПР и жмем ОК. Данную функцию можно вызвать перейдя по закладке «Формулы» и выбрать из выпадающего списка «Ссылки и массивы».
- Откроется окно с аргументами функции. В поле «Искомое значение» — диапазон данных первого столбца из таблицы с количеством поступивших материалов. Это те значения, которые Excel должен найти во второй таблице.
- Следующий аргумент – «Таблица». Это наш прайс-лист. Ставим курсор в поле аргумента. Переходим на лист с ценами. Выделяем диапазон с наименованием материалов и ценами. Показываем, какие значения функция должна сопоставить.
- Чтобы Excel ссылался непосредственно на эти данные, ссылку нужно зафиксировать. Выделяем значение поля «Таблица» и нажимаем F4. Появляется значок $.
- В поле аргумента «Номер столбца» ставим цифру «2». Здесь находятся данные, которые нужно «подтянуть» в первую таблицу. «Интервальный просмотр» — ЛОЖЬ. Т.к. нам нужны точные, а не приблизительные значения.
Нажимаем ОК. А затем «размножаем» функцию по всему столбцу: цепляем мышью правый нижний угол и тянем вниз. Получаем необходимый результат.
Теперь найти стоимость материалов не составит труда: количество * цену.
Функция ВПР связала две таблицы. Если поменяется прайс, то и изменится стоимость поступивших на склад материалов (сегодня поступивших). Чтобы этого избежать, воспользуйтесь «Специальной вставкой».
- Выделяем столбец со вставленными ценами.
- Правая кнопка мыши – «Копировать».
- Не снимая выделения, правая кнопка мыши – «Специальная вставка».
- Поставить галочку напротив «Значения». ОК.
Формула в ячейках исчезнет. Останутся только значения.
Быстрое сравнение двух таблиц с помощью ВПР
Функция помогает сопоставить значения в огромных таблицах. Допустим, поменялся прайс. Нам нужно сравнить старые цены с новыми ценами.
- В старом прайсе делаем столбец «Новая цена».
- Выделяем первую ячейку и выбираем функцию ВПР. Задаем аргументы (см. выше). Для нашего примера: . Это значит, что нужно взять наименование материала из диапазона А2:А15, посмотреть его в «Новом прайсе» в столбце А. Затем взять данные из второго столбца нового прайса (новую цену) и подставить их в ячейку С2.
Данные, представленные таким образом, можно сопоставлять. Находить численную и процентную разницу.
Функция ВПР в Excel с несколькими условиями
До сих пор мы предлагали для анализа только одно условие – наименование материала. На практике же нередко требуется сравнить несколько диапазонов с данными и выбрать значение по 2, 3-м и т.д. критериям.
Таблица для примера:
Предположим, нам нужно найти, по какой цене привезли гофрированный картон от ОАО «Восток». Нужно задать два условия для поиска по наименованию материала и по поставщику.
Дело осложняется тем, что от одного поставщика поступает несколько наименований.
- Добавляем в таблицу крайний левый столбец (важно!), объединив «Поставщиков» и «Материалы».
- Таким же образом объединяем искомые критерии запроса:
- Теперь ставим курсор в нужном месте и задаем аргументы для функции: . Excel находит нужную цену.
Рассмотрим формулу детально:
- Что ищем.
- Где ищем.
- Какие данные берем.
Функция ВПР и выпадающий список
Допустим, какие-то данные у нас сделаны в виде раскрывающегося списка. В нашем примере – «Материалы». Необходимо настроить функцию так, чтобы при выборе наименования появлялась цена.
Сначала сделаем раскрывающийся список:
- Ставим курсор в ячейку Е8, где и будет этот список.
- Заходим на вкладку «Данные». Меню «Проверка данных».
- Выбираем тип данных – «Список». Источник – диапазон с наименованиями материалов.
- Когда нажмем ОК – сформируется выпадающий список.
Теперь нужно сделать так, чтобы при выборе определенного материала в графе цена появлялась соответствующая цифра. Ставим курсор в ячейку Е9 (где должна будет появляться цена).
- Открываем «Мастер функций» и выбираем ВПР.
- Первый аргумент – «Искомое значение» — ячейка с выпадающим списком. Таблица – диапазон с названиями материалов и ценами. Столбец, соответственно, 2. Функция приобрела следующий вид: .
- Нажимаем ВВОД и наслаждаемся результатом.
Изменяем материал – меняется цена:
Скачать пример функции ВПР в Excel
Так работает раскрывающийся список в Excel с функцией ВПР. Все происходит автоматически. В течение нескольких секунд. Все работает быстро и качественно. Нужно только разобраться с этой функцией.
Return Vlookup results on partial matches of a cell’s contents. You could type the start, end, or middle of a lookup value and still return a result.
I assume that you are already familiar with Vlookup, if you aren’t, then checkout our tutorials on lookup functions in Excel.
Sections:
Vlookup Match the Start of a Cell
Vlookup Match the End of a Cell
Vlookup Match Anywhere in the Cell
Notes
Vlookup Match the Start of a Cell
=VLOOKUP(A5 & "*",A1:B3,2,FALSE)
Result:
This works just like a regular Vlookup except for the asterisk.
The lookup value argument looks like this: A5 & «*»
It is the «*» that comes after the lookup value that makes this match the word «red» regardless of what comes after this word. The & (ampersand) is what we need to use to «attach» the lookup value to the asterisk symbol.
The asterisk must be surrounded by double quotation marks.
Also, the range_lookup must be set to False for this kind of Vlookup to work.
Vlookup Match the End of a Cell
=VLOOKUP("*" & A5,A1:B3,2,FALSE)
Result:
The asterisk at the start of the lookup_range argument is what makes this match the lookup value regardless of what comes before it in the cell.
You must always put the asterisk in this form «*» surrounded by double quotation marks and «attach» it to the lookup value by using the & (ampersand) character.
The range_lookup must be set to False for this kind of Vlookup to work.
Vlookup Match Anywhere in the Cell
=VLOOKUP("*" & A7 & "*",A1:B3,2,FALSE)
Result:
This Vlookup matches the first cell that contains the lookup value, regardless of where that value is found within the cell.
To make this example return 3, I changed the lookup value to green and put that value in cell A3, otherwise, a search for red would have returned 1 since it would match the contents in cell A1.
This version of the Vlookup function has two asterisks that surround the lookup_value; this is what allows a match to happen in this manner. The asterisks must be in this form: «*» with double quotation marks around them and they must be «attached» to the lookup value using the & (ampersand) character.
The range_lookup must be set to False for this kind of Vlookup to work.
Notes
This is a great way to use the Vlookup function in Excel but, remember, it will only return the first match that is made in the data set. As such, this type of lookup will not always be useful.
Download the attached file to work with these examples in Excel.
Similar Content on TeachExcel
Partial Match Lookup with Numbers in Excel
Tutorial:
Perform lookups on numbers with partial matches. For instance, find the first number that…
Wildcards in Excel
Tutorial:
Wildcards are characters that allow you to make more robust functions, searches, and filt…
Vlookup Date Picker in Excel (Dynamic)
Tutorial: Make a dynamically updating vlookup date picker for excel that allows you to choose a date…
How to Quickly Find Data Anywhere in Excel
Tutorial:
Finding specific records and/or cells is easy when using the Find tool in Excel. It is lo…
VLOOKUP() Function in Excel
Tutorial:
Full explanation of the Vlookup function in Excel, what it is, how to use it, and when yo…
Best Lookup Formula in Excel — Index and Match
Tutorial:
A lookup using INDEX and MATCH is like a VLOOKUP without the restrictions. Index and Ma…
Subscribe for Weekly Tutorials
BONUS: subscribe now to download our Top Tutorials Ebook!
=ПОИСКПОЗ(«*текст*», «диапазон», 0)
Чтобы получить позицию первого частичного совпадения (т. е. ячейку, содержащую текст, который вы ищете), вы можете использовать функцию ПОИСКПОЗ с шаблонами.
В показанном примере, формула в F8:
=ПОИСКПОЗ(«*»&F5&»*»,C5:C9,0)
Как эта формула работает
Функция поискпоз возвращает позицию, или индекса «» первого поискпоз в зависимости от значения подстановки в поиске.
Поискпоз поддерживает подстановочные символы звездочка «*» (один или несколько символов) или знак вопроса «?» (один символ), но только когда третий аргумент, ноль (полное совпадение), или частичное совпадение минус один.
В примере, мы берем значение в ячейку F5 и использовать конкатенацию совместить это значение со звездочкой (*) с обеих сторон. Массив подстановок серии C5:C9, и тип устанавливается равным нулю, чтобы все значения совпали.
Результат установки первой ячейки в диапазоне поиска, который содержит текст.
Для получения значения ячейки в определенном положении, используйте функцию индекс.
Файл Частичное совпадение в тексте MATCH или ПОИСКПОЗ xls