Excel поиск наиболее близкого значения


Для поиска ЧИСЛА ближайшего к заданному, в EXCEL существует специальные функции, например,

ВПР()

,

ПРОСМОТР()

,

ПОИСКПОЗ()

, но они работают только если исходный список сортирован по возрастанию или убыванию. Используя

формулы массива

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

Решение задачи поиска ближайшего числового значения в случае

сортированного

списка приведена в статье

Поиск ЧИСЛА ближайшего к заданному. Сортированный список

.

Рассмотрим задачу в более общем виде. Пусть имеется несортированный список чисел (в диапазоне

A4:A15

). (см.

Файл примера

).

В качестве критерия для поиска используем любое число, введем его в ячейку

С4

. Найдем значение из диапазона, ближайшее к критерию с помощью

формул массива

:


Решение


Как происходит поиск


Примечание

=

ИНДЕКС(A4:A15;ПОИСКПОЗ( МАКС(ЕСЛИ(A4:A15<=C4;A4:A15;»»)); $A$4:$A$15;0);1)

ищется

наибольшее

значение, которое меньше, чем искомое значение (ближайшее сверху)

Если заданное значение меньше минимального, то выдается ошибка #Н/Д

=

ИНДЕКС(A4:A15;ПОИСКПОЗ( МИН(ЕСЛИ(A4:A15>=C4;A4:A15;»»)); $A$4:$A$15;0);1)

ищется

наименьшее

значение, которое больше, чем искомое значение (ближайшее снизу)

Если заданное значение больше максимального, то выдается ошибка #Н/Д

=

ИНДЕКС(A4:A15;ПОИСКПОЗ( МИН(ABS(A4:A15-C4)); ABS(A4:A15-C4);0))

ищется

ближайшее

к критерию число

если ближайшее снизу и ближайшее сверху отстоят на одинаковое расстояние от критерия, то берется ближайшее число, расположенное первым в списке (например, ближайшее к 5 в списке 2;

4

;

6

; 8 будет 4, а в списке 2;

6

;

4

; 8 — будет 6), т.е. предсказать будет ли число ближайшим сверху или снизу невозможно

=

МАКС(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МИН(A4:A15)))

ищется

ближайшее

к критерию число

если обнаружено 2 ближайших числа (одно больше, другое меньше критерия), то выводится то, которое больше

=

МИН(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МАКС(A4:A15)))

ищется

ближайшее

к критерию число

если обнаружено 2 ближайших числа (одно больше, другое меньше критерия), то выводится то, которое меньше


СОВЕТ:

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

F9

.

При поиске ближайшего с дополнительным условием см. статью

Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список

.

Каждый пользователь Excel без проблем может найти наименьшее или наибольшее значение в диапазоне чисел, используя для этого функции: =МИН(), =МАКС() или =НАИМЕНЬШИЙ() и =НАИБОЛЬШИЙ(). Так же легко найти номер позиции исходного значения в диапазоне ячеек с помощью функции =ПОИСКПОЗ(). Но в данном примере будет более интересное решение, которое позволяет выполнить поиск ближайшего значения в Excel. Создадим формулу, которая способна находить наиболее приближенное значение к соответствию запроса пользователя. Например, несли диапазон данных не содержит значений для точного совпадения с запросом пользователя то функция ПОИСКПОЗ возвращает ошибку #Н/Д. Но пользователя вполне устроил бы и приближенный результат, не зависимо от того будет ли он немного меньше или немного больше соответствовать запросу. Важным преимуществом такой формулы заключается в том, что нет необходимости использовать условную сортировку для решения такого рода задач.

Как найти ближайшее значение в Excel?

Возьмем для примера, конкретную ситуацию. Фирма переводит склад на новое место, и чтобы полностью заполнить фуру товарами с одинаковым объемом упаковок (например, офисная бумага для принтера формат A4 по 500 листов) нужно вложить еще 220 пачке. Но желательно не перемешивать ассортимент продукции. То есть нужно постараться избежать пересорта товаров при переезде на новый склад. Заполним оставшееся пустое место в фуре пачками офисной бумаги одного и того же типа стандарта качества. У нас есть остатки по товарам всех ассортиментов:

Остатки по складу.

Нам нужно выполнить поиск ближайшего меньшего значения Excel. Чтобы найти ассортимент с наиболее подходящим количеством по остаткам (не более 220 шт.) создаем формулу:

  1. В ячейке E2 введите значение 220 – это количество пачек офисной бумаги, которое соответствует для заполнения свободного объема в фуре.
  2. В ячейке E3 вводим формулу:
    Подобную формулу можно использовать для поиска ближайшего значения в диапазоне Excel, а не только в одном столбце.
  3. Для подтверждения ввода формулы нажимаем комбинацию клавиш CTRL+SHIFT+Enter, так как формула должна выполняться в массиве. Если вы сделали все правильно, то в строке формул вы должны заметить фигурные скобки.

Результат вычисления формулы для поиска наиболее приближенного значения:

Поиск ближайшего значения.

В результате поедет комплект одного ассортимента бумаги тип-9 (195шт.). Так как его количество на остатках наиболее приближенно соответствует к объему в 220 пачек. Фура будет максимально возможно заполнена, а на складе будет меньше пересорта по ассортиментам товаров.



Принцип поиска ближайшего значения по формуле:

Из каждого числа остатков в диапазоне ячеек B3:B12 вычитается исходное значение в ячейке E2. Таким образом создается условная таблица значений равных этой разницы, с размером соответствующему числу ячеек в диапазоне B3:B12. Функция ABS возвращает абсолютную величину числа по модулю и в этой же условной таблице заменяет все значения отрицательных чисел на положительные (без знака минус). Из полученных данных находим наименьшее значение с помощью функции =МИН(). А функция =ПОИСКПОЗ() возвращает нам позицию в условной таблице для наименьшего значения найденного функций МИН. Полученный результат вычисления функцией ПОИСКПОЗ является аргументом для функции =ИНДЕКС(), которая возвращает нам значение ячейки находящиеся под номером позиции в диапазоне B3:B12.

Другие возможности Excel для поиска значений

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

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

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

Скачать пример поиска ближайшего значения в Excel

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

Поиск ближайшего числа

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

  • Расчет скидки в зависимости от объема.
  • Вычисление размера бонусов в зависимости от выполнения плана.
  • Калькуляция тарифов на доставку в зависимости от расстояния.
  • Подбор подходящей тары для товара и т.д.

Причем окргуление может требоваться как в меньшую, так и в большую сторону — в зависимости от ситуации.

Есть несколько способов — очевидных и не очень — для решения такой задачи. Давайте рассмотрим их последовательно.

Для начала, представим себе поставщика, который дает скидки на опт, причем процент скидки зависит от количества купленного товара. Например, при покупке свыше 5 штук дается скидка 2%, а при покупке от 20 штук — уже 6% и и т.д.

Как же быстро и красиво вычислить процент скидки при вводе количества купленного товара?

Исходные данные

Способ 1. Вложенные ЕСЛИ

Способ из серии «а что тут думать — прыгать надо!». Используем вложенные функции ЕСЛИ (IF) для последовательной проверки попадания значения ячейки в каждый из интервалов и вывода скидки для соответствующего диапазона. Но формула при этом может получиться весьма громоздкой: 

Исходные данные 

Думаю, очевидно, что отлаживать такую «матрёшку-монстра» или пытаться спустя какое-то время добавить в неё парочку новых условий — это весело.

Кроме того, в Microsoft Excel есть ограничение на вложенность для функции ЕСЛИ — 7 раз в старых и — 64 раза в новых версиях. А если нужно больше?

Способ 2. ВПР с интервальным просмотром

Этот способ гораздо компактнее. Для расчета процента скидки используем легендарную функцию ВПР (VLOOKUP) в режиме приблизительного поиска:

ВПР с интервальным просмотром

где

  • B4 — значение количества товара в первой сделке, для которого мы ищем скидку
  • $G$4:$H$8 — ссылка на таблицу скидок — без «шапки» и с закрепленными значком $ адресами.
  • 2 — порядковый номер столбца в таблице скидок, из которого мы хотим получить значение скидки
  • ИСТИНА — здесь и зарыта «собака». Если в качестве последнего аргумента функции ВПР указать ЛОЖЬ (FALSE) или 0, то функция будет искать строгое совпадение в столбце количества (и в нашем случае выдаст ошибку #Н/Д, поскольку значения 49 в таблице скидок нет). А вот если вместо ЛОЖЬ написать ИСТИНА (TRUE) или 1, то функция будет искать не точное, а ближайшее наименьшее значение и выдаст нужный нам процент скидки.

Минусом этого способа является необходимость обязательной сортировки таблицы скидок по возрастанию по первому столбцу. Если такой сортировки нет (или она выполнена в обратном порядке), то наша формула работать не будет:

Поиск не работает без сортировки

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

Способ 3. Поиск ближайшего наибольшего функциями ИНДЕКС и ПОИСКПОЗ

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

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

Поиск ближайшего наибольшего

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

Способ 4. Новая функция ПРОСМОТРХ (XLOOKUP)

Если у вас версия Office 365 со всеми установленными обновлениями, то вместо ВПР (VLOOKUP) можно использовать её аналог — функцию ПРОСМОТРХ (XLOOKUP), которую я уже подробно разбирал:

Поиск ближайшего с функцией ПРОСМОТРХ

Здесь:

  • B4 — исходное значение количества товара, для которого мы ищем скидку
  • $G$4:$G$8 — диапазон, где мы ищем совпадения
  • $H$4:$H$8 — диапазон результатов, откуда нужно вернуть скидку
  • Четвёртый аргумент (-1) включает нужный нам поиск ближайшего наименьшего числа вместо точного совпадения.

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

Но, к сожалению, эта функция пока далеко не у всех — только у счастливых обладателей Office 365.

Способ 5. Power Query

Если вы ещё не знакомы с мощной и при этом совершенно бесплатной надстройкой Power Query для Excel, то вам сюда. Если уже знакомы, то давайте попробуем использовать её для решения нашей задачи.

Сначала выполним подготовительные операции:

  1. Преобразуем наши исходные таблицы в динамические (умные) с помощью сочетания клавиш Ctrl+T или командой Главная — Форматировать как таблицу (Home — Format as Table).
  2. Для наглядности дадим им имена Продажи и Скидки на вкладке Конструктор (Design).
  3. По очереди загрузим каждую из таблиц в Power Query используя кнопку Из таблицы/диапазона на вкладке Данные (Data — From table/range). В последних версиях Excel эту кнопку переименовали в С листа (From sheet).
  4. Если у таблиц различаются названия столбцов с количеством как в нашем примере («Количество товара» и «Количество от…»), то их в Power Query необходимо переименовать и назвать одинаково.
  5. После этого можно вернуться обратно в Excel, выбрав в окне редактора Power Query команду Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…) и затем вариант Только создать подключение (Only create connection).

    Загруженные в Power Query исходные данные

  6. Дальше начинается самое интересное. Если у вас есть опыт работы в Power Query, то, предполагаю, дальнейший ход мыслей должен быть в сторону слияния этих двух таблиц запросом объединения (merge) а-ля ВПР, как это было в предыдущем способе. На самом деле, нам потребуется слияние в режиме добавления, что на первый взгляд совсем не очевидно. Выбираем в Excel на вкладке Данные — Получить данные — Объединить запросы — Добавить (Data — Get Data — Combine queries — Append) и затем наши таблицы Продажи и Скидки в появившемся окне:

    Склейка таблиц

  7. После нажатия на ОК наши таблицы будут склеены в единое целое — друг под друга. Обратите внимание, что столбцы с количеством товара в этих таблицах встали друг под друга, т.к. у них одинаковые названия:

    Добавленные друг под друга таблицы

  8. Если вам важна исходная последовательность строк в таблице продаж, то, чтобы после всех последующих преобразований потом можно было её восстановить, добавим к нашей таблице столбец с нумерацией, используя команду Добавление столбца — Столбец индекса (Add column — Index column). Если последовательность строк для вас роли не играет, то этот шаг можно пропустить.
  9. Теперь с помощью выпадающего списка в шапке таблицы отсортируем её по столбцу Количество по возрастанию:

    Отсортированная таблица

  10. И главный трюк: щёлкаем правой кнопкой мыши по заголовку столбца Скидка выбираем команду Заполнить — Вниз (Fill — Down). Пустые ячейки с null автоматически заполнятся предыдущими значениями скидок:

    Заполняем пустые ячейки скидками

  11. Осталось восстановить исходную последовательность строк сортировкой по столбцу Индекс (его потом можно смело удалить) и избавиться от ненужных строк фильтром null по столбцу Код сделки:

    Готовый результат

Ссылки по теме

  • Использование функции ВПР (VLOOKUP) для поиска и подстановки данных
  • Использование функции ВПР (VLOOKUP) с учетом регистра
  • Двумерный ВПР (VLOOKUP)

Skip to content

ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР

В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.

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

  • Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
  • Как использовать формулу ИНДЕКС ПОИСКПОЗ
  • ИНДЕКС+ПОИСКПОЗ вместо ВПР?
  • Поиск справа налево
  • Двусторонний поиск в строках и столбцах
  • ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
  • Как найти среднее, максимальное и минимальное значение
  • Что делать с ошибками поиска?

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

Функции Excel ИНДЕКС и ПОИСКПОЗ — основы

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

Функция ИНДЕКС

Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:

ИНДЕКС(массив,номер_строки,[номер_столбца])

Вот простое объяснение каждого параметра:

  • массив — это диапазон ячеек, именованный диапазон или таблица.
  • номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
  • номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.

Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .

А вот пример формулы ИНДЕКС в самом простом виде:

=ИНДЕКС(A1:C10;2;3)

Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.

Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.

Функция ПОИСКПОЗ

Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.

Синтаксис функции ПОИСКПОЗ следующий:

ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])

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

Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:

=ПОИСКПОЗ(«лимоны»;B1:B3;0)

Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .

На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.

Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.

Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.

Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel

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

Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:

ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))

Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:

Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))

Теперь давайте проанализируем, что на самом деле делает каждый компонент этой формулы:

  • Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
  • Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.

Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.

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

=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))

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

Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»

Вот как это будет выглядеть:

=ВПР(F1; A2:C10; 3; 0)

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

ИНДЕКС+ПОИСКПОЗ вместо ВПР?

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

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

4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

  1. Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
  2. Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.

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

  1. Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
  2. Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.

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

ИНДЕКС ПОИСКПОЗ в Excel – примеры формул

Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.

Формула для поиска справа налево

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

Для этого примера мы добавим столбец «Ранг» слева от нашей основной таблицы и попытаемся выяснить, какое место занимает столица России по численности населения среди других перечисленных  столиц.

Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:

=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))

СоветЕсли вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками  (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.

Двусторонний поиск в строках и столбцах

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

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

Просто используйте две функции ПОИСКПОЗ, вложенных друг в друга: одну – для получения номера строки, а другую – для получения номера столбца. 

ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))

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

С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:

=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))

Как работает эта формула?

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

ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.

ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.

Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:

ИНДЕКС(B2:D11, 3, 3)

В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно? 

ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям

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

Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:

{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter.

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

Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))

Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.

Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:

Рис5

Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))

Разберем пошагово, как это работает.

Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.

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

Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ

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

Максимальное значение.

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

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))

Скриншот с примером находится чуть ниже.

Минимальное значение

Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))

Ближайшее к среднему

Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))

В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:

  • Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
  • Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
  • Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.

В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).

Что делать с ошибками поиска?

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

=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)

И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:

Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:

=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)

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

Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.

  • Возможен ли «левый» поиск?

  • Повлияет ли на результат вставка и удаление столбцов?

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

  • Возможен ли поиск по строкам и столбцам?

    Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
    ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
    Подробную инструкцию смотрите здесь.

  • Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?

    Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.

Вот еще несколько статей по этой теме:

Здравствуйте, суть вопроса:

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

наиболее близкое значение.

В приложенном файле пример:
1. заданное значение «151,9» (F1);
2. формула по функции ВПР (F4);
3. искомое значение = 0,5.
Допустим я отсортировываю первый столбец по возрастанию и использую в формуле «интервальный просмотр» ЛОЖЬ, в этом случае формула выдаст мне наиболее близкое значение к искомому, но меньше, чем заданное. А мне нужно не только меньшее, но и большее значение наиболее близкое.

Например: задаю значение 151,8 либо 152 и мне формула должна выдать значение 0,5.
задаю значение 123 и формула должна выдать 0,55.

Совет: Попробуйте использовать новые функции ПРОСМОТРX и XMATCH, а также улучшенные версии функций, описанные в этой статье. Эти новые функции работают в любом направлении и возвращают точные совпадения по умолчанию, что упрощает и упрощает работу с ними по сравнению с предшественниками.

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

Функции ВВ., а также ИНДЕКС и ВЫБОРПОЗ — одни из самых полезных функций в Excel.

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

Ниже в качестве примера по выбору вы можете найти пример использования в этой области.

=ВПР(B2;C2:E7,3,ИСТИНА)

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

Четвертый аргумент необязателен. Введите истина или ЛОЖЬ. Если ввести ИСТИНА или оставить аргумент пустым, функция возвращает приблизительное совпадение значения, указанного в качестве первого аргумента. Если ввести ЛОЖЬ, функция будет соответствовать значению, заведомо первому аргументу. Другими словами, если оставить четвертый аргумент пустым или ввести ИСТИНА, это обеспечивает большую гибкость.

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

Типичный пример использования функции ВПР

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

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

Использование индекса и MATCH вместо ВРОТ

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

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

Использование функций ИНДЕКС и ПОИСКПОЗ для поиска значения

Дополнительные примеры использования индексов и MATCH вместо В ПРОСМОТР см. в статье билла Https://www.mrexcel.com/excel-tips/excel-vlookup-index-match/ Билла Джилена (Bill Jelen), MVP корпорации Майкрософт.

Попробуйте попрактиковаться

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

Пример работы с ВЛОКОНПОМ

Скопируйте следующие данные в пустую таблицу.

Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).

Плотность

Вязкость

Температура

0,457

3,55

500

0,525

3,25

400

0,606

2,93

300

0,675

2,75

250

0,746

2,57

200

0,835

2,38

150

0,946

2,17

100

1,09

1,95

50

1,29

1,71

0

Формула

Описание

Результат

=ВПР(1,A2:C10,2)

Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца B в той же строке.

2,17

=ВПР(1,A2:C10,3,ИСТИНА)

Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца C в той же строке.

100

=ВПР(0,7,A2:C10,3,ЛОЖЬ)

Используя точное соответствие, функция ищет в столбце A значение 0,7. Поскольку точного соответствия нет, возвращается сообщение об ошибке.

#Н/Д

=ВПР(0,1,A2:C10,2,ИСТИНА)

Используя приблизительное соответствие, функция ищет в столбце A значение 0,1. Поскольку 0,1 меньше наименьшего значения в столбце A, возвращается сообщение об ошибке.

#Н/Д

=ВПР(2,A2:C10,2,ИСТИНА)

Используя приблизительное соответствие, функция ищет в столбце A значение 2, находит наибольшее значение, которое меньше или равняется 2 и составляет 1,29, а затем возвращает значение из столбца B в той же строке.

1,71

Пример ГВ.Г.В.В.

Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.

Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).

Оси

Подшипники

Болты

4

4

9

5

7

10

6

8

11

Формула

Описание

Результат

=ГПР(«Оси»;A1:C4;2;ИСТИНА)

Поиск слова «Оси» в строке 1 и возврат значения из строки 2, находящейся в том же столбце (столбец A).

4

=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ)

Поиск слова «Подшипники» в строке 1 и возврат значения из строки 3, находящейся в том же столбце (столбец B).

7

=ГПР(«П»;A1:C4;3;ИСТИНА)

Поиск буквы «П» в строке 1 и возврат значения из строки 3, находящейся в том же столбце. Так как «П» найти не удалось, возвращается ближайшее из меньших значений: «Оси» (в столбце A).

5

=ГПР(«Болты»;A1:C4;4)

Поиск слова «Болты» в строке 1 и возврат значения из строки 4, находящейся в том же столбце (столбец C).

11

=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА)

Поиск числа 3 в трех строках константы массива и возврат значения из строки 2 того же (в данном случае — третьего) столбца. Константа массива содержит три строки значений, разделенных точкой с запятой (;). Так как «c» было найдено в строке 2 того же столбца, что и 3, возвращается «c».

c

Примеры индекса и match

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

Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.

Совет: Перед тем как вировать данные в Excel, установите для столбцов A–D ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).

Счет

Город

Дата выставления счета

Счет с самой ранней датой по городу, с датой

3115

Казань

07.04.12

=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)

3137

Казань

09.04.12

=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy»)

3154

Казань

11.04.12

=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy»)

3191

Казань

21.04.12

=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy»)

3293

Казань

25.04.12

=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy»)

3331

Казань

27.04.12

3350

Казань

28.04.12

3390

Казань

01.05.12

3441

Казань

02.05.12

3517

Казань

08.05.12

3124

Орел

09.04.12

3155

Орел

11.04.12

3177

Орел

19.04.12

3357

Орел

28.04.12

3492

Орел

06.05.12

3316

Челябинск

25.04.12

3346

Челябинск

28.04.12

3372

Челябинск

01.05.12

3414

Челябинск

01.05.12

3451

Челябинск

02.05.12

3467

Челябинск

02.05.12

3474

Челябинск

04.05.12

3490

Челябинск

05.05.12

3503

Челябинск

08.05.12

3151

Нижний Новгород

09.04.12

3438

Нижний Новгород

02.05.12

3471

Нижний Новгород

04.05.12

3160

Москва

18.04.12

3328

Москва

26.04.12

3368

Москва

29.04.12

3420

Москва

01.05.12

3501

Москва

06.05.12

Предположим, у вас есть список чисел в столбце, и теперь вам нужно найти ближайшее или ближайшее значение к заданному значению из списка чисел. Как вы с этим справляетесь? На самом деле, вы можете найти ближайшее значение или ближайшее значение в Excel, выполнив следующие действия.

  • Найдите ближайшее или ближайшее число с помощью формулы массива
  • Легко выбрать все ближайшие числа в диапазоне отклонения заданного значения
  • Найдите ближайшую или ближайшую текстовую строку с помощью удобного инструмента

Найдите ближайшее или ближайшее число с помощью формулы массива

Например, у вас есть список чисел в столбце A, и теперь вы найдете ближайшее значение или ближайшее значение 18 из столбца A. Вы можете сделать это следующим образом:

Выберите пустую ячейку, введите формулу ниже и нажмите Shift + Ctrl + Enter ключи вместе.

=INDEX(B3:B22,MATCH(MIN(ABS(B3:B22-E2)),ABS(B3:B22-E2),0))

Примечание: В этой формуле массива {=INDEX(B3:B22,MATCH(MIN(ABS(B3:B22-E2)),ABS(B3:B22-E2),0))},

  • B3: B22 это диапазон, в котором вы хотите найти конкретное значение
  • E2 это значение поиска, с которым вы хотите сравнивать.

Легко выберите все ближайшие числа в диапазоне отклонения заданного значения с помощью Kutools for Excel

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

Kutools for Excel— Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 60-дневная пробная версия, кредитная карта не требуется! Get It Now

Например, в нашем примере мы определяем значение отклонения как 2, а данное значение равно 18. Следовательно, нам нужно найти и выбрать значения между 16 (= 18-2) и расширение 20 (= 18 + 2). Пожалуйста, просмотрите следующие шаги:

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

2. В открывшемся диалоговом окне Select Specific Cells,
(1) Проверьте Ячейка вариант в Тип выбора раздел;
(2) В Конкретный тип раздел, щелкните первый раскрывающийся список и выберите Больше или равно от него и введите 16 в следующее поле, а затем выберите Меньше или равно из второго раскрывающегося списка и введите 20 в следующее поле. Смотрите левый снимок экрана:

3, Нажмите Ok кнопку, чтобы применить эту утилиту. Затем появляется диалоговое окно, в котором показано, сколько ячеек было выбрано. И вы увидите, что все ближайшие значения в диапазоне отклонения данного значения выбраны, как показано ниже:


Найдите ближайшую или ближайшую текстовую строку с помощью удобного инструмента

Если у вас есть Kutools for Excel установлен, вы можете применить его функцию нечеткого поиска, чтобы легко найти ближайшие текстовые строки из заданного диапазона в Excel. Пожалуйста, сделайте следующее:

Kutools for Excel— Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 60-дневная пробная версия, кредитная карта не требуется! Get It Now

1. Нажмите Кутулс > Найти > Нечеткий поиск , чтобы включить панель нечеткого поиска в вашей книге.

2. На панели нечеткого поиска настройте следующим образом ;
(1) Проверьте Указанный вариант и выберите диапазон, в котором вы будете искать ближайшие текстовые строки;
(2) Проверьте Найти по указанному тексту вариант;
(3) Перейдите к Текст поле и введите указанный текст, ближайшие текстовые строки которого вы найдете;
(4) В Максимальное количество разных символов поле, пожалуйста, введите номер. В моем случае я набираю 1;
(5) В Длина строки ячеек не менее поле, пожалуйста, введите номер. В моем случае я набираю 5;

3, Нажмите Найти кнопку.

Теперь разверните результаты поиска, и вы увидите, что все ближайшие текстовые строки перечислены в большом количестве. Смотрите скриншот:


Демо: выберите все ближайшие значения в диапазоне отклонения от заданного значения


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (42)


Оценок пока нет. Оцените первым!

Содержание

  • Применение оператора ПОИСКПОЗ
    • Способ 1: отображение места элемента в диапазоне текстовых данных
    • Способ 2: автоматизация применения оператора ПОИСКПОЗ
    • Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
    • Способ 4: использование в сочетании с другими операторами
  • Вопросы и ответы

Функция ПОИСКПОЗ в Microsoft Excel

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

Применение оператора ПОИСКПОЗ

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

Синтаксис оператора ПОИСКПОЗ выглядит так:

=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])

Теперь рассмотрим каждый из трех этих аргументов в отдельности.

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

«Просматриваемый массив» – это адрес диапазона, в котором расположено искомое значение. Именно позицию данного элемента в этом массиве и должен определить оператор ПОИСКПОЗ.

«Тип сопоставления» указывает точное совпадение нужно искать или неточное. Этот аргумент может иметь три значения: «1», «0» и «-1». При значении «0» оператор ищет только точное совпадение. Если указано значение «1», то в случае отсутствия точного совпадения ПОИСКПОЗ выдает самый близкий к нему элемент по убыванию. Если указано значение «-1», то в случае, если не обнаружено точное совпадение, функция выдает самый близкий к нему элемент по возрастанию. Важно, если ведется поиск не точного значения, а приблизительного, чтобы просматриваемый массив был упорядочен по возрастанию (тип сопоставления «1») или убыванию (тип сопоставления «-1»).

Аргумент «Тип сопоставления» не является обязательным. Он может быть пропущенным, если в нем нет надобности. В этом случае его значение по умолчанию равно «1». Применять аргумент «Тип сопоставления», прежде всего, имеет смысл только тогда, когда обрабатываются числовые значения, а не текстовые.

В случае, если ПОИСКПОЗ при заданных настройках не может найти нужный элемент, то оператор показывает в ячейке ошибку «#Н/Д».

При проведении поиска оператор не различает регистры символов. Если в массиве присутствует несколько точных совпадений, то ПОИСКПОЗ выводит в ячейку позицию самого первого из них.

Способ 1: отображение места элемента в диапазоне текстовых данных

Давайте рассмотрим на примере самый простой случай, когда с помощью ПОИСКПОЗ можно определить место указанного элемента в массиве текстовых данных. Узнаем, какую позицию в диапазоне, в котором находятся наименования товаров, занимает слово «Сахар».

  1. Выделяем ячейку, в которую будет выводиться обрабатываемый результат. Щелкаем по значку «Вставить функцию» около строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. Производится запуск Мастера функций. Открываем категорию «Полный алфавитный перечень» или «Ссылки и массивы». В списке операторов ищем наименование «ПОИСКПОЗ». Найдя и выделив его, жмем на кнопку «OK» в нижней части окна.
  4. Переход к аргументам функции ПОИСКПОЗ в Microsoft Excel

    Lumpics.ru

  5. Активируется окно аргументов оператора ПОИСКПОЗ. Как видим, в данном окне по числу количества аргументов имеется три поля. Нам предстоит их заполнить.

    Так как нам нужно найти позицию слова «Сахар» в диапазоне, то вбиваем это наименование в поле «Искомое значение».

    В поле «Просматриваемый массив» нужно указать координаты самого диапазона. Его можно вбить вручную, но проще установить курсор в поле и выделить этот массив на листе, зажимая при этом левую кнопку мыши. После этого его адрес отобразится в окне аргументов.

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

    После того, как все данные установлены, жмем на кнопку «OK».

  6. Аргументы функции ПОИСКПОЗ в Microsoft Excel

  7. Программа выполняет вычисление и выводит порядковый номер позиции «Сахар» в выделенном массиве в той ячейке, которую мы задали ещё на первом шаге данной инструкции. Номер позиции будет равен «4».

Результат вычисления функции ПОИСКПОЗ в Microsoft Excel

Урок: Мастер функций в Экселе

Способ 2: автоматизация применения оператора ПОИСКПОЗ

Выше мы рассмотрели самый примитивный случай применения оператора ПОИСКПОЗ, но даже его можно автоматизировать.

  1. Для удобства на листе добавляем ещё два дополнительных поля: «Заданное значение» и «Номер». В поле «Заданное значение» вбиваем то наименование, которое нужно найти. Пусть теперь это будет «Мясо». В поле «Номер» устанавливаем курсор и переходим к окну аргументов оператора тем же способом, о котором шел разговор выше.
  2. Переход к аргументам функции в Microsoft Excel

  3. В окне аргументов функции в поле «Искомое значение» указываем адрес ячейки, в которой вписано слово «Мясо». В полях «Просматриваемый массив» и «Тип сопоставления» указываем те же самые данные, что и в предыдущем способе – адрес диапазона и число «0» соответственно. После этого жмем на кнопку «OK».
  4. Окно аргументов функции ПОИСКПОЗ в Microsoft Excel

  5. После того, как мы произвели вышеуказанные действия, в поле «Номер» отобразится позиция слова «Мясо» в выбранном диапазоне. В данном случае она равна «3».
  6. Результаты обработки функции ПОИСКПОЗ в Microsoft Excel

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

Изменение искомого слова в Microsoft Excel

Способ 3: использование оператора ПОИСКПОЗ для числовых выражений

Теперь давайте рассмотрим, как можно использовать ПОИСКПОЗ для работы с числовыми выражениями.

Ставится задача найти товар на сумму реализации 400 рублей или самый ближайший к этой сумме по возрастанию.

  1. Прежде всего, нам нужно отсортировать элементы в столбце «Сумма» по убыванию. Выделяем данную колонку и переходим во вкладку «Главная». Щелкаем по значку «Сортировка и фильтр», который расположен на ленте в блоке «Редактирование». В появившемся списке выбираем пункт «Сортировка от максимального к минимальному».
  2. Сортировка в Microsoft Excel

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

    В поле «Искомое значение» вбиваем число «400». В поле «Просматриваемый массив» указываем координаты столбца «Сумма». В поле «Тип сопоставления» устанавливаем значение «-1», так как мы производим поиск равного или большего значения от искомого. После выполнения всех настроек жмем на кнопку «OK».

  4. Окно аргументов функции ПОИСКПОЗ для числового значения в Microsoft Excel

  5. Результат обработки выводится в предварительно указанную ячейку. Это позиция «3». Ей соответствует «Картофель». Действительно, сумма выручки от реализации этого продукта самая близкая к числу 400 по возрастанию и составляет 450 рублей.

Результаты функции ПОИСКПОЗ для числового значения в Microsoft Excel

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

Урок: Сортировка и фильтрация данных в Excel

Способ 4: использование в сочетании с другими операторами

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

=ИНДЕКС(массив;номер_строки;номер_столбца)

При этом, если массив одномерный, то можно использовать только один из двух аргументов: «Номер строки» или «Номер столбца».

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

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

  1. Отсортировываем элементы в столбце «Сумма выручки» по возрастанию. Для этого выделяем необходимый столбец и, находясь во вкладке «Главная», кликаем по значку «Сортировка и фильтр», а затем в появившемся меню кликаем по пункту «Сортировка от минимального к максимальному».
  2. Сортировка от минимального к максимальному в Microsoft Excel

  3. Выделяем ячейку в поле «Товар» и вызываем Мастер функций обычным способом через кнопку «Вставить функцию».
  4. Вызов мастера функций в Microsoft Excel

  5. В открывшемся окне Мастера функций в категории «Ссылки и массивы» ищем наименование «ИНДЕКС», выделяем его и жмем на кнопку «OK».
  6. Переход к аргументам функции ИНДЕКС в Microsoft Excel

  7. Далее открывается окошко, которое предлагает выбор варианта оператора ИНДЕКС: для массива или для ссылки. Нам нужен первый вариант. Поэтому оставляем в этом окне все настройки по умолчанию и жмем на кнопку «OK».
  8. Выбор типа функции ИНДЕКС в Microsoft Excel

  9. Открывается окно аргументов функции ИНДЕКС. В поле «Массив» указываем адрес того диапазона, где оператор ИНДЕКС будет искать название продукции. В нашем случае – это столбец «Наименование товара».

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

    Третий аргумент функции ИНДЕКС «Номер столбца» оставляем пустым. После этого жмем на кнопку «OK».

  10. Аргументы функции ИНДЕКС в Microsoft Excel

  11. Как видим, функция ИНДЕКС при помощи оператора ПОИСКПОЗ в заранее указанную ячейку выводит наименование «Чай». Действительно, сумма от реализации чая (300 рублей) ближе всего по убыванию к сумме 350 рублей из всех имеющихся в обрабатываемой таблице значений.
  12. Результат функции ИНДЕКС в Microsoft Excel

  13. Если мы изменим число в поле «Приблизительная сумма выручки» на другое, то соответственно автоматически будет пересчитано и содержимое поля «Товар».

Изменение приблизительной суммы в Microsoft Excel

Урок: Функция ИНДЕКС в Excel

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

Просмотров: 214

Функция ИНДЕКС, ПОИСКПОЗ и СМЕЩ. Постановка задачи

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

Функция ИНДЕКС. Получение данных из таблиц.

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

Функция ПОИСКПОЗ.

Данная функция позволяет найти порядковый номер элемента в списке. В ней по очереди, разделяя точкой с запятой в русской версии Windows или запятой в русифицированной версии, надо указать такие данные:

  • Искомое значение. Это значение, которое мы будем искать в списке. Значение должно быть уникальным, иначе Excel найдет только первое!
  • Диапазон списка. Может состоять только из одного столбца или одной сроки. Это важно! Если попробовать выделить две колонки или две строки, программа выдаст ошибку!
  • Способ поиска. Тут надо указать вариант, согласно которому приложение выполнит поиск позиции для нашего искомого значения. Тут возможны следующие типы.

1  Будет найдено ближайшее к нашему значение, которое не превышает его, то есть НЕ БОЛЬШЕ нужного. Равным может быть, но не больше. Список должен располагаться ПО ВОЗРАСТАНИЮ.

-1  Excel найдет значение, которое самое близкое к заданному нами, но НЕ МЕНЬШЕ ЕГО. Список должен быть ПО УБЫВАНИЮ.

0   Запустится поиск ТОЧНОГО СООТВЕТСТВИЯ значения из списка заданному нами. Сортировка тут НЕ ТРЕБУЕТСЯ.

Наглядное применение ПОИСКПОЗ.

Посмотрите на скриншот.

Функция ИНДЕКС. Получение данных из таблиц.

Особое внимание обратите вот на что. Во второй и третьей формуле задан тип поиска равный 1 (единице). Однако если в первой из них Excel искал число, которое действительно присутствует в списке, то есть число 50, то он его порядковый номер и указал. А вот числа 68 в списке нет, поэтому он указал порядковый номер значения из списка, которое находится ближе всего к нужному нам, то есть к 68, но его не превышает. А это – число 60.

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

Получение данных из таблиц

Замечу, что для текстовых списков надо указывать максимально возможное ТЕКСТОВОЕ значение, например, так: «ЯЯЯ». В случае с числовыми данными указывает максимальное ЧИСЛОВОЕ значение, например, 99999999.

Функция ИНДЕКС в Excel и ее особенности.

Функция ИНДЕКС показывает значение на пересечении заданных строки и столбца в указанной таблице. При ее написании надо последовательно указать таблицу, номер строки в ней и номер столбца в ней. Из пересечения указанных строки и столбца Excel и возьмет нужные нам данные.

Функция ИНДЕКС. Получение данных из таблиц.

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

Получение данных из таблиц

Стоит поменять в ней значение, и результат функции СУММ поменяется.

Получение данных из таблиц

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

  1. Области, которые будут обработаны. Их пишут в отдельных скобках, разделяя точкой с запятой или запятой в зависимости от ваших настроек.
  2. Строка в выбранной области, которая интересует
  3. Столбец, на пересечении которого с указанной строкой надо взять значение
  4. Область из перечисленных в начале.

Результат работы может выглядеть так, как на рисунке.

Получение данных из таблиц

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

Функция СМЕЩ в Excel и тонкости ее применения.

.Функция СМЕЩ показывает значение ячейки или диапазона, которые смещен относительно указанного адреса на нужное количество строк и столбцов. Ее синтаксис следующий.

СМЕЩ(1;2;3;4;5)

  1. Ссылка, от которой отсчитывается перемещение.
  2. На сколько строк надо переместиться.
  3. Сколько  столбцов надо отсчитать для перемещения.
  4. Объем строк в диапазоне, на которые перемещаемся. Указывать не обязательно.
  5. Количество столбцов, на которые перемещаемся. Тоже указывать не обязательно.

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

Приведем пример.

Функция ИНДЕКС. Получение данных из таблиц.

В примере выше происходит перемещение от ячейки G11 сначала на 2 строчки вверх, затем на 4 колонки влево. В найденной ячейки находится число 10, которое и является результатом работы функции.

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

Получение данных из таблиц

И еще. Как и в случае с ИНДЕКС, внутри другой формулы результат работы СМЕЩ может использоваться как часть адреса.

Получение данных из таблиц

Первый вариант создания “левого ВПР”. Комбинируем ИНДЕКС и ПОИСКПОЗ. 

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

Функция ИНДЕКС. Получение данных из таблиц.

Данные формулы конечно можно объединить в одну. Если в последней формуле вместо адреса К8 указать ее содержимое, то есть записать ПОИСКПОЗ(K6;C7:C86;0), то результат работы не изменится. Итоговая формула будет уже такой:

Получение данных из таблиц

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

Второй вариант создания “левого ВПР”. Комбинируем СМЕЩ и ПОИСКПОЗ.

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

Функция ИНДЕКС. Получение данных из таблиц.

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

Получение данных из таблиц

Особенности связки СМЕЩ и ПОИСКПОЗ

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

Делаем выводы.

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

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

admin / 17.10.2018

Поиск позиции в excel

Содержание

  • Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС
  • Пример работы ПОИСКПОЗ по двум столбцам Excel
    • Описание примера как работает функция ПОИСКПОЗ:
  • Поиск значения в диапазоне таблицы Excel по столбцам и строкам
  • Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)
  • Поиск значения в массиве Excel
    • Поиск значения в столбце Excel
    • Поиск значения в строке Excel
  • Как получить заголовок столбца и название строки таблицы
  • Поиск одинаковых значений в диапазоне Excel
  • Поиск ближайшего значения в диапазоне Excel
  • Автоматическая подстановка данных
  • Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
  • Функция ВПР с несколькими условиями критериев поиска в Excel
  • Работа функции ВПР по нескольким критериям
  • Функция ПОИСКПОЗ в программе Microsoft Excel
  • Обработка Массивов в ms excel
  • Функция ПОИСКПОЗ
  • Функции ссылок и массивов Excel
  • Функция ВПР
  • Функция ГПР
  • Функция СТРОКА
  • Функция СТОЛБЕЦ
  • Функция АДРЕС
  • Функция ДВССЫЛ
  • Функция ЧСТРОК
  • Функция ЧИСЛСТОЛБ
  • Функция СМЕЩ
  • Функция ПОИСКПОЗ
  • Функция ПОИСКПОЗ в Excel

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

Пример работы ПОИСКПОЗ по двум столбцам Excel

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

В обеих столбцах названия автомобилей и отделов повторяются, но нет парных дубликатов. Например, в списке 2 автомобиля марки Ford, но оба они из разных отделов. Если мы захотим узнать номер позиции этого автомобиля, то в результате функция ПОИСПОЗ вернет нам позицию в диапазоне где встречается первое значение – 3. То есть Ford из отдела продаж:

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

  1. В ячейку B16 введите значение Ford, а в ячейку C16 название интересующего нас отдела – Маркетинговый.
  2. В ячейку C17 введите функцию со следующими аргументами:
  3. После ввода для подтверждения функции нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как она должна выполнятся в массиве. Если все сделано правильно в строке формул появятся фигурные скобки.

Как видно функция самостоятельно справилась с решением поставленной задачи.

Описание примера как работает функция ПОИСКПОЗ:

Чтобы функция ПОИСКПОЗ работала с таблицей с двумя столбцами как с одним мы использовали в ее аргументах оператор &. Учитывая этот оператор первый аргументом для функции теперь является значение FordМаркетинговый. По этой причине первый Ford из отдела продаж не учитывается, ведь теперь для функции два форда – это разные значения (FordПродажи и FordМаркетинговый). Просматриваемый диапазон теперь распространяется на 2 столбца, так же благодаря оператору &, который мы применяем во втором аргументе для склейки значений из двух смежных диапазонов. Таким образом, значения берутся одновременно из двух столбцов Автомобиль и Отдел.

Читайте также: Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования

Поиск значения в диапазоне таблицы Excel по столбцам и строкам

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

Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)

Да, конечно можно воспользоваться инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, чтобы вызвать окно поиска значений на листе Excel. Или же создать для таблицы правило условного форматирования. Но тогда нельзя будет выполнить дальнейших вычислений с полученными результатами. Поэтому необходимо создать и правильно применить соответствующую формулу.

Поиск значения в массиве Excel

Схема решения задания выглядит примерно таким образом:

  • в ячейку B1 мы будем вводить интересующие нас данные;
  • в ячейке B2 будет отображается заголовок столбца, который содержит значение ячейки B1
  • в ячейке B3 будет отображается название строки, которая содержит значение ячейки B1.

Фактически необходимо выполнить поиск координат в Excel. Для чего это нужно? Достаточно часто нам нужно получить координаты таблицы по значению. Немного напоминает обратный анализ матрицы. Конкретный пример в двух словах выглядит примерно так. Поставленная цель в цифрах является исходным значением, нужно определить кто и когда наиболее приближен к этой цели. Для примера используем простую матрицу данных с отчетом по количеству проданных товаров за три квартала, как показано ниже на рисунке. Важно, чтобы все числовые показатели совпадали. Если нет желания вручную создавать и заполнять таблицу Excel с чистого листа, то в конце статьи можно скачать уже с готовым примером.

Последовательно рассмотрим варианты решения разной сложности, а в конце статьи – финальный результат.

Поиск значения в столбце Excel

Сначала научимся получать заголовки столбцов таблицы по значению. Для этого выполните следующие действия:

  1. В ячейку B1 введите значение взятое из таблицы 5277 и выделите ее фон синим цветом для читабельности поля ввода (далее будем вводить в ячейку B1 другие числа, чтобы экспериментировать с новыми значениями).
  2. В ячейку C2 вводим формулу для получения заголовка столбца таблицы который содержит это значение:
  3. После ввода формулы для подтверждения нажимаем комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно в строке формул по краям появятся фигурные скобки { }.

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

Поиск значения в строке Excel

Теперь получим номер строки для этого же значения (5277). Для этого в ячейку C3 введите следующую формулу:

После ввода формулы для подтверждения снова нажимаем комбинацию клавиш CTRL+SHIFT+Enter и получаем результат:

Формула вернула номер 9 – нашла заголовок строки листа по соответствующему значению таблицы. В результате мы имеем полный адрес значения D9.

Как получить заголовок столбца и название строки таблицы

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

  • для столбца таблицы – Март;
  • для строки – Товар4.

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

  1. Для заголовка столбца. В ячейку D2 введите формулу: На этот раз после ввода формулы для подтверждения жмем как по традиции просто Enter:
  2. Для строки вводим похожую, но все же немного другую формулу:

В результате получены внутренние координаты таблицы по значению – Март; Товар 4:

На первый взгляд все работает хорошо, но что, если таблица будет содержат 2 одинаковых значения? Тогда могут возникнуть проблемы с ошибками! Рекомендуем также посмотреть альтернативное решение для поиска столбцов и строк по значению.

Поиск одинаковых значений в диапазоне Excel

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

Более того для диапазона табличной части создадим правило условного форматирования:

  1. Выделите диапазон B6:J12 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Правила выделения ячеек»-«Равно».
  2. В левом поле введите значение $B$1, а из правого выпадающего списка выберите опцию «Светло-красная заливка и темно-красный цвет» и нажмите ОК.
  3. В ячейку B1 введите значение 3478 и полюбуйтесь на результат.

Как видно при наличии дубликатов формула для заголовков берет заголовок с первого дубликата по горизонтали (с лева на право). А формула для получения названия (номера) строки берет номер с первого дубликата по вертикали (сверху вниз). Для исправления данного решения есть 2 пути:

  1. Получить координаты первого дубликата по горизонтали (с лева на право). Для этого только в ячейке С3 следует изменить формулу на: В результате получаем правильные координаты как для листа, так и для таблицы:
  2. Получить координаты первого дубликата по вертикали (сверху вниз). Для этого только в ячейке С2 следует изменить формулу на:

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

Здесь правильно отображаются координаты первого дубликата по вертикали (с верха в низ) – I7 для листа и Август; Товар2 для таблицы. Оставим такой вариант для следующего завершающего примера.

Поиск ближайшего значения в диапазоне Excel

Данная таблица все еще не совершенна.

Ведь при анализе нужно точно знать все ее значения. Если введенное число в ячейку B1 формула не находит в таблице, тогда возвращается ошибка – #ЗНАЧ! Идеально было-бы чтобы формула при отсутствии в таблице исходного числа сама подбирала ближайшее значение, которое содержит таблица. Чтобы создать такую программу для анализа таблиц в ячейку F1 введите новую формулу:

После чего следует во всех остальных формулах изменить ссылку вместо B1 должно быть F1! Так же нужно изменить ссылку в условном форматировании. Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»-«Изменить правило». И здесь в параметрах укажите F1 вместо B1. Чтобы проверить работу программы, введите в ячейку B1 число которого нет в таблице, например: 8000. Это приведет к завершающему результату:

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

Скачать пример поиска значения в диапазоне Excel

Наша программа в Excel нашла наиболее близкое значение 4965 для исходного – 5000. Такая программа может пригодится для автоматического решения разных аналитических задач при бизнес-планировании, постановки целей, поиска рационального решения и т.п. А полученные строки и столбцы позволяют дальше расширять вычислительные возможности такого рода отчетов с помощью новых формул Excel.

Автоматическая подстановка данных

Задание 1. Создание выпадающего списка

1. Откройте файл Ex03_1.xlsx.

2. На листе Прайс находится таблица товаров с ценами.

3. Задайте имена диапазонам с названием товара (Товар) и таблице с прайсом (Таблица) (рисунок 1). Имена диапазонов задаются для дальнейшего их использования в формулах и облегчения работы с диапазонами. Имя диапазона можно задать через поле имени ячейки или же в контекстном меню выбрать команду Присвоить имя (разумеется в том или ином случае диапазон ячеек должен быть предварительно выделен, как показано на рисунке 1).

Рисунок 1

4.

На листе продажи в столбце Наименование товара создайте выпадающий список и заполните его данными.

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

Рисунок 2

На первой вкладке Параметры из выпадающего списка Тип данных выбрать вариант Список и ввести в строчку Источник знак равно и имя диапазона с требуемыми данными (т.е. =Товар) (рисунок 3). Нажмите ОК.

Результат создания выпадающего списка представлен на рисунке 4.

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

Рисунок 3

Рисунок 4

Знакомство с функциями ПОИСКПОЗ и ИНДЕКС

Функции ПОИСКПОЗ и ИНДЕКС в основном применяются для автоматической подстановки данных в таблицу из заданного диапазона.

Синтаксис функций

ПОИСКПОЗ ( искомое_значение, массив, тип_сопоставления)

Массив— это блок, состоящий из одного столбца или од­ной строки.

Тип_сопоставления—это число -1, 0 или 1.

Если тип_сопоставленияравен 1, то функция ПОИСКПОЗнаходит наибольшее значение, которое меньше, чем искомое_значениеили равно ему. Просматриваемый массивдол­жен быть упорядочен по возрастанию.

Если тип_сопоставленияравен 0,то функция ПОИСКПОЗнаходит первое значение, которое в точности равно аргументу искомое_значение.Просматриваемый массивможет быть неупорядоченным.

Если тип_сопоставленияравен -1, то функция ПОИСКПОЗнаходит наименьшее значение, которое больше, чем искомое_значение,или равно ему. Просматривае­мый_массивдолжен быть упорядочен по убыванию.

Если тип_сопоставленияопущен, то предполагается, что он равен 1.

Функция ПОИСКПОЗвозвращает позицию искомого значения в массиве, а не само значение.

Функция ИНДЕКС имеет две формы. Мы рассмотрим только од­ну.

ИНДЕКС( таблица; номер_строки; номер_столбца)

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

Давайте рассмотрим работу этих функций на конкретных примерах.

Задание 2. Знакомство с функцией ПОИСКПОЗ

С помощью функции ПОИСКПОЗ() определите позицию товара с наименованием «Иогурт» в диапазоне Товар. Для этого:

1. в электронной книге Ex03_1.xlsx перейдите на лист Прайс и установите курсор листа в любую свободную ячейку;

2. введите в эту ячейку формулу =ПОИСКПОЗ(«Йогурт»;Товар;0), т.е. мы указываем с помощью данной функции что нам необходимо найти элемент «Йогурт» (текстовое значение в функциях всегда указывается в кавычках) в диапазоне Товар, тип сопоставления 0 – точное совпадение;

3.

нажмите Enter. В результате вы должны получить число 7 (рисунок 5).

Рисунок 5

Действительно, если посмотреть на диапазон Товар, то позиция йогурта соответствует этой цифре. При этом стоит помнить, что позиция значения в массиве, т.е. в заданном диапазоне, отсчитывается от начала диапазона. Получается, что если мы добавим в начале таблицы с данными новую строку, то значение «Йогурт» сместится на строку с номером 8, но диапазон Товар начинается со значения «Молоко», поэтому с начала диапазона позиция йогурта будет в любом случае соответствовать цифре 7 (рисунок 6).

Рисунок 6

Обратите внимание на то, что в качестве значения для функции ПОИСКПОЗ() можно указывать как само значение, так и имя ячейки, в которой находится это значение. Например, запись =ПОИСКПОЗ(A7;Товар;0) позволит получить аналогичный результат как и при использовании записи =ПОИСКПОЗ(«Йогурт»;Товар;0).

Задание 3. Знакомство с функцией ИНДЕКС

Напомним, что функция ИНДЕКС() выбирает из прямоугольного блока (таблицы) элемент, задаваемый номерами строки и столбца, причем эти номера отсчитываются от левого верхнего элемента блока.

С помощью функции ИНДЕКС() найдите в диапазоне Товар элемент расположенный на пятой позиции. Для этого:

1. в электронной книге Ex03_1.xlsx на листе Прайс установите курсор листа в любую свободную ячейку;

2. введите в эту ячейку следующую функцию =ИНДЕКС(Товар;5). Нажмите Enter. Результат представлен на рисунке 7.

Рисунок 7

Обратите внимание, что мы указали для функции ИНДЕКС только значения диапазона и номер строки. Номер столбца мы указывать не стали.

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

В новой ячейке введите формулу = ИНДЕКС(Таблица;8;2). В результате вы найдете стоимость ветчины (рисунок 8).

Рисунок 8

Автоматическая подстановка данных

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

Автоматическая подстановка данных из справочной таблицы основывается на комбинированном использовании функций ИНДЕКС и ПОИСКПОЗ.

Задание 4. Комбинирование функций ПОИСКПОЗ и ИНДЕКС

В электронной книге Ex03_1.xlsx на листе Продажи в колонке Цена, используя функции MS Excel, обеспечьте автоматическую подстановку стоимости товара с листа Прайс, в зависимости от выбранного из выпадающего списка значения на листе Продажи.

1. Установите курсор листа в ячейку С2 и введите в нее следующую формулу:

=ИНДЕКС(Таблица; ПОИСКПОЗ(B2; Товар; 0); 2)

2. Нажмите Enter. В результате вы получите в ячейке С2 стоимость того товара, наименование которого указано в соседней колонке (рисунок 9). При выборе из выпадающего списка другого наименования товара значение цены будет изменяться соответствующим образом.

Рисунок 9

3. С помощью маркера автозаполнения продублируйте данную формулу до конца таблицы (рисунок 10).

Рисунок 10

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

=ИНДЕКС(Таблица; ПОИСКПОЗ(B2; Товар; 0); 2)

примет вид

=ИНДЕКС(Таблица;3; 2)

Параметр «3» – это результат работы функции ПОИСКПОЗ.

Далее вступает в работу функция ИНДЕКС, которая будет искать в диапазоне Таблица на листе Прайс значение, находящееся на пересечении третьей строки и второго столбца. (Напоминаем, что диапазон Таблица состоит из двух столбцов). Этим значением будет стоимость товара, в данном случае хлеба = 27.

Задание 5. Оформление итоговой таблицы

На листе Продажи в колонке Количество введите произвольные значения.

Вычислите значения в колонке Итого.

Задание 6. Самостоятельное задание

Откройте файл Кадры.xls. Требуется автоматизировать изменение окладов на листе Кадры.

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

Создайте новый лист и назовите его Штат.

Скопируйте на лист Штат столбцы Должность и Оклад.

Удалите повторяющихся сотрудников.

Для этого:

1. Выделите столбцы должность и оклад.

2. На вкладке Данные щелкните по кнопке Удалить дубликаты.

3.

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

Удалите галочку из столбца Оклад.

4. Щелкните по кнопке Ok.

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

Методические указания

1. Выделите на листе Штатдиапазон должностей. Присвойте выделенному диапазону имя должность.

2. Выделите на листе Штатдиапазон окладов. Присвойте выделенному диапазону имя оклад.

3. На листе Сотрудникивстолбце Окладвведите формулу, которая бы искала на листе Штатвдиапазоне должностьпозицию соответствующую должности сотрудника, а затем из диапазона окладлиста Штатвставляла оклад, соответствующий найденной позиции.

4. После ввода формулы убедитесь, что полученный оклад действительно соответствует окладу должности сотрудника с листа Штат.

5. Измените оклад у гл. бухгалтера на листе Штат. Проверьте произошло ли изменение соответствующего оклада на листе Сотрудники.



Дата добавления: 2017-03-12; просмотров: 135 | Нарушение авторских прав


Поиск на сайте:

Функция ВПР с несколькими условиями критериев поиска в Excel

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

Работа функции ВПР по нескольким критериям

Для наглядности разберем формулу ВПР с примером нескольких условий. Для примера будем использовать схематический отчет по выручке торговых представителей за квартал:

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

  1. – Дата сдачи выручки в кассу.
  2. – Фамилия торгового представителя.

Для решения данной задачи будем использовать функцию ВПР по нескольким условиям и составим следующую формулу:

  1. В ячейке С1 введите первое значение для первого критерия поискового запроса. Например, дата: 22.03.2017.
  2. В ячейку C2 введите фамилию торгового представителя (например, Новиков). Это значение будет использоваться в качестве второго аргумента поискового запроса.
  3. В ячейке C3 мы будем получать результат поиска, для этого там следует ввести формулу:
  4. После ввода формулы для подтверждения нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве.

Результат поиска в таблице по двум условиям:

Найдена сумма выручки конкретного торгового представителя на конкретную дату.

Разбор принципа действия формулы для функции ВПР с несколькими условиями:

Первым аргументом функции =ВПР() является первым условием для поиска значения по таблице отчета выручки торговых представителей. Во втором аргументе находится виртуальная таблица создана в результате массивного вычисления логической функцией =ЕСЛИ(). Каждая фамилия в диапазоне ячеек B6:B12 сравнивается со значением в ячейке C2. Таким образом в памяти создается условный массив данных с элементами значений ИСТИНА и ЛОЖЬ.

Потом благодаря формуле, в памяти программы каждый истинный элемент заменяется на 3-х элементный набор данных:

  1. элемент – Дата.
  2. элемент – Фамилия.
  3. элемент – Выручка.

А каждый ложный элемент в памяти заменяется на 3-х элементный набор пустых текстовых значений («»).

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

Функция ПОИСКПОЗ в программе Microsoft Excel

А непустые элементы сопоставляются со значением ячейки C1, использованного в качестве первого критерия поискового запроса (Дата). Одним словом, таблица в памяти проверена функцией ВПР с одним условием поиска. При положительном результате сопоставления функция возвращает значение элемента из третьего столбца (выручка) условной таблицы. Это происходит потому, что в третьем аргументе указывается номер столбца 3 из которого берутся значения. Стоит отметить что для просмотра в аргументах функции указывается целая таблица (во втором аргументе), но сам поиск всегда идет по первому столбцу в указанной таблицы.

Скачать пример функции ВПР с несколькими условиями в Excel

А из какого столбца брать возвращаемое значение указывается уже в третьем аргументе.

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

Обработка Массивов в ms excel

⇐ Предыдущая45678910111213Следующая ⇒

Цель работы: приобрести навыки по работе с формулами массивов; изучить особенности ввода формул массива.

Методические указания

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

Результатом расчетов может быть как массив, так и одно число. Использование формул массива дает возможность получать компактные решения достаточно сложных задач, а в некоторых случаях без них вообще нельзя обойтись. Замена повторяющихся формул формулами массива позволяет сэкономить память, так как MS Excel хранит в памяти массив формул как единую формулу.

Пример 1. Необходимо вычислить стоимость каждого вида товара (рис. 5.1).

Рис. 5.1. Исходные данные к примеру 1

Решение. Чтобы произвести вычисления с использованием формул массива необходимо:

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

2. Ввести формулу . Данная запись предполагает перемножение соответствующих элементов массивов. Следует отметить, что вместо указания диапазонов ячеек допустимо использование их собственных имен (например: ).

3. Завершить ввод формулы одновременным нажатием SHIFT–CTRL–ENTER. При этом автоматически появятся фигурные скобки, обрамляющие формулу. Формула массива будет записана во всех ячейках выделенного диапазона.

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

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

1. Выделить диапазон с формулой массива и добавить в начало символ апострофа «». Формула превратится в текст.

2. Ввести этот текст во все ячейки выделенного диапазона (CTRL–ENTER).

3. Выделить новый диапазон для формулы массива, откорректировать необходимые адреса, удалить символ апострофа и завершить изменения нажатием SHIFT–CTRL–ENTER.

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

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

В MS Excel существует ряд функций, возвращающих результат в виде массива значений. Естественно, что формулы, содержащие такие функции (например, и др.), следует вводить как формулы массивов и перед их созданием выделять диапазон ячеек нужного размера.

В MS Excel допустимо использование массивов констант. Так, например, запись обозначает вектор-строку; — вектор столбец, — матрицу.

Функция ПОИСКПОЗ

В данном случае ввод фигурных скобок обязателен.

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

Пример 3. Предприятие производит продукцию двух видов и использует сырье двух типов. Нормы затрат сырья на единицу продукции каждого вида заданы матрицей , у которой по строкам указано количество сырья, расходуемого на производство единицы продукции вида 1 и 2.

Стоимость единицы сырья каждого типа задана матрицей . Каковы общие затраты предприятия на производство 100 единиц продукции первого вида и 150 единиц второго вида?

Решение. Для того, чтобы определить стоимость сырья для производства единицы продукции каждого вида, умножим матрицу строку стоимости единицы сырья B на матрицу норм затрат сырья (рис. 5.2):

Рис. 5.2. Образец нахождения стоимости сырья для производства

единицы продукции каждого вида

Объемы производства продукции зададим матрицей-столбцом , тогда суммарные затраты на производство продукции равны произведению матрицы строки С на матрицу-столбец Q (рис. 5.3):

Рис. 5.3. Образец подсчета общих затрат предприятия

Пример 4. Решить систему линейных уравнений , где , .

Решение. Решением этой системы является вектор. Для нахождения вектора , введем элементы матрицы в диапазон ячеек , а элементы вектора в диапазон ячеек .

Затем необходимо выбрать диапазон , куда поместим элементы вектора решения. В этот диапазон введем формулу =МУМНОЖ(МОБР(МУМНОЖ(A2:B3;A2:B3));D2:D3) и завершим ввод формулы нажатием комбинации клавиш SHIFT–CTRL–ENTER. В результате проделанных действий в диапазоне ячеек появится решение системы уравнений (рис. 5.4).

Рис. 5.4. Образец решения примера 4

Пример 5.

Вычислить квадратичную форму , при этом , .

Решение. Для нахождения значения этой квадратичной формы введем элементы матрицы в диапазон ячеек , а элементы вектора в диапазон ячеек . Затем необходимо выбрать ячейку , куда поместим значение квадратичной формы. В эту ячейку введем формулу =МУМНОЖ(МОБР(МУМНОЖ(A2:B3;A2:B3));D2:D3) и завершим ввод формулы нажатием комбинации клавиш SHIFT–CTRL–ENTER. В результате проделанных действий в диапазоне ячеек появится решение системы уравнений (рис. 5.5).

Рис. 5.5. Образец решения примера 5


⇐ Предыдущая45678910111213Следующая ⇒


Дата добавления: 2016-10-06; просмотров: 211 | Нарушение авторских прав


Похожая информация:

Поиск на сайте:

Функции ссылок и массивов Excel

В данной статье рассмотрены некоторые функции по работе со ссылками и массивами:

  1. ВПР;
  2. ГПР;
  3. СТРОКА;
  4. СТОЛБЕЦ;
  5. АДРЕС;
  6. ДВССЫЛ;
  7. ЧСТРОК;
  8. ЧИСЛСТОЛБ;
  9. СМЕЩ;
  10. ПОИСКПОЗ.

Функция ВПР

Вертикальное первое равенство. Ищет совпадение по ключу в первом столбце определенного диапазона и возвращает значение из указанного столбца этого диапазона в совпавшей с ключом строке.

Синтаксис: =ВПР(ключ; диапазон; номер_столбца; [интервальный_просмотр]), где

  • ключ – обязательный аргумент. Искомое значение, для которого необходимо вернуть значение.
  • диапазон – обязательный аргумент. Таблица, в которой необходимо найти значение по ключу. Первый столбец таблицы (диапазона) должен содержать значение совпадающее с ключом, иначе будет возвращена ошибка #Н/Д.
  • номер_столбца – обязательный аргумент. Порядковый номер столбца в указанном диапазоне из которого необходимо возвратить значение в случае совпадения ключа.
  • интервальный_просмотр – необязательный аргумент. Логическое значение указывающее тип просмотра:
    • ЛОЖЬ – функция ищет точное совпадение по первому столбцу таблицы. Если возможно несколько совпадений, то возвращено будет самое первое. Если совпадение не найдено, то функция возвращает ошибку #Н/Д.
    • ИСТИНА – функция ищет приблизительное совпадение. Является значением по умолчанию. Приблизительное совпадение означает, если не было найдено ни одного совпадения, то функция вернет значение предыдущего ключа. При этом предыдущим будет считаться тот ключ, который идет перед искомым согласно сортировке от меньшего к большему либо от А до Я. Поэтому, перед применением функции с данным интервальным просмотром, предварительно отсортируйте первый столбец таблицы по возрастанию, так как, если это не сделать, функция может вернуть неправильный результат. Когда найдено несколько совпадений, возвращается последнее из них.

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

Пример использования:

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

Для цены необходимо использовать функцию ВПР с точным совпадением (интервальный просмотр ЛОЖЬ), так как данный параметр определен для всех товаров и не предусматривает использование цены другого товара, если вдруг она по случайности еще не определена.

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

В принципе, данный подход устраивал бы, если для товаров, для которых отсутствует категория, не подтягивалось расположение. Обратите внимание на товар «Лук Подмосковье». Для него определено расположение «Стелаж №2», хотя в первой таблице нет категории «Лук». Это происходит все по тем же причинам, когда функцией не обнаруживается равенств, то она определяет для значения значение меньшего самого близкого по сортировке ключа, а для «Лук Подмосковье» это категория «Картофель».

Он подобного эффекта можно избавиться путем определения категории из наименования товара используя текстовые функции ЛЕВСИМВ(C11;ПОИСК(» «;C11)-1), которые вернут все символы до первого пробела, а также изменить интервальный просмотр на точный.

Помимо всего описанного, функция ВПР позволяет применять для текстовых значений подстановочные символы – * (звездочка – любое количество любых символов) и ? (один любой символ). Например, для искомого значения «*» & «иван» & «*» могут подойти строки Иван, Иванов, диван и т.д.

Также данная функция может искать значения в массивах – =ВПР(1;{2;»Два»:1;»Один»};2;ЛОЖЬ) – результат выполнения строка «Два».

Функция ГПР

Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.

Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).

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

Функция СТРОКА

Определяет и возвращает номер строки указанной ссылкой ячейки.

Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.

Пример использования:

=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.

Функция СТОЛБЕЦ

Возвращает номер столбца ячейки, указанной ссылкой.

Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.

Пример использования:

=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.

Функция АДРЕС

Возвращает текст, представляющий адрес ячейки, заданной номерами строки и столбца.

Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:

  • Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
  • Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
  • тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
    • 1 – значение по умолчанию, когда закреплены все индексы;
    • 2 – закрепление индекса строки;
    • 3 – закрепление индекса столбца;
    • 4 – адрес без закреплений.
  • стиль_ссылки – необязательный аргумент. Логическое значение:
    • ИСТИНА – формат ссылок «A1»;
    • ЛОЖЬ – формат ссылок «R1C1».
  • имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.

Пример использования:

=АДРЕС(1;1) – возвращает $A$1.
=АДРЕС(1;1;4) – возвращает A1.
=АДРЕС(1;1;4;ЛОЖЬ) – результат R[1]C[1].
=АДРЕС(1;1;4;ЛОЖЬ;»Лист1″) – результат выполнения функции Лист1!R[1]C[1].

Функция ДВССЫЛ

Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.

Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где

  • адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, «C3», «R3C3» или «D8:D9».
  • стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
    • ИСТИНА – стиль A1. Является значением по умолчанию;
    • ЛОЖЬ – стиль R1C1.

Пример использования:

=ДВССЫЛ(«a3») – возвращает ссылку на ячейку A3.
=ДВССЫЛ(«r3c3») – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(«r3c3»; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:

Функция ЧСТРОК

Возвращает число строк в указанном диапазоне или массиве.

Синтаксис: =ЧСТРОК(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.

Пример использования:
=ЧСТРОК(D1:D8) – функция возвращает результат 8.
=ЧСТРОК({1:2:3:4:5}) – функция определят, что в массиве 5 строк.

Функция ЧИСЛСТОЛБ

Возвращает число столбцов в указанном диапазоне или массиве.
Синтаксис: =ЧИСЛСТОЛБ(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧИСЛСТОЛБ(A5:D5) – результат функции 4.
=ЧИСЛСТОЛБ({1;2;3;4;5}) – функция определят, что в массиве 5 столбцов.

Функция СМЕЩ

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

Синтаксис: =СМЕЩ(ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]), где

  • ссылка – обязательный аргумент.

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

  • смещ_по_строкам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество строк необходимо сместить диапазон.
  • смещ_по_столбцам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество столбцов необходимо сместить диапазон.
  • высота – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество строк в новом (смещенном) диапазоне.
  • ширина – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество столбцов в новом диапазоне.

Если в результате смещения диапазон стал выходить на пределы листа, то функция возвращает ошибку #ССЫЛКА!.

Пример использования:

Для примера будем использовать вложение функции СМЕЩ в функцию СУММ.
Изначально ссылаемся на диапазон из 10 строк и 1 столбца, где все ячейки имеют значение 2. Таким образом получает результат выполнения формулы – 20.

Теперь сместим диапазон на один столбец влево, т.е. на -1.

Снова изменим ссылку, а именно расширим до 4 столбцов. После этого возвращаемая ссылка станет A3:D12. Результат на изображении.

Функция ПОИСКПОЗ

Возвращает позицию элемента, заданного по значению, в диапазоне либо массиве.

Синтаксис: =ПОИСКПОЗ(искомое_значение; массив; [тип_сопоставления]), где:

  • искомое_значение – обязательный аргумент. Значение элемента, который необходимо найти в массиве.
  • Массив – обязательный аргумент. Одномерный диапазон либо массив для поиска элемента.
  • тип_сопоставления – необязательный аргумент. Число 1, 0 или -1, определяющее способ поиска элемента:
    • 1 – значение по умолчанию. Если совпадений не найдено, то возвращается позиция ближайшего меньшего по значению к искомому элементу. Массив или диапазон должен быть отсортирован от меньшего к большему или от А до Я.
    • 0 – функция ищет точное совпадение. Если не найдено, то возвращается ошибка #Н/Д.
    • -1 – Если совпадений не найдено, то возвращается позиция ближайшего большего по значению к искомому элементу. Массив или диапазон должен быть отсортирован по убыванию.

Пример использования:
=ПОИСКПОЗ(«Г»; {«а»;»б»;»в»;»г»;»д»}) – функция возвращает результат 4.

Функция ПОИСКПОЗ в Excel

При этом регистр не учитывается.
=ПОИСКПОЗ(«е»; {«а»;»б»;»в»;»г»;»д»}; 1) – результат 5, т.к. элемента не найдено, поэтому возвращается ближайший меньший по значению элемент. Элементы массива записаны по возрастанию.
=ПОИСКПОЗ(«е»; {«а»;»б»;»в»;»г»;»д»}; 0) – возвращается ошибка, т.к. элемент не найден, а тип сопоставления указан на точное совпадение.
=ПОИСКПОЗ(«в»; {«д»;»г»;»в»;»б»;»а»}; -1) – результат 3.
=ПОИСКПОЗ(«д»; {«а»;»б»;»в»;»г»;»д»}; -1) – элемент не найден, хотя присутствует в массиве. Функция возвращает неверный результат, так как последний аргумент принимает значение -1, а элементы НЕ расположены по убыванию.

Для текстовых значений функция допускает использование подстановочных символов «*» и «?».

Похожие статьи:Новые статьи:

Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.

У Вас недостаточно прав для комментирования.

FILED UNDER : IT

Свежие записи

  • Страница удалена картинка
  • Лучший банк для бизнеса
  • Операционная система для нокиа
  • Что такое диакритические знаки
  • Модератор в вк
  • Как делать игры
  • Где хранится история скайпа
  • Фстэк модель угроз
  • Переименовать компьютер в домене
  • Преподавание в вузе
  • Топ моб сайтов
  • Матрица поворота в трехмерном пространстве
  • Crm система
  • Арктический лед – полярные льды
  • Mikrotik sxt lite 2
  • Что такое стек
  • Хостинг на домашнем компьютере
  • Видео фон для сайта
  • Интернет-продажи в России: статистика, аналитика, конверсия, прогноз
  • Как работает биткоин

Понравилась статья? Поделить с друзьями:
  • Excel поиск минимального значения в столбце
  • Excel поиск минимального значения в диапазоне по условию
  • Excel поиск максимального значения в строке
  • Excel поиск максимального значения в массиве
  • Excel поиск максимального значения в диапазоне