Поиск неточного совпадения с помощью ВПР
Благодаря этой опции в работе ВПР, мы можем избежать сложных формул, чтобы найти нужный результат.
В массиве В5:С12 указаны процентные ставки по кредитам в зависимости от суммы займа. В ячейке В2 Указываем сумму кредита и хотим получить в С2 ставку для такой сделки. Задача сложна тем, что сумма может быть любой и вряд ли будет совпадать с указанными в массиве, поиск по точному совпадению не подходит:
Тогда запишем формулу нестрогого поиска: =ВПР(B2;B5:C12;2;ИСТИНА). Теперь из всех представленных в столбце В данных программа будет искать ближайшее меньшее. То есть, для суммы 8 000 будет отобрано значение 5000 и выведен соответствующий процент.
Нестрогий поиск ВПР в Excel
Для корректной работы функции нужно отсортировать первый столбец таблицы по возрастанию. Иначе, она может дать ошибочный результат.
Функция ГПР имеет такой же синтаксис, как и ВПР, но ищет результат не в столбцах, а в строках. То есть, просматривает таблицы не сверху вниз, а слева направо и выводит заданный номер строки, а не столбца.
Функция ПРОСМОТР работает аналогично ВПР, но имеет другой синтаксис. Я использую её, когда таблица данных содержит несколько десятков столбцов и для использования ВПР нужно дополнительно просчитывать номер выводимой колонки. В таких случаях функция ПРОСМОТР облегчает задачу. И так, синтаксис: =ПРОСМОТР(Искомое_значение; Массив_для_поиска; Массив_для_отображения):
- Искомое значение – данные или ссылка на данные, которые нужно искать;
- Массив для поиска – одна строка или столбец, в котором ищем аналогичное значение. Данный массив обязательно сортируем по возрастанию;
- Массив для отображения – диапазон, содержащий данные для выведения результатов. Естественно, он должен одного размера с массивом для поиска.
При такой записи вы даёте не относительную ссылку массива результатов. А прямо на него указываете, т.е. не нужно предварительно просчитывать номер выводимого столбца. Используем функцию ПРОСМОТР в первом примере для функции ВПР (основные средства, инвентарные номера): =ПРОСМОТР(B2;B5:B10;D5:D10). Задача успешно решена!
Функция «ПРОСМОТР» в Microsoft Excel
Еще один способ поиска данных – комбинирование функций ПОИСКПОЗ и ИНДЕКС.
Первая из них, служит для поиска значения в массиве и получения его порядкового номера: ПОИСКПОЗ(Искомое_значение; Просматриваемый_массив; ). Аргументы функции:
- Искомое значение – обязательный аргумент
- Просматриваемый массив – одна строка или столбец, в котором ищем совпадение. Обязательный аргумент
- Тип сопоставления – укажите «0» для поиска точного совпадения, «1» — ближайшее меньшее, «-1» — ближайшее большее. Поскольку функция проводит поиск с начала списка в конец, при поиске ближайшего меньшего – отсортируйте столбец поиска по убыванию. А при поиске большего – сортируйте его по возрастанию.
Позиция необходимого значения найдена, теперь можно вывести его на экран с помощью функции ИНДЕКС(Массив; Номер_строки; ):
- Массив – аргумент указывает из какого массива ячеек нужно выбрать значение
- Номер строки – указываете порядковый номер строки (начиная с первой ячейки массива), которую нужно вывести. Здесь можно записать значение вручную, либо использовать результат вычисления другой функции. Например, ПОИСКПОЗ.
- Номер столбца – необязательный аргумент, указывается, если массив состоит из нескольких столбцов. Если аргумент упущен, формула использует первый столбец таблицы.
Теперь скомбинируем эти функции, чтобы получить результат:
Функции ПОИСКПОЗ и ИНДЕКС в Эксель
Вот такие способы поиска и выведения на экран данных существуют в Excel. Далее, Вы можете использовать их в расчетах, использовать в презентации, выполнять с ними операции, указывать в качестве аргументов других функций и др.
Чувствуете, как растут и крепчают Ваши знания и умения? Тогда не останавливайтесь, продолжайте читать ! В следующем посте мы будем рассматривать расчеты кредита в Эксель: будет сложно и интересно!
Функция ВПР в Excel и её секреты. Поиск VLOOKUP в базах данных
Функция ВПР в Exce l позволяет работать с большими таблицами и базами данных. В статье рассмотрим примеры использования функции ВПР в Excel. Дополнительно с функцией Excel VLOOKUP разберем динамический индекс Col index num, IF и поиск в нескольких столбцах или базе ДВССЫЛ INDIRECT.
VLOOKUP ищет указанное вами значение в электронной таблице и возвращает из другого столбца ответ на ваш запрос. Формула Excel может использоваться для поиска любых данных на основе уникального идентификатора при работе в программе.
Это позволяет сэкономить много времени и избежать потенциальных ошибок при сравнении больших таблиц и важных баз данных. В вашем распоряжении есть две функции – VLOOKUP и HLOOKUP. Единственная разница между этой парой выражений заключается в том, что первая ищет информацию по вертикали, а вторая – по горизонтали. Функция ВПР в Excel имеет 4 аргумента:
- Критерий поиска (Lookup_value)
- Матрица (Table_array)
- Индекс (Col_index_num)
- Порядок сортировки (Range_lookup).
Для изучения каждого из этих аргументов будет использовано наглядное пособие – расчеты заработной платы сотрудников.
Как работает функция?
Программа после поиска искомого значения переходит во второй столбец, чтобы извлечь возвращаемый элемент.
С одним условием
Рассмотрим функцию на простом примере поиска сотрудника по присвоенному ему коду. Таблицу нужно отсортировать в порядке возрастания.
- Кликнуть по ячейке справа от таблицы или под ней и вписать искомый номер.
- В ячейке рядом ввести функцию ВПР через знак «=», либо же использовать опцию «Вставить функцию» в разделе «Формулы». Проще использовать именно опцию – там есть подсказки, какие именно данные нужны.
- Задать параметры поиска, заполнив соответствующие поля. Интервальный просмотр в данном случае пропустим.
- Нажать «Enter» – и появится результат поиска.
Когда таблица не отсортирована и данные введены в хаотичном порядке, результат будет неправильный – программа найдет ближайшее соответствие («ИСТИНА»). Но можно не сортировать таблицу, а указать интервальный просмотр «ЛОЖЬ».
Чтобы найти другой элемент, следует просто изменить первый аргумент, и результат автоматически преобразится.
С несколькими условиями
Часто на практике требуется сравнить данные нескольких диапазонов и выбрать значение с учетом 2-х и более критериев. Здесь задействована также функция ЕСЛИ, которая отвечает как раз за условия.
Из таблицы нужно найти показатель выручки по конкретному менеджеру в определенный день:
- В первую выделенную ячейку вписать дату, во вторую – фамилию менеджера. В третьей ячейке будет происходить поиск.
- Кликнуть по пустой ячейке и ввести формулу =ВПР(G1;ЕСЛИ(C2:C12=G2;A2:D12;»»);4;0).
- Для подтверждения действия зажать комбинацию клавиш Ctrl+Shift+Enter. Нажатие на «Enter» не сработает в этом случае, потому что формула должна быть выполнена в массиве (об этом свидетельствуют скобки «{}», в которые взята вся формула).
Поиск по нескольким столбцам
Объем данных расширен, и нужно найти конкретное значение среди нескольких столбцов, просуммировав данные с помощью функции СУММ.
- Кликнуть по ячейке и ввести формулу =СУММ(ВПР(G1;A1:D12;{2;3;4};ЛОЖЬ)). Для третьего аргумента перечисление столбцов происходит в скобках «{}».
- Одновременно зажать клавиши Ctrl+Shift+Enter. В результате формула будет взята в фигурные скобки «{}».
Программа сравнивает данные в таблице и, как только определяет точное совпадение, суммирует их.
Таким же способом можно найти среднее значение с помощью СРЗНАЧ: =СРЗНАЧ(ВПР(G1;A1:D12;{2;3;4};ЛОЖЬ)).
Сравнение двух таблиц
ВПР помогает сопоставить значения в таблицах.
Необходимо сравнить зарплату сотрудников за 2 месяца, для этого:
- В таблице с зарплатой за март добавить еще один столбец.
- Клацнуть по первой ячейке в столбце и написать функцию ВПР со следующими аргументами: =ВПР($A$2:$A$12;ссылка_на_новый_лист!$A$2:$B$12;2;ЛОЖЬ). То есть нужно выделить диапазон с фамилиями менеджеров и сделать ссылки (строки и столбца) неизменными с помощью знака «$», посмотреть его в таблице с новой зарплатой, взять данные из второго столбца новой зарплаты и подставить их в ячейку С2. В результате отобразится первый результат.
- При помощи маркера заполнения протянуть полученное значение вниз.
По желанию теперь можно найти численную и процентную разницу.
Поиск в выпадающем списке
Необходимо настроить функцию так, чтобы при выборе элемента из выпадающего списка отображалось его числовое значение.
Для создания раскрывающегося списка:
- Поставить курсор в ячейку, где он будет располагаться.
- Перейти в раздел книги «Данные» – «Проверка данных».
- В «Типе данных» выбрать «Список», задать диапазон (в нашем случае – фамилии менеджеров).
- Нажать «Ок». Отобразится список.
- В следующую ячейку вписать функцию ВПР. Первый аргумент – ссылка на раскрывающийся список, второй – диапазон таблицы, третий – номер столбца, четвертый – «ЛОЖЬ». В итоге получится следующее: =ВПР(E1;A1:B12;2;ЛОЖЬ). Нажать «Enter».
Меняется фамилия в списке – меняется и зарплата.
Перенос данных
Есть таблица с менеджерами и объемом их продаж. Во второй таблице значится сумма премии за продажу для каждого менеджера. Необходимо перенести данные в левую таблицу, чтобы подсчитать общую выручку (произведение объема продаж и премии за 1 продажу: =ПРОИЗВЕД(C2*D2)).
- Выделить первую ячейку с премией в левой таблице. Написать функцию с аргументами, сделать неизменными значения из второй таблицы, указать в третьем аргументе столбец 2, вместо «ЛОЖЬ» можно вписать 0: =ВПР(B2;$G$2:$H$12;2;0)
- Протянуть формулу вниз, чтобы заполнить все ячейки.
Поиск приблизительного значения ВПР в Excel
В примере (снимок № 2) ВПР используется для вычисления прибавки на основе текущего оклада. Критерий отбора – это заработная плата, написана в F3. Матрица – это диапазон $I$3:$J$10 (весь массив).
Адрес является абсолютным (это показывают знаки $), чтобы осталась возможность копировать всю получившуюся конструкцию без изменения диапазона. Col_index_num равен 2 (процент повышения находится в соседнем массиве).
Параметр порядка сортировки Range_lookup – 1, потому что нужно, чтобы формула выдавала результат, даже если нет идеального соответствия. Если Lookup_value составляет 35 850, ВПР не может найти идеальное совпадение в массиве, но ближайшее минимальное число – 35 000, поэтому ответом на выражение будет 4%. На этом ликбез « ВПР в Excel для чайников » заканчивается.
Проверка соответствия части ячейки определенному тексту
Для выполнения этой задачи используйте функции Если, Поиски функция номер .
Примечание: Функция Поиск не учитывает регистр.
У нас имеется данные для анализа производимой продукции. Нам нужно автоматически выделить все изделия, которые были выпущены в 2006 году. К сожалению, в таблице недостает еще одного столбца содержащего значения года производства каждого изделия. Но видно, что в фрагменте идентификатора (ID) изделия указывается год производства. В таком случае нам нужно выполнить поиск по части текста в Excel. А потом мы будем использовать условное форматирование с текстовыми функциями в формуле. Благодаря этому молниеносно реализуем решение задачи.
Пример таблицы производимой продукции:
Чтобы на основе идентификатора выделить изделия 2006-го года выпуска выполним шаги следующих действий:
- Выделите диапазон ячеек A2:A10 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выберите: «Использовать формулу для определения форматируемых ячеек».
- Чтобы выполнить поиск части текста в ячейке Excel, введите формулу: =ПСТР(A2;5;4)=»2006″
- Нажмите на кнопку «Формат», чтобы задать красный цвет заливки для ячейки. И нажмите ОК на всех открытых окнах.
Экспонированные цветом изделия 2006-го года выпуска:
Далее разберем принцип действия формулы и ее модификации схожими текстовыми функциями.
Функция СУММЕСЛИ и подстановочные знаки в Excel
Функция СУММЕСЛИ, пожалуй, одна из самых полезных и часто используемых в Excel. У этой функции есть недостаток. Для суммирования значений с помощью этой функции критерий должен совпадать символ в символ.
Например, представим, что вас зовут Иван Петров и у нас есть таблица с данными продаж, а также фамилиями и именами продавцов. Если мы будем знать только ваше имя, то мы не сможем суммировать данные из этой таблицы с помощью функции СУММЕСЛИ только по имени. Нам потребуется знать вашу фамилию.
Это проблема. Но у нас есть решение в виде подстановочных знаков.
С помощью подстановочных знаков мы можем осуществлять частичный поиск данных. Для этого достаточно к значению критерия поиска добавить подстановочный знак.
Какие подстановочные знаки наиболее часто встречаются?
- * – звездочка
- ? – вопросительный знак
Итак, давайте теперь рассмотрим как подстановочные знаки помогут нам с суммированием данных при использовании функции СУММЕСЛИ.
Подстановочный знак “звездочка” и функция СУММЕСЛИ
“Звездочка” это самый популярный подстановочный знак. Она используется для поиска любой строки знаков.
Например, если в запросе будет указано “г*д”, то поиску будут соответствовать результаты “год”, “город”, “грейд” и т.д.
Если “звездочка” будет стоять в конце запроса, например “Иван*”, то результату поиска будут соответствовать значения “Иван Маслов”, “Иван Мельников”, “Иван Петров”, “Иванвадпловапло” и т.д.
Рассмотрим работу подстановочного знака и функции СУММЕСЛИ на примере. Представим, что у нас есть таблица со счетами по трем товарам с суммами выплат. Наша задача посчитать сумму поступлений по каждому продукту, на основе оплаченных счетов.
Даже если мы составим сводную таблицу на основе этих данных, мы не сможем суммировать данные по отдельным продуктам.
Для решения этой задачи мы выпишем в отдельную таблицу перечень продуктов, а в соседнем столбце пропишем формулу с функцией СУММЕСЛИ и подстановочным знаком “звездочка”:
В этой формуле мы для аргумента “критерий” указали ссылку на ячейку с названием товара и добавили с помощью знака “&” подстановочный знак “звездочка”. Excel, при таком запросе будет считать, что любое значение в таблице, начинающееся с названия продукта соответствует результату поиска
При этом не важно, какие символы будут указаны в таблице после названия продукта
Вопросительный знак и функция СУММЕСЛИ
Вопросительный знак также может эффективно использоваться с функцией СУММЕСЛИ для поиска данных.
Вопросительный знак используется для подстановки любого одного символа. Например, если поисковый запрос будет “г?д”, то результатом могут быть слова “гид”, “гад”, “год”.
Рассмотрим работу вопросительного знака совместно с функцией СУММЕСЛИ. Представим, что у нас есть таблица со счетами по трем товарам с суммами выплат. Названия по Товару А отличаются одним символом. Как раз с помощью вопросительного знака мы можем задать настройку поиска, учитывающую тот фактор, что один символ у нас может быть абсолютно любым.
Формула с функцией СУММЕСЛИ будет выглядеть так:
При этом, если вы укажете более одного вопросительного знака, система будет осуществлять поиск с учетом нескольких любых символов.
Итак, подстановочные знаки “звездочка” и вопросительный знак эффективно использовать вместе с функциями СУММЕСЛИ и СУММЕСЛИМН:
- Когда вы понимаете что в таблице, данные которой вы хотите суммировать, могут содержаться значения не полностью совпадающие с критерием поиска. В таких случаях используйте подстановочный знак “звездочка” .
- Когда вы понимаете, что в таблице есть несколько знаков, которые могут отличаться от критерия поиска. В таких случаях используйте подстановочный знак
Поиск одинаковых значений в диапазоне Excel
Чтобы проконтролировать наличие дубликатов среди значений таблицы создадим формулу, которая сможет информировать нас о наличии дубликатов и подсчитывать их количество. Для этого в ячейку E2 вводим формулу:
Более того для диапазона табличной части создадим правило условного форматирования:
- Выделите диапазон B6:J12 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Правила выделения ячеек»-«Равно».
- В левом поле введите значение $B$1, а из правого выпадающего списка выберите опцию «Светло-красная заливка и темно-красный цвет» и нажмите ОК.
- В ячейку B1 введите значение 3478 и полюбуйтесь на результат.
Как видно при наличии дубликатов формула для заголовков берет заголовок с первого дубликата по горизонтали (с лева на право). А формула для получения названия (номера) строки берет номер с первого дубликата по вертикали (сверху вниз). Для исправления данного решения есть 2 пути:
- Получить координаты первого дубликата по горизонтали (с лева на право). Для этого только в ячейке С3 следует изменить формулу на: В результате получаем правильные координаты как для листа, так и для таблицы:
- Получить координаты первого дубликата по вертикали (сверху вниз). Для этого только в ячейке С2 следует изменить формулу на:
В данном случаи изменяем формулы либо одну либо другую, но не две сразу. Стоит напомнить о том, что в ячейке С3 должна оставаться старая формула:
Здесь правильно отображаются координаты первого дубликата по вертикали (с верха в низ) – I7 для листа и Август; Товар2 для таблицы. Оставим такой вариант для следующего завершающего примера.
Особенности использования функции ПОИСКПОЗ в Excel
Функция имеет следующую синтаксическую запись:
=ПОИСКПОЗ( искомое_значение;просматриваемый_массив; )
- искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
- просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
- – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
- -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
- 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
- 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
- Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
- Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
- Если аргумент явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
- Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.
Поиск позиции ТЕКСТа в EXCEL с выводом значения из соседнего столбца
history 14 апреля 2013 г.
- Группы статей
- Поиск ТЕКСТовых значений
- Поиск позиции
- Условное форматирование
Для нахождения позиции значения в столбце, с последующим выводом соответствующего значения из соседнего столбца в EXCEL, существует специальная функция ВПР() , но для ее решения можно использовать также и другие функции. Рассмотрим задачу в случае текстовых значений.
Пусть в диапазоне А4:В15 имеется таблица с перечнем сотрудников и их зарплат (фамилии сотрудников не повторяются).
Задача
Требуется, введя в ячейку D4 фамилию сотрудника, вывести в другой ячейке его зарплату. Решение приведено в файле примера .
Решение
Алгоритм решения задачи следующий:
- находим в списке кодов значение, совпадающее с критерием;
- определяем номер позиции (строку) найденного значения;
- выводим значение из соседнего столбца той же строки.
Решение практически аналогично поиску числового значения из статьи Поиск позиции ЧИСЛА с выводом соответствующего значения из соседнего столбца . Для этого типа задач в EXCEL существует специальная функция ВПР() , но для ее решения можно использовать и другие функции (про функцию ВПР() см. эту статью ).
Решение
Если несколько значений удовл. критерию
берется первое сверху
берется первое сверху
берется первое сверху
= ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2))
берется последнее сверху
если столбец отсортирован по возрастанию, то берется последнее сверху, если нет, то результат непредсказуем
соответствующие значения суммируются
соответствующие значения суммируются
Для функции ВПР() требуется, чтобы столбец, по которому производится поиск, был левее столбца, который используется для вывода. Обойти это ограничение позволяет, например, вариант с использованием функций ИНДЕКС() и ПОИСКПОЗ() . Эквивалентная формула приведена в статье о функции ВПР() .
Задача подразумевает, что диапазон поиска содержит неповторяющиеся значения. В самом деле, если критерию удовлетворяет сразу несколько значений, то из какой строки выводить соответствующее ему значение из соседнего столбца? Если все же диапазон поиска содержит повторяющиеся значения, то второй столбец из таблицы выше поясняет какое значение будет выведено (обычно возвращается первое значение, удовлетворяющее критерию).
Если диапазон поиска содержит повторяющиеся значения и требуется вернуть не одно, а все значения, удовлетворяющие критерию, то читайте статью Запрос на основе Элементов управления формы .
Совет : Если в диапазон поиска постоянно вводятся новые значения, то для исключения ввода дубликатов следует наложить определенные ограничения (см. статью Ввод неповторяющихся значений ). Для визуальной проверки наличия дубликатов можно использовать Условное форматирование (см. статью Выделение повторяющихся значений ).
Для организации динамической сортировки пополняемого диапазона поиска можно использовать идеи из статьи Сортированный список .