Функция впр в эксель

Содержание:

Поиск и подстановка по нескольким условиям

Постановка задачи

Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

Предположим, что у нас есть база данных по ценам товаров за разные месяцы:

Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

Плюсы : Простой способ, знакомая функция, работает с любыми данными.

Минусы : Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.

Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:

  1. Выделите пустую зеленую ячейку, где должен быть результат.
  2. Введите в строке формул в нее следующую формулу:

Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.

Как это на самом деле работает:

Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

Функция ВПР, пошаговая инструкция

Итак, изначально у нас есть две таблицы, которые Вы можете видеть на скриншоте ниже. Общим столбцом для обеих таблиц является «Должность».

Цель: добавить в первую (верхнюю) таблицу в столбец «Зарплата» данные из аналогичного столбца второй (нижней) таблицы.

Если Вы подумали, что это можно сделать и вручную, то это большая ошибка, поскольку строк в таблицах может быть многие тысячи, а порядок их следования в обеих таблицах вовсе не обязан совпадать!

При помощи же функции ВПР мы можем использовать Excel для совмещения двух таблиц, причём очень быстро. Начнём с ячейки C4 в первой таблице и на её примере покажем простую инструкцию по вставке функции ВПР.

Функция ВПР, инструкция

Добавим ВПР в ячейку.Здесь это ячейка С4. Вставить формулу можно либо вручную (соблюдая синтаксис, описанный ранее), либо при помощи Мастера функций.

Указываем параметр «Искомое значение»В нашем примере нужно указать Excel, что мы будем искать во второй таблицы. Поскольку общим столбцом в обеих таблицах является Должность, то в качестве аргумента укажем адрес ячейки, содержащей должность (в примере это B4).

Указываем параметр «Таблица».Указываем диапазон ячеек, в котором нужно искать должность из первой таблицы. В нашем примере это будет «A$10:B$12»

Ещё раз обращаем внимание на то, что заголовки таблицы в диапазон попадать не должны.

Указываем параметр «Номер столбца».Поскольку мы хотим в первую таблицу добавить значение зарплаты, то укажем номер столбца 2 («Должность» это первый столбец указанной в предыдущем аргументе таблицы, а «Зарплата» — второй столбец).

Указываем параметр «Интервальный просмотр».В данном случае нас интересует именно точное совпадение названия должности в обеих таблицах поэтому укажем интервальный просмотр 0.

Обратите внимание на символ «$» перед номерами строк в диапазоне (аргумент ВПР номер 2). Это нужно для того, чтобы номера строк оставались неизменными при копировании формулы в другие ячейки

В результате для ячейки C4 мы получим следующую формулу:=ВПР(B4; A$10:B$12; 2; 0)

Как работает функция ВПР

В нашем примере функция ВПР в Эксель для ячейки C4 работает следующим образом. Excel ищет слово «Директор» в колонке «Должность» второй таблицы (как и было указано ранее, поиск выполняется в первом столбце указанного диапазона). Искомое значение найдено во второй строке второй таблицы (заголовки не считаем).

Поскольку в качестве параметра «Номер столбца» мы указали 2, то функция ВПР вернёт в результате то, что указано в колонке «Зарплата».

Итого полученный результат: «40 000»

Это значение и будет результатом выполнения функции ВПР в данном конкретном случае. На скриншоте выше Вы можете видеть, что значение «40 000» вписано в ячейку C4 первой таблицы.

Скачать файл Excel (*.xlsx) с этим примером Вы можете после статьи.

Заполним аналогичными формулами остальные ячейки

Поскольку в Excel формула ВПР применяется обычно для обработки больших объёмов данных, то лучше сразу приучаться заполнять только одну формулу, а в остальные ячейки копировать данные. Ссылка на статью по особенностям копирования формул приводилась выше.

В данном случае лишь необходимо учесть, что диапазон ячеек, в котором производится поиск (аргумент 2), не должен меняться. Именно поэтому перед номерами строк в диапазоне поставлены символы «$». Для первого аргумента (искомое значение) это, напротив, не нужно, поскольку для каждой строки первой таблицы искомое значение будет в разной ячейке (в нашем примере: A4, A5, A6).

Выпадающий список для облегчения работы с ВПР

Часто функция ВПР не работает при мелких несовпадениях данных. То лишний пробел в тексте, то данные занесены с ошибками. Избежать всех этих неприятностей можно, используя для введения значений выпадающий список в Excel. Заводить его имеет смысл при работе с постоянно повторяющимися данными. Если существует некий справочник, который используется в качестве таблицы для сравнения, то диапазон сравнения можно принять как данные для выпадающего списка и использовать для формирования таблицы, в которую потом функцией ВПР будут подставляться данные. Курсор ставится в ячейку, куда нужно ввести значение. Далее на ленте находится подраздел «Данные», выбирается команда «Проверка данных». В диалоговом окне в поле «Тип данных» вносится значение «Список». В поле «Источник» прописывается диапазон справочной таблицы. Выпадающий список сформирован. Теперь при заполнении таблицы полное соответствие значений гарантированно.

Для приблизительного поиска данные должны быть отсортированы.

Если аргумент интервальный_просмотр равен ИСТИНА или опущен, то для правильной работы данные должны быть упорядоченны по возрастанию. Сортировка производится по тому столбцу, в котором ищем, то есть по первому. Если сортировку не сделать, то как только будет найдено значение большее, чем искомое, то процесс будет прекращен, несмотря на то, что ответ будет находиться чуть ниже.

Если ваш критерий начинается с буквы “A” (апельсин), а в начале списка находится слово, начинающееся с буквы “C” (допустим, сливы), то, оценив это, Эксель решит, что если встретилась буква “C”, то в списке букву “A” дальше искать бессмысленно. Работа остановится и будет возвращена ошибка #Н/Д (#N/A в англоязычной версии), несмотря на то, что правильное наименование в вашем списке было, но чуть ниже. Но вы об этом даже не узнаете.

Может случиться и другое – будет найден товар с похожим названием, сотрудник с похожей фамилией. В случае, если вы ищете конкретного человека либо конкретный товар, вряд ли вас устроит такой приблизительный поиск. Но самое плохое заключается в том, что вы не узнаете о том, что найдено просто первое похожее. А это может привести к ошибкам в принятии решений на основе ваших расчетов.

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

Упростить формулу ИНДЕКС. (Формулы)

​8​​ это происходит, если​​ только последний аргумент​ всего столбца/строки листа,​ сводные, с фильтрацией,​​ отображение данных из​​ ячеек B1:E1 (для​ значений:​ — функция​ПОИСКПОЗ​2​ искомое значение можно​6​​10​ ячейка, расположенная на​ (если в формуле​ а только столбца/строки​ в отдельной книге,​ списка магазинов по​End Sub​ круглые скобки, а​ ссылку или массив​ для расчета может​​ A11) и A2:A9​​В ячейке B12 введите​​ПОИСКПОЗ​

​в эту функцию.​​«неуд»​

​ получить, если записать​​перец​5​ пересечении указанных строки​ выше вместо 4​ входящего в массив).​​ выбирая в качестве​ выбранному.​iba2004​ таблицы должны быть​

​ значений из одного​​ быть задано с​ (для A13 и​ номер необходимого отдела,​​ Только заменив собственное​5​ в эту ячейку​бананы​«отлично»​​ и столбца, находится​ ввести 5, то​

​ Чтобы использовать массив​​ источника файл с​M73568​: 2 Казанский​ отделены друг от​ диапазона или нескольких​ помощью критерия –​​ A15), содержащих названия​ который потом выступит​Аргумент​ значение # н/д​3​ «=ИНДЕКС(А2:Е5;1;2)». Здесь мы​Последний 0 означает, что​1​ вне указанного диапазона.​​ будет подсчитана сумма​ значений, введите функцию​ общими данными, и​: Ну как минимум​Нужно из двухмерного​ друга, так как​ несмежных диапазонов, принимая​​ выбранного названия команды.​ команд. Для создания​

​ в качестве критерия​​тип_сопоставления​ идентифицирует ошибку, но​1​ использовали вариант из​ требуется найти точное​3​Рассмотрим несколько случаев использования​ первых 5-и значений). ​ ИНДЕКС() как формулу​ отправлять так, без​ если используется 2007​

​ массива (данные по​​ и аргументы в​ на вход ссылку​ Функция ИНДЕКС может​ первого выпадающего списка​ для поискового запроса.​в синтаксисе присваивается​​ не решило

Итак,​2​ предыдущих примеров, когда​ совпадение со значением​5​​ функции «ИНДЕКС» на​​Использование функции ИНДЕКС() в этом​​ массива.​​ исходных данных, только​​ эксель то:​ горизонтали и вертикали​​ Excel, то есть​​ на области ячеек​ возвращать не только​ необходимой перейти курсором​ Например, 3.​ значение -1, это​ очень важно, прежде​​«уд»​ номер строки и​ D1.​4​ практике.​ примере принципиально отличается​Пусть имеется одностолбцовый диапазон​ сводную.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС($96:$126;ПОИСКПОЗ($F7;$F$96:$F$126;0);ПОИСКПОЗ($I$3;$92:$92;0)-8);0)+ЕСЛИОШИБКА(ИНДЕКС($52:$82;ПОИСКПОЗ($F7;$F$52:$F$82;0);ПОИСКПОЗ($I$3;$48:$48;0)-8);0)+ЕСЛИОШИБКА(ИНДЕКС($139:$169;ПОИСКПОЗ($F7;$F$139:$F$169;0);ПОИСКПОЗ($I$3;$135:$135;0)-8);0)+ЕСЛИОШИБКА(ИНДЕКС($182:$212;ПОИСКПОЗ($F7;$F$182:$F$212;0);ПОИСКПОЗ($I$3;$178:$178;0)-8);0)​ которого уникальны) «вытащить»​ с использованием точки​ или константу массива.​

excelworld.ru>

​ от примеров рассмотренных​

  • Формула эксель проценты
  • Вычитание эксель формула
  • Формула цифры прописью эксель
  • Как в эксель убрать формулы оставив значения
  • Формула если эксель
  • Текст в число эксель формула
  • Формула для эксель на проценты
  • Сумма прописью формула эксель
  • Формула в эксель для расчета процента
  • Как посчитать проценты в эксель по формуле
  • Формула индекс поискпоз в excel
  • Формула процентов в эксель

Вставлен столбец

Аргумент col_index_num (номер_столбца) используется функцией ВПР, чтобы указать, какую информацию необходимо извлечь из записи.

В связи с тем, что аргумент введен как числовой индекс, он не очень надёжен. Если в таблицу вставить новый столбец, функция ВПР может перестать работать. Рисунок ниже показывает именно такой сценарий.

Столбец Quantity (Количество) был 3-м по счету, но после добавления нового столбца он стал 4-м. Однако функция ВПР автоматически не обновилась.

Решение 1

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

Решение 2

Другой вариант – вставить функцию MATCH (ПОИСКПОЗ) в аргумент col_index_num (номер_столбца) функции ВПР.

Функция ПОИСКПОЗ может быть использована для того, чтобы найти и возвратить номер требуемого столбца. Это сделает аргумент col_index_num (номер_столбца) динамичным, т.е. можно будет вставлять новые столбцы в таблицу, не влияя на работу функции ВПР.

Формула, показанная ниже, может быть использована в этом примере, чтобы решить проблему, описанную выше.

Optional arguments

If not found (XLOOKUP only)

If the XLOOKUP cannot find a value, it returns a default or a customized message. The message may read, “The member you are looking for is not registered in our database.”

Unless you add an IFERROR, the VLOOKUP will return its usual #N/A! (not available) error, which may make you believe you did something wrong and the VLOOKUP is not working.

Range lookup (VLOOKUP) / Match mode (XLOOKUP)

Exact (false/0) and approximate (true/1) matches in VLOOKUP have similar possibilities in XLOOKUP. Compared, it would look like this:

XLOOKUP programmed options

VLOOKUP options that perform similarly

Exact (0) — Default Exact (1)
Approximate (exact or next smaller value) (-1) Approximate – Default
Approximate (exact or next larger value) (1) None
Wildcard (?*~) (2) Exact (1) match using the same wildcard characters

The XLOOKUP defaults to an exact match where the VLOOKUP defaults to an approximate match. As the exact match is used most often, this setting would make the XLOOKUP more effective. On top of this, the XLOOKUP offers an additional option of an approximate match returning the next larger value.

Search mode (XLOOKUP)

The VLOOKUP is programmed to search from top to bottom (first to last) and will return the first matching item for exact and approximate matches.

The XLOOKUP has four possible search options:

  • First to last (1) — default
  • Last to first (-1)
  • Binary search — assume ascending order sort for lookup range (2)
  • Binary search — assume descending order sort for lookup range (-2)

The methods of searching open up additional functionality for the XLOOKUP — you can search for the last occurrence of an item in a range. The binary search method is faster in sheets with large quantities of data but relies on the fact that the data in the lookup range is sorted.

The VLOOKUP searches from first to last and can only look from last to first with the use of some serious maneuvering in Excel. 

Как работает функция?

Программа после поиска искомого значения переходит во второй столбец, чтобы извлечь возвращаемый элемент.

С одним условием

Рассмотрим функцию на простом примере поиска сотрудника по присвоенному ему коду. Таблицу нужно отсортировать в порядке возрастания.

  1. Кликнуть по ячейке справа от таблицы или под ней и вписать искомый номер.
  2. В ячейке рядом ввести функцию ВПР через знак «=», либо же использовать опцию «Вставить функцию» в разделе «Формулы». Проще использовать именно опцию – там есть подсказки, какие именно данные нужны.

  3. Задать параметры поиска, заполнив соответствующие поля. Интервальный просмотр в данном случае пропустим.

  4. Нажать «Enter» – и появится результат поиска.

Когда таблица не отсортирована и данные введены в хаотичном порядке, результат будет неправильный – программа найдет ближайшее соответствие («ИСТИНА»). Но можно не сортировать таблицу, а указать интервальный просмотр «ЛОЖЬ».

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

С несколькими условиями

Часто на практике требуется сравнить данные нескольких диапазонов и выбрать значение с учетом 2-х и более критериев. Здесь задействована также функция ЕСЛИ, которая отвечает как раз за условия.

Из таблицы нужно найти показатель выручки по конкретному менеджеру в определенный день:

  1. В первую выделенную ячейку вписать дату, во вторую – фамилию менеджера. В третьей ячейке будет происходить поиск.

  2. Кликнуть по пустой ячейке и ввести формулу =ВПР(G1;ЕСЛИ(C2:C12=G2;A2:D12;»»);4;0).

  3. Для подтверждения действия зажать комбинацию клавиш Ctrl+Shift+Enter. Нажатие на «Enter» не сработает в этом случае, потому что формула должна быть выполнена в массиве (об этом свидетельствуют скобки «{}», в которые взята вся формула).

Поиск по нескольким столбцам

Объем данных расширен, и нужно найти конкретное значение среди нескольких столбцов, просуммировав данные с помощью функции СУММ.

  1. Кликнуть по ячейке и ввести формулу =СУММ(ВПР(G1;A1:D12;{2;3;4};ЛОЖЬ)). Для третьего аргумента перечисление столбцов происходит в скобках «{}».

  2. Одновременно зажать клавиши Ctrl+Shift+Enter. В результате формула будет взята в фигурные скобки «{}».

Программа сравнивает данные в таблице и, как только определяет точное совпадение, суммирует их.

Таким же способом можно найти среднее значение с помощью СРЗНАЧ: =СРЗНАЧ(ВПР(G1;A1:D12;{2;3;4};ЛОЖЬ)).

Сравнение двух таблиц

ВПР помогает сопоставить значения в таблицах.

Необходимо сравнить зарплату сотрудников за 2 месяца, для этого:

  1. В таблице с зарплатой за март добавить еще один столбец.

  2. Клацнуть по первой ячейке в столбце и написать функцию ВПР со следующими аргументами: =ВПР($A$2:$A$12;ссылка_на_новый_лист!$A$2:$B$12;2;ЛОЖЬ). То есть нужно выделить диапазон с фамилиями менеджеров и сделать ссылки (строки и столбца) неизменными с помощью знака «$», посмотреть его в таблице с новой зарплатой, взять данные из второго столбца новой зарплаты и подставить их в ячейку С2. В результате отобразится первый результат.

  3. При помощи маркера заполнения протянуть полученное значение вниз.

По желанию теперь можно найти численную и процентную разницу.

Поиск в выпадающем списке

Необходимо настроить функцию так, чтобы при выборе элемента из выпадающего списка отображалось его числовое значение.

Для создания раскрывающегося списка:

  1. Поставить курсор в ячейку, где он будет располагаться.
  2. Перейти в раздел книги «Данные» – «Проверка данных».

  3. В «Типе данных» выбрать «Список», задать диапазон (в нашем случае – фамилии менеджеров).

  4. Нажать «Ок». Отобразится список.

  5. В следующую ячейку вписать функцию ВПР. Первый аргумент – ссылка на раскрывающийся список, второй – диапазон таблицы, третий – номер столбца, четвертый – «ЛОЖЬ». В итоге получится следующее: =ВПР(E1;A1:B12;2;ЛОЖЬ). Нажать «Enter».

Меняется фамилия в списке – меняется и зарплата.

Перенос данных

Есть таблица с менеджерами и объемом их продаж. Во второй таблице значится сумма премии за продажу для каждого менеджера. Необходимо перенести данные в левую таблицу, чтобы подсчитать общую выручку (произведение объема продаж и премии за 1 продажу: =ПРОИЗВЕД(C2*D2)).

  1. Выделить первую ячейку с премией в левой таблице. Написать функцию с аргументами, сделать неизменными значения из второй таблицы, указать в третьем аргументе столбец 2, вместо «ЛОЖЬ» можно вписать 0: =ВПР(B2;$G$2:$H$12;2;0)

  2. Протянуть формулу вниз, чтобы заполнить все ячейки.

Функция ВПР и выпадающий список

Допустим, какие-то данные у нас сделаны в виде раскрывающегося списка. В нашем примере – «Материалы». Необходимо настроить функцию так, чтобы при выборе наименования появлялась цена.

Сначала сделаем раскрывающийся список:

  1. Ставим курсор в ячейку Е8, где и будет этот список.
  2. Заходим на вкладку «Данные». Меню «Проверка данных».
  3. Выбираем тип данных – «Список». Источник – диапазон с наименованиями материалов.
  4. Когда нажмем ОК – сформируется выпадающий список.

Теперь нужно сделать так, чтобы при выборе определенного материала в графе цена появлялась соответствующая цифра. Ставим курсор в ячейку Е9 (где должна будет появляться цена).

  1. Открываем «Мастер функций» и выбираем ВПР.
  2. Первый аргумент – «Искомое значение» — ячейка с выпадающим списком. Таблица – диапазон с названиями материалов и ценами. Столбец, соответственно, 2. Функция приобрела следующий вид: .
  3. Нажимаем ВВОД и наслаждаемся результатом.

Изменяем материал – меняется цена:

Так работает раскрывающийся список в Excel с функцией ВПР. Все происходит автоматически. В течение нескольких секунд. Все работает быстро и качественно. Нужно только разобраться с этой функцией.

Почему функция не работает

Как видим, с помощью функции ВПР пользователь способен достать почти любую информацию с электронных таблиц. Тем не менее, в некоторых случаях пользователь может столкнуться с неудачей в ее использовании. Почему так происходит? Этому есть множество причин. Мы выберем наиболее частые.

Нужно точное совпадение

В последнем аргументе «Интервальный просмотр» нет острой необходимости, но важно понимать, что значение по умолчанию – ИСТИНА. Следовательно, чтобы функция без этого аргумента работала правильно, значения должны быть отсортированы по возрастанию

Поэтому если требуется уникальное значение, то нужно обязательно указывать последний аргумент со значением ЛОЖЬ.

Необходима фиксация ссылок на таблицу

Вероятно, у вас появится необходимость применить сразу несколько этих функций, чтобы получить больший объем данных

Если ВПР будет копироваться в несколько ячеек, то важно сделать часть ссылок абсолютными. . Очень хорошо это видно на примере ниже

Здесь были введены неверные диапазоны, и из-за этого функция не хочет работать

Очень хорошо это видно на примере ниже. Здесь были введены неверные диапазоны, и из-за этого функция не хочет работать.

19

Чтобы решить эту проблему, достаточно просто нажать на клавишу F4, чтобы зафиксировать адрес ссылки.

Простыми словами, формула должна обрести следующий вид.

=ВПР(($H$3;$B$3:$F$11;4;ЛОЖЬ)

Вставлена колонка

Для чего нужен аргумент «номер столбца»? Для того, чтобы задать функции, какие именно данные должны быть извлечены. 

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

20

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

Но так бывает не всегда. Тогда на помощь придет второе решение. Мы знаем, что в качестве аргумента функции может использоваться другая функция. Вот это и решение. Нужно просто использовать функцию ПОИСКПОЗ, которая возвращает правильный номер столбца. 

Увеличение размеров таблицы

После добавления новых строк в документ возможна необходимость изменения формулы с использованием функции ВПР, чтобы и они анализировались на предмет наличия определенной строки. На этом скриншоте демонстрируется пример этой ошибки. Здесь формула игнорирует некоторые ряды таблицы и поэтому не может найти нужный фрукт.

21

Чтобы решить эту проблему, необходимо превратить диапазон в таблицу. После этого новые строки будут автоматически добавляться к таблице и к формуле ВПР, соответственно. Также вместо таблицы возможно использование именованного диапазона.

Функция не умеет анализировать данные слева

Да, такое ограничение есть в функции ВПР, и с этим придется мириться. Она не умеет получать данные из тех столбцов, которые располагаются слева. Функция умеет лишь находить требуемые значения в крайней левой колонке и справа от нее.

Решение этой проблемы находится вообще вне плоскости функции ВПР. Простыми словами, ее вообще не нужно использовать. В качестве альтернативы, не имеющей такого ограничения, можно использовать сочетание функций ИНДЕКС и ПОИСКПОЗ

Дублирование данных

Еще один недостаток функции в том, что она умеет извлекать лишь первое найденное значение, нужно удалить дубликаты с помощью кнопки «Удалить дубликаты», располагаемой на вкладке «Данные».

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

ВПР нужна для замены вложенных операторов ЕСЛИ.

Одним из наиболее интересных применений ВПР является замена вложенных операторов ЕСЛИ. Наверняка вы когда-либо создавали серию вложенных как матрешки друг в друга условий и заметили, что они работают нормально, но требуют большого количества скобок. Запутаться и сделать логическую ошибку тут очень легко.

Обычное использование вложенных ЕСЛИ — это расчет процента скидки или уровня налоговой ставки на основе соответствующей шкалы.

В приведенном ниже скриншоте вы можете сравнить использование вложенной ЕСЛИ и то, что можно сделать при помощи функции ВПР.

Полная вложенная формула ЕСЛИ выглядит следующим образом:

Это прекрасно работает, но учтите, что логика и шкала оценки вставляются прямо в выражение. Если шкала по какой-либо причине изменится, вам нужно будет аккуратно изменить его, а затем, возможно, скопировать куда необходимо.

С ВПР все гораздо проще. Все, что вам нужно сделать, это убедиться, что список интервалов оценки правильно настроен, то есть отсортирован в порядке возрастания.

Обратите внимание, что используется интервальный поиск. Приятным бонусом этого подхода является то, что логика и оценки записаны прямо на лист Excel. Если что-то изменится, вы можете просто поправить критери границ дохода, а редактирование самого выражения не требуется

Приятным бонусом этого подхода является то, что логика и оценки записаны прямо на лист Excel. Если что-то изменится, вы можете просто поправить критери границ дохода, а редактирование самого выражения не требуется.

Сравниваем две таблицы при помощи функции ВПР в Excel

Предположим, что прайс-лист изменился, и нам необходимо сравнить две таблицы – новые и старые цены:

Прайс-лист

Для этого воспользуемся соответствующей функцией в «Excel»:

В старой таблице добавьте столбец «Новая цена»

Добавляем столбец «Новая цена»

Далее повторяем действия, которые мы совершали выше – выделяем первую верхнюю ячейку, выбираем «ВПР», в пункте «Таблица» получаем результаты и нажимаем на «F4».

в пункте «Таблица» получаем следующие результаты

То есть на скриншоте выше мы наблюдаем, что из таблицы с новыми ценами мы перенесли стоимость каждого материала в старую таблицу и получили следующие результаты.

Полученная таблица

Использование СУММПРОИЗВ

СУММПРОИЗВ одна из самых мощных формул Excel. У меня даже есть отдельная статья, посвященная данной формуле. Наш четвертый способ использовании нескольких условий заключается в написании формулы с функцией СУММПРОИЗВ. И выглядеть она будет следующим образом:

Принцип работы данной формулы схож с принципом работы предыдущего подхода. Создается виртуальная таблица, в которой сравниваются значения ячеек G1 и G2 с диапазонами B2:B13 и С2:С13 соответственно. Далее оба этих массива сопоставляются и получается массив из единиц и нулей, где единица присваивается той строке, в которой оба условия совпали. Далее данный виртуальный массив перемножается на диапазон D2:D13. Так как в нашем виртуальном массиве будет только одна единица в шестой строке, формула вернёт результат 189.

Данная функция не будет работать, если в диапазоне D2:D13 имеются текстовые значения.

Итак, какой же способ использовать? Хотя все они работают стабильно, я предпочитаю первый способ. В своей ежедневной работе, я предпочитаю работать с файлами, которые просты для понимания и поддаются изменениям. Оба эти требования отвечают условиям первого подхода.

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

Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки

Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы

Для удобства также приводим ссылку на оригинал (на английском языке).

Предположим, что у вас есть список номеров расположений Office, и вам нужно знать, какие сотрудники входят в каждый из них. Электронная таблица огромна, поэтому вы можете предположить, что она является сложной задачей. Это довольно просто сделать с помощью функции Просмотр.

Функции ВПР и ГПР вместе с функцией индекс и ПОИСКПОЗявляются наиболее полезными функциями в Excel.

Примечание: Функция «Мастер подСтановок» больше не доступна в Excel.

Вот пример того, как использовать функцию ВПР.

В этом примере ячейка B2 является первым аргументом— элементом данных, для работы которого необходима функция. Для функции ВПР первым аргументом является значение, которое нужно найти. Этим аргументом может быть ссылка на ячейку или фиксированное значение, например «Иванов» или «21 000». Второй аргумент — это диапазон ячеек с ячейкой C2: E7, в которой нужно найти искомое значение. Третьим аргументом является столбец в этом диапазоне ячеек, который содержит искомое значение.

Четвертый аргумент является необязательным. Введите значение истина или ложь. Если ввести значение TRUE или оставить аргумент пустым, функция возвращает приблизительное совпадение значения, указанного в первом аргументе. Если введено значение ложь, функция будет соответствовать значению, предоставленному первым аргументом. Другими словами, если оставить четвертый аргумент пустым — или ввести значение TRUE, вы получите большую гибкость.

В этом примере показано, как работает функция. При вводе значения в ячейке B2 (первый аргумент) функция ВПР ищет ячейки в диапазоне C2: E7 (второй аргумент) и возвращает ближайшее приблизительное совпадение из третьего столбца в диапазоне, столбец E (Третий аргумент).

Четвертый аргумент пустой, поэтому функция возвращает приблизительное совпадение. Если это не так, необходимо было бы ввести одно из значений в столбцах C или D, чтобы получить результат.

Когда вы хорошо знакомы с функцией ВПР, функция ГПР очень проста в использовании. При вводе одних и тех же аргументов выполняется поиск в строках, а не в столбцах.

Задача2. Поиск ближайшего числа

Предположим, что нужно найти товар, у которого цена равна или наиболее близка к искомой.

Чтобы использовать функцию ВПР() для решения этой задачи нужно выполнить несколько условий:

  1. Ключевой столбец, по которому должен производиться поиск, должен быть самым левым в таблице;
  2. Ключевой столбец должен быть обязательно отсортирован по возрастанию;
  3. Значение параметра Интервальный_просмотр нужно задать ИСТИНА или вообще опустить.

Для вывода Наименования товара используйте формулу =ВПР($A7;$A$11:$B$17;2;ИСТИНА)

Для вывода найденной цены (она не обязательно будет совпадать с заданной) используйте формулу: =ВПР($A7;$A$11:$B$17;1;ИСТИНА)

Как видно из картинки выше, ВПР() нашла наибольшую цену, которая меньше или равна заданной (см. файл примера лист «Поиск ближайшего числа»). Это связано следует из того как функция производит поиск: если функция ВПР() находит значение, которое больше искомого, то она выводит значение, которое расположено на строку выше его. Как следствие, если искомое значение меньше минимального в ключевом столбце, то функцию вернет ошибку #Н/Д.

Найденное значение может быть далеко не самым ближайшим. Например, если попытаться найти ближайшую цену для 199, то функция вернет 150 (хотя ближайшее все же 200). Это опять следствие того, что функция находит наибольшее число, которое меньше или равно заданному.

Если нужно найти по настоящему ближайшее к искомому значению, то ВПР() тут не поможет. Такого рода задачи решены в разделе Ближайшее ЧИСЛО. Там же можно найти решение задачи о поиске ближайшего при несортированном ключевом столбце.

Примечание. Для удобства, строка таблицы, содержащая найденное решение, выделена Условным форматированием. Это можно сделать с помощью формулы =ПОИСКПОЗ($A$7;$A$11:$A$17;1)=СТРОКА()-СТРОКА($A$10).

Примечание: Если в ключевом столбце имеется значение совпадающее с искомым, то функция с параметром Интервальный_просмотр =ЛОЖЬ вернет первое найденное значение, равное искомому, а с параметром =ИСТИНА — последнее (см. картинку ниже).

Если столбец, по которому производится поиск не самый левый, то ВПР() не поможет. В этом случае нужно использовать функции ПОИСКПОЗ()+ИНДЕКС() или ПРОСМОТР().

Функция офисного пакета Excel ВПР позволяет найти искомые данные в указанной таблице и в указанном столбце и вернуть его, как результат. Данная функция может быть очень полезной при сопоставлении данных из разных таблиц или при сведении информации в какой-то единый массив для дальнейшего анализа.

ВПР (VLOOKUP в английском варианте) расшифровывается, как вертикальный просмотр. Функция является одной из самых востребованных в Excel. Она позволяет, к примеру, легко отыскать и сопоставить телефонные данные человека или организаций из справочной таблицы по его имени. Можно сопоставить цену товаров по их наименованиям. Эти и многие другие возможности предоставит для Вас функция ВПР. Пользоваться ей достаточно просто.

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

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

Adblock
detector