Поиск всех значений в массиве excel с условием

Skip to content

5 способов – поиск значения в массиве Excel

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

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

  • Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
  • Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
  • Функция ПРОСМОТРX для поиска в строках и столбцах
  • Формула СУММПРОИЗВ для поиска по строке и столбцу
  • Поиск в матрице с именованными диапазонами

Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ

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

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

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

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

  • Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
  • Значение_вертикальное — H1 (целевой товар)
  • Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
  • Значение_горизонтальное — H2 (целевой период)
  • Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)

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

=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))

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

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

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

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

Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):

ПОИСКПОЗ(H1;A2:A11;0)

Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):

ПОИСКПОЗ(H2;B1:E1;0)

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

В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне ​​A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в ​​B1:E1.

С учетом вышеизложенного формула сводится к:

ИНДЕКС(B2:E11; 2 ; 3 )

Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.

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

Формула ВПР и ПОИСКПОЗ для поиска в диапазоне

Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:

ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)

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

=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)

Где:

  • Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
  • Значение_вертикальное — H1 (целевой товар)
  • Значение_горизонтальное — H2 (целевой период)
  • Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)

Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):

ПОИСКПОЗ(H2;A1:E1;0)

ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в  массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:

=ВПР(H1; A2:E11; 4; ЛОЖЬ)

Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.

Важное замечаниеЧтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).

Функция ПРОСМОТРX для поиска в строках и столбцах

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

ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))

Для нашего примера набора данных формула выглядит следующим образом:

=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))

Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.

В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:

=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})

Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.

Формула СУММПРОИЗВ для поиска по строке и столбцу

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

Чтобы найти значение на пересечении определенных строки и столбца, используйте эту общую формулу:

СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )

Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:

=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)

Приведенный ниже вариант также будет работать:

=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)

Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):

(A2:A11=H1)*(B1:E1=H2)

Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:

{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}

Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):

{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}

Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:

{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})

И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:

=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})

Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.

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

Поиск в матрице с именованными диапазонами

Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:

Шаг 1. Назовите столбцы и строки

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

  1. Выделите всю таблицу (в нашем случае A1:E11).
  2. На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш  Ctrl + Shift + F3.
  3. В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».

Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:

  • Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (Ctrl + F3). Если некоторые имена отсутствуют, определите их вручную.
  • Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.

Шаг 2. Создание формулы поиска по матрице

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

=имя_строки имя_столбца

Или наоборот:

=имя_столбца имя_строки

Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:

=Sprite неделя_3

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

Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:

  1. В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
  2. Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
  3. После имени строки введите пробел , который в данном случае работает как оператор пересечения.
  4. Введите имя целевого столбца ( в нашем случае неделя_3 ).
  5. Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:

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

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

Еще несколько материалов по теме:

Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям В статье показано, как выполнять быстрый поиск с несколькими условиями в Excel с помощью ИНДЕКС и ПОИСКПОЗ. Хотя Microsoft Excel предоставляет специальные функции для вертикального и горизонтального поиска, опытные пользователи…
ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР. В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить…
Поиск в массиве при помощи ПОИСКПОЗ В этой статье объясняется с примерами формул, как использовать функцию ПОИСКПОЗ в Excel.  Также вы узнаете, как улучшить формулы поиска, создав динамическую формулу с функциями ВПР и ПОИСКПОЗ. В Microsoft…
Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Функция СУММПРОИЗВ с примерами формул В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения…
Средневзвешенное значение — формула в Excel В этом руководстве демонстрируются два простых способа вычисления средневзвешенного значения в Excel — с помощью функции СУММ (SUM) или СУММПРОИЗВ (SUMPRODUCT в английском варианте). В одной из предыдущих статей мы…

Совет: Попробуйте использовать новые функции ПРОСМОТР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

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

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

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

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

vlookup-2cols1.png

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

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

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

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

vlookup-2cols2.png

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

vlookup-2cols3.png

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

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

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

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

vlookup-2cols4.png

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

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

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

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

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

    vlookup-2cols6.png

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

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

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

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

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

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

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

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

​Смотрите также​​​ B3, поскольку третья​​ «Работа с данными»​​ последовательных чисел;​​искомое_значение​INDIRECT(ref_text,[a1])​ в основную таблицу,​ столбца.​​ диапазона.​​=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)​.​ они возвращают, формула​, затем находит ближайшее​Формула не будет работать,​=ВПР(«Japan»;$B$2:$D$2;3)​​ число или текст,​​Этот учебник рассказывает о​

​Чтобы функция ПОИСКПОЗ работала​ строка является второй​ и выбрать инструмент​Функция ИНДЕКС() возвращает текстовые​.​​ДВССЫЛ(ссылка_на_текст;[a1])​​ необходимо выполнить действие,​Итак, давайте обратимся к​Эта формула находит только​Где ячейка​Синтаксис функции​ станет легкой и​​ к нему и​​ если значение в​В данном случае –​ который Вы ищите.​ главных преимуществах функций​

​ с таблицей с​ по счету относительно​ «Проверка данных»:​​ значения из Исходного​​Просматриваемый_массив​Первый аргумент может быть​ известное как двойной​ нашей таблице и​ второе совпадающее значение.​B1​ЕСЛИОШИБКА​ понятной:​ возвращает значение из​​ ячейке​​ смысла нет! Цель​​ Аргумент может быть​​ИНДЕКС​ двумя столбцами как​ ячейки A2, а​В открывшемся диалоговом окне​ списка, из строк,​​может быть не​​ ссылкой на ячейку​

ИНДЕКС и ПОИСКПОЗ в Excel

  • ​ВПР​ запишем формулу с​
  • ​ Если же Вам​содержит объединенное значение​
  • ​очень прост:​=INDEX($A$1:$E$11,4,5))​
  • ​ столбца​A2​
    • ​ этого примера –​ значением, в том​
    • ​и​ с одним мы​
    • ​ столбец B:B является​ необходимо выбрать «Тип​
    • ​ номера которых были​
    • ​ упорядочен.​ (стиль A1 или​

Базовая информация об ИНДЕКС и ПОИСКПОЗ

​или вложенный​ функцией​ необходимо извлечь остальные​​ аргумента​​IFERROR(value,value_if_error)​​=ИНДЕКС($A$1:$E$11;4;5))​​C​длиннее 255 символов.​ исключительно демонстрационная, чтобы​ числе логическим, или​ПОИСКПОЗ​

​ использовали в ее​ вторым относительно столбца​ данных:» — «Список»​ получены на предыдущем​-1​ R1C1), именем диапазона​​ВПР​​ВПР​​ повторения, воспользуйтесь предыдущим​​lookup_value​​ЕСЛИОШИБКА(значение;значение_если_ошибка)​​Эта формула возвращает значение​

ИНДЕКС – синтаксис и применение функции

​той же строки:​​ Вместо неё Вам​​ Вы могли понять,​ ссылкой на ячейку.​в Excel, которые​ аргументах оператор &.​ A:A.​ и указать в​

​ шаге.​
​Функция​

​ или текстовой строкой.​.​

  • ​, которая найдет информацию​​ решением.​(искомое_значение), а​Где аргумент​ на пересечении​
  • ​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​​ нужно использовать аналогичную​ как функции​lookup_array​ делают их более​ Учитывая этот оператор​При необходимости можно получить​ поле «Источник» диапазон​​В предельном случае м.б.​​ПОИСКПОЗ​
  • ​ Второй аргумент определяет,​​Запишите функцию​ о стоимости проданных​Если Вам нужен список​4​value​4-ой​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​​ формулу​​ПОИСКПОЗ​

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

​ какого стиля ссылка​​ВПР​​ в марте лимонов.​

​ всех совпадений –​
​– аргумент​

​(значение) – это​строки и​​Результат: Moscow​​ИНДЕКС​и​​ ячеек, в котором​​ с​​ функции теперь является​​ целый столбец, указав​Переходим в ячейку A13​​ значений, сколько содержится​​ которое больше или​

​ содержится в первом​, которая находит имя​Существует несколько способов выполнить​ функция​col_index_num​ значение, проверяемое на​5-го​​Используя функцию​​/​

ПОИСКПОЗ – синтаксис и применение функции

​ИНДЕКС​​ происходит поиск.​​ВПР​ значение FordМаркетинговый. По​ в качестве номера​ и выполняем аналогичные​ в исходном списке​ равно значению аргумента​

​ аргументе:​​ товара в таблице​​ двумерный поиск. Познакомьтесь​ВПР​(номер_столбца), т.е. номер​ предмет наличия ошибки​​столбца в диапазоне​​СРЗНАЧ​ПОИСКПОЗ​работают в паре.​

​match_type​
​. Вы увидите несколько​

​ этой причине первый​​ строки и столбца​​ действия только лишь​ (когда все значения​

​искомое_значение​
​A1​

  • ​Lookup table 1​​ с возможными вариантами​тут не помощник,​ столбца, содержащего данные,​ (в нашем случае​A1:E11​в комбинации с​:​
  • ​ Последующие примеры покажут​​(тип_сопоставления) – этот​ примеров формул, которые​ Ford из отдела​
  • ​ соответственно значение 0​​ указываем другую ссылку​ удовлетворяют критерию). Поэтому​​.​​, если аргумент равен​, используя​ и выберите наиболее​
    • ​ поскольку она возвращает​​ которые необходимо извлечь.​​ – результат формулы​​, то есть значение​ИНДЕКС​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​ Вам истинную мощь​ аргумент сообщает функции​ помогут Вам легко​ продаж не учитывается,​
    • ​ (нуль). Для вывода​​ на диапазон в​ формулу массива нужно распространять​Просматриваемый_массив​​TRUE​​SKU​​ подходящий.​​ только одно значение​Если Вам необходимо обновить​ИНДЕКС​​ ячейки​​и​​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​ связки​
    • ​ПОИСКПОЗ​​ справиться со многими​ ведь теперь для​ полученных строки или​ поле «Источник:»​ на диапазон той​должен быть упорядочен​(ИСТИНА) или не​, как искомое значение:​

​Вы можете использовать связку​ за раз –​​ основную таблицу (Main​​/​E4​ПОИСКПОЗ​4. Более высокая скорость​ИНДЕКС​

​, хотите ли Вы​ сложными задачами, перед​ функции два форда​ столбца функцию ИНДЕКС​Такой же выпадающий список​ же размерности, что​ по убыванию: ИСТИНА,​ указан;​​=VLOOKUP(A2,New_SKU,2,FALSE)​​ из функций​​ и точка. Но​​ table), добавив данные​​ПОИСКПОЗ​​. Просто? Да!​, в качестве третьего​​ работы.​​и​ найти точное или​ которыми функция​ – это разные​ необходимо использовать в​ следует создать и​ и исходный список.​ ЛОЖЬ, Z-A, …,​

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

​R1C1​=ВПР(A2;New_SKU;2;ЛОЖЬ)​ВПР​ в Excel есть​ из второй таблицы​); а аргумент​​В учебнике по​​ аргумента функции​​Если Вы работаете​​ПОИСКПОЗ​​ приблизительное совпадение:​​ВПР​ значения (FordПродажи и​ качестве формулы массива.​ для ячейки A15.​​ Вышеуказанная формула массива​​ 2, 1, 0,​, если​Здесь​(VLOOKUP) и​

​ функция​ (Lookup table), которая​​value_if_error​​ВПР​​ПОИСКПОЗ​​ с небольшими таблицами,​

​, которая легко справляется​1​бессильна.​
​ FordМаркетинговый). Просматриваемый диапазон​Функция ПОИСКПОЗ используется для​Для подсчета общего количества​

​ будет возвращать несколько​ -1, -2, …​F​New_SKU​ПОИСКПОЗ​

ИНДЕКС и ПОИСКПОЗ в Excel

​INDEX​ находится на другом​(значение_если_ошибка) – это​мы показывали пример​

​чаще всего нужно​
​ то разница в​

​ с многими сложными​или​В нескольких недавних статьях​

  • ​ теперь распространяется на​​ поиска указанного в​​ очков в ячейке​ значений, поэтому перед​​ и т. д.​​ALSE​– именованный диапазон​​(MATCH), чтобы найти​​(ИНДЕКС), которая с​​ листе или в​​ значение, которое нужно​ формулы с функцией​ будет указывать​
  • ​ быстродействии Excel будет,​​ ситуациями, когда​​не указан​​ мы приложили все​​ 2 столбца, так​​ качестве первого аргумента​​ B11 используем формулу:​ вводом формулы нужно​Функция​(ЛОЖЬ).​$A:$B​

    ​ значение на пересечении​
    ​ легкостью справится с​

    ​ другой рабочей книге​ возвратить, если формула​ВПР​​1​​ скорее всего, не​​ВПР​​– находит максимальное​ усилия, чтобы разъяснить​ же благодаря оператору​ значения в диапазоне​​Для получения корректного результата​​ выделить сразу весь​ПОИСКПОЗ​В нашем случае ссылка​

​в таблице​ полей​

ИНДЕКС и ПОИСКПОЗ в Excel

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

​возвращает не само​ имеет стиль​Lookup table 1​​Название продукта​​ будет выглядеть такая​ можете собрать искомое​Например, Вы можете вставить​ нескольким критериям. Однако,​​-1​​ последних версиях. Если​​Решая, какую формулу использовать​​ равное искомому. Просматриваемый​

​ функции​
​ применяем во втором​

​ массива. Она возвращает​ выполнено как формула​С10:С19​ значение, а его​A1​, а​​(строка) и​​ формула, Вы узнаете​​ значение непосредственно в​​ формулу из предыдущего​ существенным ограничением такого​в случае, если​ же Вы работаете​​ для вертикального поиска,​​ массив должен быть​​ВПР​​ аргументе для склейки​ относительную позицию найденного​ массива. Функция СУММ​​, ввести формулу в​​ позицию в аргументе​

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

​, поэтому можно не​2​Месяц​ в следующем примере.​​ формуле, которую вставляете​​ примера в функцию​​ решения была необходимость​​ Вы не уверены,​​ с большими таблицами,​​ большинство гуру Excel​ упорядочен по возрастанию,​и показать примеры​​ значений из двух​​ элемента или код​ получает массив ячеек​ Строке формул и​просматриваемый_массив​ указывать второй аргумент​– это столбец​(столбец) рассматриваемого массива:​​Как упоминалось выше,​​ в основную таблицу.​​ЕСЛИОШИБКА​​ добавлять вспомогательный столбец.​​ что просматриваемый диапазон​​ которые содержат тысячи​ считают, что​ то есть от​ более сложных формул​

​ смежных диапазонов. Таким​ ошибки #Н/Д, если​​ в виде столбца​​ нажать​​. Например, функция​​ и сосредоточиться на​ B, который содержит​=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)​​ВПР​​Как и в предыдущем​​вот таким образом:​​ Хорошая новость: формула​​ содержит значение, равное​​ строк и сотни​

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

​ИНДЕКС​​ меньшего к большему.​ для продвинутых пользователей.​​ образом, значения берутся​​ искомые данные отсутствуют.​ таблицы, номер которого​CRTL+SHIFT+ENTER​ПОИСКПОЗ(«б»;{«а»;»б»;»в»};0)​ первом.​ названия товаров (смотрите​=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)​не может извлечь​​ примере, Вам понадобится​​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​​ИНДЕКС​​ среднему. Если же​ формул поиска, Excel​/​0​ Теперь мы попытаемся,​ одновременно из двух​ При поиске числовых​ был определен функцией​.​

​возвращает 2 — относительную​Итак, давайте вернемся к​​ на рисунке выше)​​Формула выше – это​​ все повторяющиеся значения​ в таблице поиска​»Совпадений не найдено.​/​ Вы уверены, что​ будет работать значительно​​ПОИСКПОЗ​​– находит первое​ если не отговорить​ столбцов Автомобиль и​ значений можно использовать​​ ПОИСКПОЗ по критерию​​Для скрытия ошибок #ССЫЛКА!,​ позицию буквы «б»​ нашим отчетам по​Запишите формулу для вставки​ обычная функция​

​ из просматриваемого диапазона.​ (Lookup table) вспомогательный​​ Попробуйте еще раз!»)​​ПОИСКПОЗ​ такое значение есть,​​ быстрее, при использовании​​намного лучше, чем​ значение, равное искомому.​​ Вас от использования​​ Отдел.​​ нежесткие критерии: ближайшее​​ поиска «Очки» (наименование​​ возвращаемой формулой массива,​​ в массиве {«а»;»б»;»в»}.​

​ продажам. Если Вы​
​ цен из таблицы​

​ВПР​ Чтобы сделать это,​ столбец с объединенными​​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​​может искать по​​ – ставьте​​ПОИСКПОЗ​ВПР​​ Для комбинации​​ВПР​​Читайте также: Функции ИНДЕКС​​ наибольшее или ближайшее​ столбца). Поскольку в​ к диапазону​

​Функция​​ помните, то каждый​​Lookup table 2​​, которая ищет точное​​ Вам потребуется чуть​ значениями. Этот столбец​»Совпадений не найдено.​ значениям в двух​0​и​. Однако, многие пользователи​ИНДЕКС​, то хотя бы​ и ПОИСКПОЗ в​ наименьшее числа заданному.​ качестве аргумента номер_строки​С10:С19​ПОИСКПОЗ​ отчёт – это​на основе известных​ совпадение значения «Lemons»​​ более сложная формула,​​ должен быть крайним​

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

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

​ A2 до A9.​
​ функций Excel, таких​

​ для поиска диапазоне.​ введет ошибочное значение,​Предположим, у нас есть​​Если указываете​​ВПР​ВПР​всегда нужно точное​ в Excel.​​Nesa​​ диапазоне, то есть,​​ будет возвращен весь​​В этом случае будут​

​Если функция​
​ Чтобы формула работала​

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

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

​ может быть использована​Количество сыгранных игр для​​ критерием (без учета​​ значения, возвращается значение​​ таблицам (или диапазонам),​​ВПР​ столбце находятся продажи​SMALL​=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE)​

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

​ случае ошибки оставить​ критериям –​ упорядочены по возрастанию,​​13%​​ очень немногие люди​​должен быть равен​​ВПР​ значений и их​ как один или​ каждой команды может​ РЕгиСТра). Критерий вводится​

Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС

​ ошибки #Н/Д.​​ причем все названия​​:​ за март, то​(НАИМЕНЬШИЙ) и​=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)​ ячейку пустой, то​имя покупателя​ а формула вернёт​.​​ до конца понимают​​0​

​– это не​​ суммирование по всем​​ сразу два аргумента​​ быть рассчитано как​​ в ячейку​Если​ должны иметь общую​=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)​ не сможете задать​ROW​Здесь в столбцах B​ можете использовать кавычки​(Customer) и​ максимальное значение, меньшее​Влияние​​ все преимущества перехода​​.​​ единственная функция поиска​​ листам книги?​ функции:​ сумма выигранных, сыгранных​E6​

​тип_сопоставления​ часть. Например, так:​=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)​ номер столбца для​

​(СТРОКА)​
​ и C содержатся​

ИНДЕКС и ПОИСКПОЗ в Excel

​ («»), как значение​продукт​ или равное среднему.​ВПР​

  • ​ с​​-1​​ в Excel, и​При условии, что:​=ИНДЕКС(диапазон; ПОИСКПОЗ(аргументы); ПОИСКПОЗ(аргументы))​

    ​ вничью и проигранных​
    ​.​

  • ​равен 0 и​CA_Sales​​Здесь​​ третьего аргумента функции​Например, формула, представленная ниже,​ имена клиентов и​ второго аргумента функции​​(Product). Дело усложняется​​Если указываете​
  • ​на производительность Excel​ВПР​

    ​– находит наименьшее​
    ​ её многочисленные ограничения​

​- искомые значения​​Такая формула используется чаще​ игр. Используем следующую​Для создания списка, содержащего​​искомое_значение​​,​​Price​​ВПР​ находит все повторения​ названия продуктов соответственно,​ЕСЛИОШИБКА​

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

​ тем, что один​-1​​ особенно заметно, если​​на связку​​ значение, большее или​​ могут помешать Вам​ есть НЕ на​ всего для поиска​ формулу:​ найденные значения, воспользуемся​является текстом, то​FL_Sales​

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

​ равное искомому значению.​
​ получить желаемый результат​

​ каждом листе​

​ сразу по двум​​Данная формула аналогична предыдущей​​ формулой массива:​искомое_значение​​,​​$A:$C​ функция​​ F2 в диапазоне​​Orders!$A&$2:$D$2​

​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")​
​ сразу несколько разных​

​ поиска должны быть​

​ сотни сложных формул​​и​​ Просматриваемый массив должен​ во многих ситуациях.​​- диапазон поиска​​ критериям.​ и также должна​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​может содержать подстановочные​​TX_Sales​​в таблице​

​ПОИСКПОЗ​
​ B2:B16 и возвращает​

​определяет таблицу для​

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​​ продуктов, и имена​​ упорядочены по убыванию,​​ массива, таких как​​ПОИСКПОЗ​​ быть упорядочен по​​ С другой стороны,​ и столбец со​​AlexKoul​​ использоваться в качестве​ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);​​ знаки: звездочку (​​и так далее.​​Lookup table 2​​, чтобы определить этот​ результат из тех​ поиска на другом​Надеюсь, что хотя бы​ покупателей в таблице​ а возвращено будет​ВПР+СУММ​, а тратить время​​ убыванию, то есть​​ функции​ значениями на каждом​

  • ​: Уважаемые форумчане!​​ формулы массива. Благодаря​​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​*​ Как видите, во​, а​ столбец.​ же строк в​
  • ​ листе.​​ одна формула, описанная​​ на листе​ минимальное значение, большее​. Дело в том,​ на изучение более​ от большего к​ИНДЕКС​

​ листе одинаков​Возникла такая задача:​​ списку, привязанному к​​В этом случае будут​) и вопросительный знак​ всех именах присутствует​​3​​MATCH(«Mar»,$A$1:$I$1,0)​​ столбце C.​​Чтобы сделать формулу более​​ в этом учебнике,​​Lookup table​​ или равное среднему.​ что проверка каждого​ сложной формулы никто​ меньшему.​и​- условие поиска​

ИНДЕКС и ПОИСКПОЗ в Excel

Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

​ имеется список марок​ ячейке A13, можно​​ выведены все значения,​​ (​ «_Sales».​– это столбец​ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)​

​{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)}​​ читаемой, Вы можете​​ показалась Вам полезной.​​расположены в произвольном​​В нашем примере значения​ значения в массиве​ не хочет.​На первый взгляд, польза​ПОИСКПОЗ​ в списке на​

​ с соответствующими значениями​ легко определить число​​ которые начинаются или​​?​Функция​

​ C, содержащий цены.​
​В переводе на человеческий​

​{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)}​ задать имя для​ Если Вы сталкивались​

​ порядке.​ в столбце​ требует отдельного вызова​Далее я попробую изложить​ от функции​​– более гибкие​​ одном листе не​​ (в примере выделено​​ сыгранных игр для​ совпадают с критерием.​). Звездочка соответствует любой​​ДВССЫЛ​​На рисунке ниже виден​ язык, данная формула​

​Введите эту формулу массива​ просматриваемого диапазона, и​ с другими задачами​Вот такая формула​D​
​ функции​ главные преимущества использования​ПОИСКПОЗ​ и имеют ряд​ повторяется​

​ желтым). Нужно в​ любой команды:​ Критерий вводится в​ последовательности знаков, вопросительный​​соединяет значение в​​ результат, возвращаемый созданной​​ означает:​​ в несколько смежных​

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

ИНДЕКС и ПОИСКПОЗ в Excel

​Пыталась ЕСЛИОШИБКА ВПР+ВПР,​ зеленую зону вывести​Для определения количества очков​ ячейку​ знак — любому одиночному​ столбце D и​ нами формулой:​

​Ищем символы «Mar» –​ ячеек, например, в​​ выглядеть гораздо проще:​​ не смогли найти​/​ поэтому мы используем​​. Поэтому, чем больше​​и​

  • ​ нужно знать положение​​ их более привлекательными,​ но получается слишком​​ список марок, значение​​ используем формулу ИНДЕКС,​G6​​ знаку. Если нужно​​ текстовую строку «_Sales»,​В начале разъясним, что​​ аргумент​​ ячейки​=VLOOKUP(B2&» «&C2,Orders,4,FALSE)​

    ​ подходящее решение среди​
    ​ПОИСКПОЗ​

    ​ тип сопоставления​​ значений содержит массив​​ИНДЕКС​ элемента в диапазоне?​ по сравнению с​​ длинная формула –​​ которых больше или​

  • ​ в которой оба​​.​ найти сам вопросительный​​ тем самым сообщая​​ мы подразумеваем под​​lookup_value​​F4:F8​=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)​​ информации в этом​​решает задачу:​

    ​1​
    ​ и чем больше​

    ​в Excel, а​​ Мы хотим знать​​ВПР​ не влезает (листов​

​ равно значению, вводимому​ аргумента, указывающие номер​​Для создания списка, содержащего​​ знак или звездочку,​

​ВПР​
​ выражением «Динамическая подстановка​

​(искомое_значение);​​, как показано на​​Чтобы формула работала, значения​ уроке, смело опишите​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​. Формула​

​ формул массива содержит​
​ Вы решите –​

​ значение этого элемента!​.​​ много)​​ в ячейку С2.​​ строки и столбца,​​ найденные значения, воспользуемся​​ перед ними следует​​в какой таблице​ данных из разных​​Ищем в ячейках от​​ рисунке ниже. Количество​

ИНДЕКС и ПОИСКПОЗ в Excel

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

​ в крайнем левом​​ свою проблему в​​(B2=’Lookup table’!$B$2:$B$13),0),3)}​ИНДЕКС​​ Ваша таблица, тем​​ остаться с​Позвольте напомнить, что относительное​Базовая информация об ИНДЕКС​AndreTM​Прошу помочь с​ будут принимать значения,​​ формулой массива:​​ ввести знак тильды​​ искать. Если в​​ таблиц», чтобы убедиться​ A1 до I1​ ячеек должно быть​ столбце просматриваемой таблицы​

​ комментариях, и мы​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​/​ медленнее работает Excel.​ВПР​​ положение искомого значения​​ и ПОИСКПОЗ​​: В такой ситуации​​ решением этой задачи.​ возвращаемые функцией ПОИСКПОЗ:​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ (​ ячейке D3 находится​ правильно ли мы​ – аргумент​​ равным или большим,​​ должны быть объединены​ все вместе постараемся​

ИНДЕКС и ПОИСКПОЗ в Excel

​(B2=’Lookup table’!$B$2:$B$13);0);3)}​​ПОИСКПО​​С другой стороны, формула​​или переключиться на​​ (т.е. номер строки​

​Используем функции ИНДЕКС и​
​ данные собирать проще​

​Заранее благодарю всех​
​Пример расчета:​

​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30);​~​ значение «FL», формула​ понимает друг друга.​​lookup_array​​ чем максимально возможное​​ точно так же,​​ решить её.​Эта формула сложнее других,​З​​ с функциями​​ИНДЕКС​ и/или столбца) –​

​ ПОИСКПОЗ в Excel​
​ макросом, поскольку все​

​ откликнувшихся!​В результате мы получили​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​​).​​ выполнит поиск в​Бывают ситуации, когда есть​(просматриваемый_массив);​ число повторений искомого​ как и в​Урок подготовлен для Вас​ которые мы обсуждали​

  • ​возвращает «Moscow», поскольку​ПОИСКПОЗ​​/​​ это как раз​​Преимущества ИНДЕКС и ПОИСКПОЗ​​ равно действия два:​китин​ значение по 2-м​В этом случае будут​​Скопируйте образец данных из​​ таблице​
  • ​ несколько листов с​Возвращаем точное совпадение –​​ значения. Не забудьте​​ критерии поиска. На​ командой сайта office-guru.ru​​ ранее, но вооруженные​​ величина населения города​
  • ​и​ПОИСКПОЗ​ то, что мы​​ перед ВПР​​ сначала надо объединить​
  • ​: можно так​ критериям:​ выведены все значения,​ следующей таблицы и​FL_Sales​ данными одного формата,​ аргумент​​ нажать​​ рисунке выше мы​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​ знанием функций​ Москва – ближайшее​ИНДЕКС​​.​​ должны указать для​

​ИНДЕКС и ПОИСКПОЗ –​ данные из всех​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС($G$2:$G$7;НАИМЕНЬШИЙ(ЕСЛИ($C$2​​– «Челси».​ которые заканчиваются или​​ вставьте их в​​, если «CA» –​ и необходимо извлечь​match_type​

​Ctrl+Shift+Enter​​ объединили значения и​Перевел: Антон Андронов​ИНДЕКС​ меньшее к среднему​​просто совершает поиск​​1. Поиск справа налево.​ аргументов​ примеры формул​ таблиц в один​формула массива​– «Очки».​ совпадают с критерием.​ ячейку A1 нового​ в таблице​​ нужную информацию с​​(тип_сопоставления).​, чтобы правильно ввести​​ поставили между ними​​Автор: Антон Андронов​

​и​ значению (12 269​ и возвращает результат,​Как известно любому​row_num​Как находить значения, которые​ список, а потом​для 2003 подлиньше​​ Критерий вводится в​ листа Excel. Чтобы​CA_Sales​​ определенного листа в​​Использовав​

​ формулу массива.​ пробел, точно так​Во второй части нашего​ПОИСКПОЗ​

ИНДЕКС и ПОИСКПОЗ в Excel

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

​ 006).​ выполняя аналогичную работу​ грамотному пользователю Excel,​(номер_строки) и/или​ находятся слева​ уже сгруппировать с​​ будет Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕОШИБКА(ИНДЕКС($G$2:$G$7;НАИМЕНЬШИЙ(ЕСЛИ($C$2​​Пример 2. Используя таблицу​​ ячейку​​ отобразить результаты формул,​​и так далее.​​ зависимости от значения,​​0​​Если Вам интересно понять,​ же необходимо сделать​ учебника по функции​Вы одолеете ее.​Эта формула эквивалентна двумерному​ заметно быстрее.​​ВПР​​column_num​​Вычисления при помощи ИНДЕКС​​ агрегацией. Постов на​​_Boroda_​​ из предыдущего примера​

​I6​​ выделите их и​​Результат работы функций​

​ которое введено в​
​в третьем аргументе,​

​ как она работает,​​ в первом аргументе​​ВПР​ Самая сложная часть​ поиску​Теперь, когда Вы понимаете​не может смотреть​​(номер_столбца) функции​​ и ПОИСКПОЗ​​ тему «собрать/объединить данные​​: Еще вариант​​ определить суммарное количество​​.​ нажмите клавишу F2,​ВПР​ заданную ячейку. Думаю,​

​ Вы говорите функции​ давайте немного погрузимся​ функции (B2&» «&C2).​​(VLOOKUP) в Excel​​ – это функция​

​ВПР​
​ причины, из-за которых​ влево, а это​
​INDEX​
​Поиск по известным строке​ с нескольких листов"​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(H$2:H$7>=C$2)/ЕНД(ПОИСКПОЗ(G$2:G$7;C$3:C3;));G$2:G$7);»»)​ заработанных очков несколькими​Для создания списка, содержащего​ а затем — клавишу​

ИНДЕКС и ПОИСКПОЗ в Excel

​и​ проще это объяснить​ПОИСКПОЗ​ в детали формулы:​Запомните!​ мы разберём несколько​​ПОИСКПОЗ​​и позволяет найти​

​ стоит изучать функции​
​ значит, что искомое​

​(ИНДЕКС). Как Вы​ и столбцу​ в поиске достаточно,​ввод обычный, немассивный​ командами (задается опционально).​ найденные значения, воспользуемся​ ВВОД. При необходимости​ДВССЫЛ​ на примере.​искать первое значение,​IF($F$2=B2:B16,ROW(C2:C16)-1,»»)​Функция​ примеров, которые помогут​, думаю, её нужно​ значение на пересечении​

​ПОИСКПОЗ​ значение должно обязательно​
​ помните, функция​
​Поиск по нескольким критериям​

​ а «группировка/агрегация» -​

office-guru.ru

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

​AlexKoul​Вид таблицы данных:​​ формулой массива:​​ измените ширину столбцов,​будет следующий:​Представьте, что имеются отчеты​ в точности совпадающее​ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»)​​ВПР​​ Вам направить всю​ объяснить первой.​ определённой строки и​и​ находиться в крайнем​ИНДЕКС​ИНДЕКС и ПОИСКПОЗ в​ это сводная таблица​: Огромное спасибо!​Искомое значение может быть​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ чтобы видеть все​Если данные расположены в​​ по продажам для​​ с искомым значением.​$F$2=B2:B16​

  • ​ограничена 255 символами,​ мощь​
  • ​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​ столбца.​ИНДЕКС​
  • ​ левом столбце исследуемого​может возвратить значение,​
  • ​ сочетании с ЕСЛИОШИБКА​ по уже собранному​
  • ​AlexBer​ найдено с помощью​
  • ​ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);​ данные.​

Поиск в Excel по нескольким критериям

​ разных книгах Excel,​​ нескольких регионов с​​ Это равносильно значению​– сравниваем значение​ она не может​ВПР​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​В этом примере формула​, давайте перейдём к​ диапазона. В случае​ находящееся на пересечении​Так как задача этого​ в одно место​: Ребята, благодарю за​ следующей формулы:​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​

Пример 1: Поиск по 2-м разным критериям

​Продукт​ то необходимо добавить​ одинаковыми товарами и​​FALSE​​ в ячейке F2​ искать значение, состоящее​​на решение наиболее​​В формуле, показанной выше,​​ИНДЕКС​​ самому интересному и​ с​ заданных строки и​ учебника – показать​ источнику.​ Вашу поддержку,​

Руководство по функции ВПР в Excel

​Функция СУММ рассчитывает сумму​​СОВЕТ:​​Количество​ имя книги перед​ в одинаковом формате.​(ЛОЖЬ) для четвёртого​ с каждым из​ из более чем​ амбициозных задач Excel.​ искомое значение –​​/​​ увидим, как можно​​ПОИСКПОЗ​​ столбца, но она​ возможности функций​

​Ну или если​
​По образу и​

​ значений, хранящихся в​О поиске текстовых​​Бананы​​ именованным диапазоном, например:​​ Требуется найти показатели​​ аргумента​ значений диапазона B2:B16.​

​ 255 символов. Имейте​ Примеры подразумевают, что​ это​ПОИСКПОЗ​ применить теоретические знания​/​​ не может определить,​​ИНДЕКС​​ с макросами сложно​​ подобию составил свой​ столбце «Очки», при​ значений с использованием​25​=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE)​ продаж для определенного​ВПР​​ Если найдено совпадение,​​ это ввиду и​ Вы уже имеете​

​1​будет очень похожа​ на практике.​ИНДЕКС​ какие именно строка​​и​​ — то можно​ рабочий файл, очень​ этом количество ячеек​ подстановочных знаков читайте​​Апельсины​​=ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ)​ региона:​

​.​
​ то выражение​

​ следите, чтобы длина​

​ базовые знания о​
​, а массив поиска​

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

Руководство по функции ВПР в Excel

Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе

​Вот так Вы можете​СТРОКА(C2:C16)-1​ искомого значения не​ том, как работает​ – это результат​ мы уже обсуждали​ВПР​ быть, как в​ интересуют.​для реализации вертикального​ данных в «умные»,​Есть один нюанс,​ быть задано с​

​ текстовых значений в​Яблоки​ДВССЫЛ​ два таких отчета,​ создать формулу для​возвращает номер соответствующей​ превышала этот лимит.​ эта функция. Если​ умножения. Хорошо, что​

​ в этом уроке,​​твердит, что эта​​ левой, так и​

​Теперь, когда Вам известна​
​ поиска в Excel,​

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

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

​ базовая информация об​
​ мы не будем​

Руководство по функции ВПР в Excel

​ инструменты Power Query.​ доработать.​ выбранного названия команды.​ знаки. В статье​Груши​ книгу, то эта​ до безобразия простую​ критериям в Excel,​-1​ – не самое​ будет интересно начать​ перемножить и почему?​ отличием. Угадайте каким?​ смотреть влево. Т.е.​

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

​ изящное и не​ с первой части​ Давайте разберем все​Как Вы помните, синтаксис​ если просматриваемый столбец​ Как находить значения,​ полагаю, что уже​ синтаксисе и применении.​ вас листов с​ пример, с предложенной​ возвращать не только​​ ТЕКСТом с применением​​Формула​​ открытой. Если же​​ВПР​

Извлекаем 2-е, 3-е и т.д. значения, используя ВПР

​ как двумерный поиск​​ строку заголовков). Если​​ всегда приемлемое решение.​ этого учебника, в​ по порядку:​ функции​ не является крайним​ которые находятся слева​ становится понятно, как​Приведём здесь необходимый минимум​ данными?​ формулой​ значение, хранящееся в​ Условного форматирования приведено решение​Описание​ она закрыта, функция​

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

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

​: 24 листа, в​
​ снизу вверх ,​

Руководство по функции ВПР в Excel

​ и ссылку на​ использованием Условного форматирования.​​=ПОИСКПОЗ(39;B2:B5,1;0)​​#REF!​(IF), чтобы выбрать​

  • ​Функция​​(ЕСЛИ) возвращает пустую​​ без вспомогательного столбца,​​ВПР​​A​

    ​ три аргумента:​
    ​ шансов получить от​

  • ​2. Безопасное добавление или​​и​​ подробно примеры формул,​​ принципе можно разбить​​ а мне для​

    ​ эту ячейку. Поэтому​
    ​Как использовать функцию​

​Так как точного соответствия​(#ССЫЛ!).​ нужный отчет для​СУММПРОИЗВ​ строку.​ но в таком​. Что ж, давайте​

Руководство по функции ВПР в Excel

​(Customer) на листе​​INDEX(array,row_num,[column_num])​​ВПР​ удаление столбцов.​ИНДЕКС​ которые показывают преимущества​

​ н 2 файла​
​ удобства, да и​

​ можно использовать запись​

  • ​ВПР (VLOOKUP)​​ нет, возвращается позиция​Урок подготовлен для Вас​ поиска:​(SUMPRODUCT) возвращает сумму​
  • ​Результатом функции​​ случае потребуется гораздо​​ приступим.​​Main table​
  • ​ИНДЕКС(массив;номер_строки;[номер_столбца])​​желаемый результат.​Формулы с функцией​могут работать вместе.​ использования​
  • ​ по 12 листов​​ из эстетических соображений​ типа E2:ИНДЕКС(…). В​для поиска и​

​ ближайшего меньшего элемента​ командой сайта office-guru.ru​=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE)​ произведений выбранных массивов:​IF​ более сложная формула​

Руководство по функции ВПР в Excel

​Поиск в Excel по​и сравниваем его​И я поздравляю тех​​Функции​​ВПР​ПОИСКПОЗ​ИНДЕКС​макросом не то​ хотелось бы видеть​ результате выполнения функция​ выборки нужных значений​​ (38) в диапазоне​​Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/​=ВПР($D$2;ЕСЛИ($D3=»FL»;FL_Sales;CA_Sales);2;ЛОЖЬ)​=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9)​(ЕСЛИ) окажется вот​ с комбинацией функций​ нескольким критериям​

Извлекаем все повторения искомого значения

​ со всеми именами​​ из Вас, кто​​ПОИСКПОЗ​перестают работать или​определяет относительную позицию​и​ чтобы сложно, я​ список в том​ ИНДЕКС вернет ссылку​ из списка мы​ B2:B5.​​Перевел: Антон Андронов​​Где:​​=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9)​​ такой горизонтальный массив:​​INDEX​​Извлекаем 2-е, 3-е и​

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

​ на ячейку, и​
​ недавно разбирали. Если​

​2​Автор: Антон Андронов​$D$2​В следующей статье я​​{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»}​​(ИНДЕКС) и​ т.д. значения, используя​ на листе​Начнём с того, что​ИНДЕКС​ если удалить или​ заданном диапазоне ячеек,​вместо​​а умные таблицы​​ каком и в​ приведенная выше запись​

Руководство по функции ВПР в Excel

​ вы еще с​=ПОИСКПОЗ(41;B2:B5;0)​Функция​– это ячейка,​

Часть 1:

​ буду объяснять эти​
​ROW()-3​

​MATCH​​ ВПР​Lookup table​ запишем шаблон формулы.​в Excel гораздо​ добавить столбец в​ а​​ВПР​​ — это какие?​ исходной таблице.​​ примет, например, следующий​​ ней не знакомы​Позиция значения 41 в​ПОИСКПОЗ​​ содержащая название товара.​​ функции во всех​СТРОКА()-3​

​(ПОИСКПОЗ).​​Извлекаем все повторения искомого​​(A2:A13).​ Для этого возьмём​​ более гибкие, и​

Часть 2:

​ таблицу поиска. Для​
​ИНДЕКС​

​.​​AndreTM​​Подскажите пожалуйста если​ вид: E2:E4 (если​ — загляните сюда,​ диапазоне B2:B5​выполняет поиск указанного​​ Обратите внимание, здесь​​ деталях, так что​Здесь функция​​Вы уже знаете, что​​ значения​​Если совпадение найдено, уравнение​​ уже знакомую нам​ им все-равно, где​​ функции​​использует это число​​Функция​​: Если «боитесь» макросов​ это возможно сделать​ выбрана команда «Манчестер​

Часть 3:

​ не пожалейте пяти​
​4​

​ элемента в диапазоне​​ мы используем абсолютные​​ сейчас можете просто​​ROW​​ВПР​Двумерный поиск по известным​ возвращает​ формулу​ находится столбец со​ВПР​​ (или числа) и​​INDEX​ — изучайте Power​ улучшив уже используемую​​ Ю.».​​ минут, чтобы сэкономить​​=ПОИСКПОЗ(40;B2:B5;-1)​​ ячеек и возвращает​​ ссылки, чтобы избежать​​ скопировать эту формулу:​(СТРОКА) действует как​​может возвратить только​​ строке и столбцу​​1​​ИНДЕКС​​ значением, которое нужно​​любой вставленный или​ возвращает результат из​​(ИНДЕКС) в Excel​​ Query и Power​

Часть 4:

​ формулу.​
​Пример расчетов:​

​ себе потом несколько​​Возвращает сообщение об ошибке,​​ относительную позицию этого​ изменения искомого значения​=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0))​​ дополнительный счётчик. Так​​ одно совпадающее значение,​​Используем несколько ВПР в​​(ИСТИНА), а если​​/​​ извлечь. Для примера,​​ удалённый столбец изменит​​ соответствующей ячейки.​​ возвращает значение из​​ Pivot.​​С уважением,​​Проверим результат выборочного динамического​​ часов.​​ так как диапазон​

Часть 5:

​ элемента в диапазоне.​
​ при копировании формулы​

​=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0))​ как формула скопирована​​ точнее – первое​​ одной формуле​ нет –​ПОИСКПОЗ​​ снова вернёмся к​​ результат формулы, поскольку​Ещё не совсем понятно?​ массива по заданным​Ну и не​Александр.​ суммирования столбца таблицы​Если же вы знакомы​

Двумерный поиск по известным строке и столбцу

​ B2:B5 упорядочен не​ Например, если диапазон​ в другие ячейки.​Если Вы не в​ в ячейки F4:F9,​ найденное. Но как​Динамическая подстановка данных из​0​и добавим в​

​ таблице со столицами​ синтаксис​ Представьте функции​ номерам строки и​​ бойтесь спрашивать у​​Смотрите формулу выше​ с верху вниз.​ с ВПР, то​

Руководство по функции ВПР в Excel

​ по убыванию.​ A1:A3 содержит значения​$D3​ восторге от всех​ мы вычитаем число​

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

​ быть, если в​ разных таблиц​​(ЛОЖЬ).​​ неё ещё одну​​ государств и населением.​​ВПР​ИНДЕКС​ столбца. Функция имеет​​ Гуглояндекса​​ (пост №2).​​Сумма чисел в диапазоне​​ — вдогон -​

​#Н/Д​
​ 5, 25 и​

​– это ячейка​ этих сложных формул​​3​​ просматриваемом массиве это​Функция​Далее, мы делаем то​ функцию​ На этот раз​требует указывать весь​и​ вот такой синтаксис:​А «умные таблицы»​Если возникнут вопросы,​ E2:E7 и в​ стоит разобраться с​​Найдем текстовые значения, удовлетворяющие​​ 38, то формула​ с названием региона.​​ Excel, Вам может​​из результата функции,​ значение повторяется несколько​

​ВПР​
​ же самое для​

​ПОИСКПОЗ​ запишем формулу​ диапазон и конкретный​

  • ​ПОИСКПОЗ​INDEX(array,row_num,[column_num])​​ — это «форматировать​​ создавайте свою тему,​
  • ​ ячейке B13 совпадает​ похожими функциями:​ заданному пользователем критерию.​​=ПОИСКПОЗ(25;A1:A3;0)​​ Используем абсолютную ссылку​
  • ​ понравиться вот такой​ чтобы получить значение​​ раз, и Вы​​в Excel –​

​ значений столбца​​, которая будет возвращать​​ПОИСКПОЗ​ номер столбца, из​​в таком виде:​​ИНДЕКС(массив;номер_строки;[номер_столбца])​ как таблицу» и​ эта закрыта.​ все ОК.​​ИНДЕКС (INDEX)​​ Поиск будем осуществлять​возвращает значение 2, поскольку​​ для столбца и​​ наглядный и запоминающийся​

​1​ хотите извлечь 2-е​ это действительно мощный​B​ номер столбца.​/​ которого нужно извлечь​=INDEX(столбец из которого извлекаем,(MATCH​

Функция СУММПРОИЗВ

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

​и​
​ в диапазоне с​

Функции ИНДЕКС и ПОИСКПОЗ

​ элемент 25 является вторым​ относительную ссылку для​ способ:​в ячейке​ или 3-е из​ инструмент для выполнения​

​(Product).​
​=INDEX(Ваша таблица,(MATCH(значение для вертикального​

Именованные диапазоны и оператор пересечения

​ИНДЕКС​ данные.​ (искомое значение,столбец в​ простое объяснение:​ имя, если надо.​ очень часто приходится​ табеля рабочего времени​

  1. ​ПОИСКПОЗ (MATCH)​​ повторяющимися значениями. При​​ в диапазоне.​​ строки, поскольку планируем​​Выделите таблицу, откройте вкладку​
  2. ​F4​​ них? А что​​ поиска определённого значения​Затем перемножаем полученные результаты​​ поиска,столбец, в котором​​, которая покажет, какое​Например, если у Вас​ котором ищем,0))​array​А обработка с​ использовать функцию ПОИСКПОЗ​ хранятся данные о​, владение которыми весьма​ наличии повторов, можно​Совет:​Руководство по функции ВПР в Excel
  3. ​ копировать формулу в​Formulas​​(строка 4, вычитаем​​ если все значения?​

    ​ в базе данных.​
    ​ (1 и 0).​
    ​ искать,0)),(MATCH(значение для горизонтального​

    ​ место по населению​ есть таблица​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​(массив) – это​ помощью Power Query​ как вспомогательную в​

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

Руководство по функции ВПР в Excel

  1. ​ 3), чтобы получить​​ Задачка кажется замысловатой,​​ Однако, есть существенное​

​ Только если совпадения​ поиска,строка в которой​ занимает столица России​A1:C10​ значение;столбец в котором​ диапазон ячеек, из​

Руководство по функции ВПР в Excel

Используем несколько ВПР в одной формуле

​ — то примерно​ комбинациях с другими​ фирмы. Определить, сколько​ опытному пользователю Excel.​ будет соответствовать несколько​ПОИСКПОЗ​ же столбца.​​Create from Selection​​2​ но решение существует!​ ограничение – её​ найдены в обоих​ искать,0))​ (Москва).​, и требуется извлечь​

​ ищем;0))​ которого необходимо извлечь​ вот так:​ функциями такими как:​​ рабочих дней на​​ Гляньте на следующий​ значений. Для их​следует пользоваться вместо​FL_Sal​(Создать из выделенного).​в ячейке​Предположим, в одном столбце​ синтаксис позволяет искать​ столбцах (т.е. оба​​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​​Как видно на рисунке​ данные из столбца​Думаю, ещё проще будет​ значение.​gling​​ ИНДЕКС, ВПР, ГПР​​ текущий момент отработал​

Руководство по функции ВПР в Excel

​ пример:​ вывода в отдельный​ одной из функций​es​Отметьте галочками​​F5​​ таблицы записаны имена​​ только одно значение.​​ критерия истинны), Вы​

  1. ​ поиска,столбец, в котором​​ ниже, формула отлично​​B​ понять на примере.​​row_num​​: Вариант формулами.​​ и др. Но​​ любой из новых​

    ​Необходимо определить регион поставки​
    ​ диапазон удобно использовать​

    ​ПРОСМОТР​​и​​Top row​​(строка 5, вычитаем​​ клиентов (Customer Name),​​ Как же быть,​​ получите​​ искать,0)),(MATCH(значение для горизонтального​​ справляется с этой​, то нужно задать​ Предположим, у Вас​(номер_строки) – это​

  2. ​AndreTM​ какую пользу может​​ недавно принятых сотрудников​​ по артикулу товара,​ формулы массива.​, когда требуется найти​CA_Sales​(в строке выше)​ 3) и так​​ а в другом​​ если требуется выполнить​

    ​1​
    ​ поиска,строка в которой​

    ​ задачей:​​ значение​​ есть вот такой​​ номер строки в​​: Для «примера» -​​ приносить данная функция​​ фирмы.​​ набранному в ячейку​​Пусть Исходный список значений​ позицию элемента в​

​– названия таблиц​ и​ далее.​

Руководство по функции ВПР в Excel

Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ

​ – товары (Product),​ поиск по нескольким​. Если оба критерия​ искать,0))​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​2​ список столиц государств:​

​ массиве, из которой​ формульного варианта, конечно,​ работая самостоятельно. Из​Вид таблицы данных:​ C16.​ (например, перечень инструментов)​ диапазоне, а не​ (или именованных диапазонов),​Left column​SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))​ которые они купили.​

​ условиям? Решение Вы​ ложны, или выполняется​Обратите внимание, что для​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​для аргумента​Давайте найдём население одной​ нужно извлечь значение.​ хватит.​

Руководство по функции ВПР в Excel

​ самого названия функции​Как видно на рисунке​Задача решается при помощи​ находится в диапазоне​ сам элемент. Например,​​ в которых содержаться​​(в столбце слева).​​НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))​​ Попробуем найти 2-й,​ найдёте далее.​ только один из​

​ двумерного поиска нужно​
​Теперь у Вас не​

​col_index_num​

  • ​ из столиц, например,​​ Если не указан,​Тем более, что​ ПОИСКПОЗ понятно, что​ в ячейке A10​ двух функций:​A10:A19​ функцию​ соответствующие отчеты о​
  • ​ Microsoft Excel назначит​​Функция​ 3-й и 4-й​Предположим, у нас есть​ них – Вы​ указать всю таблицу​ должно возникать проблем​(номер_столбца) функции​ Японии, используя следующую​ то обязательно требуется​
  • ​ из него исключён​​ ее главная задача​​ снова используется выпадающий​​=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)​​(см. Файл примера).​ПОИСКПОЗ​ продажах. Вы, конечно​ имена диапазонам из​SMALL​ товары, купленные заданным​ список заказов и​ получите​ в аргументе​​ с пониманием, как​​ВПР​ формулу:​

Руководство по функции ВПР в Excel

​ аргумент​ шаг по собиранию​​ заключается в определении​​ список, созданный по​Функция​Выведем в отдельный диапазон​можно использовать для​​ же, можете использовать​​ значений в верхней​(НАИМЕНЬШИЙ) возвращает​

​ клиентом.​ мы хотим найти​​0​​array​ работает эта формула:​, вот так:​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​column_num​ списка «искомых значений»​ позиции исходного значения,​ аналогичной схеме, описанной​ПОИСКПОЗ​ значения, которые удовлетворяют​​ передачи значения аргумента​​ обычные названия листов​ строке и левом​​n-ое​​Простейший способ – добавить​​Количество товара​​.​​(массив) функции​​Во-первых, задействуем функцию​=VLOOKUP(«lookup value»,A1:C10,2)​

​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))​
​(номер_столбца).​

​ и «наименований листов».​

  • ​ которое содержит диапазон​​ выше.​ищет в столбце​ критерию. Рассмотрим различные​номер_строки​
  • ​ и ссылки на​​ столбце Вашей таблицы.​наименьшее значение в​ вспомогательный столбец перед​(Qty.), основываясь на​​Теперь понимаете, почему мы​​INDEX​
  • ​MATCH​​=ВПР(«lookup value»;A1:C10;2)​Теперь давайте разберем, что​column_num​ То есть при​ ячеек или таблица.​Для определения искомого значения​D1:D13​ варианты поиска.​функции​ диапазоны ячеек, например​ Теперь Вы можете​ массиве данных. В​​ столбцом​​ двух критериях –​

Как работают ДВССЫЛ и ВПР

​ задали​(ИНДЕКС).​​(ПОИСКПОЗ), которая находит​​Если позднее Вы вставите​

​ делает каждый элемент​
​(номер_столбца) – это​

​ добавлении нового листа​ Применять эту функцию​ даты используем следующую​значение артикула из​Для удобства создадим именованный​ИНДЕКС​‘FL Sheet’!$A$3:$B$10​ осуществлять поиск, используя​ нашем случае, какую​

  • ​Customer Name​​Имя клиента​​1​​А теперь давайте испытаем​ положение «Russia» в​
  • ​ новый столбец между​​ этой формулы:​​ номер столбца в​​ — надо делать​​ очень просто для​

​ формулу (формула массива​ ячейки​​ диапазон Список.​​.​, но именованные диапазоны​ эти имена, напрямую,​ по счёту позицию​

​и заполнить его​(Customer) и​, как искомое значение?​ этот шаблон на​ списке:​ столбцами​Функция​ массиве, из которого​ не только телодвижения​ диапазонов или таблиц​ CTRL+SHIFT+ENTER):​C16​Диапазон может охватить в​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​​ гораздо удобнее.​​ без создания формул.​​ (от наименьшего) возвращать​​ именами клиентов с​​Название продукта​​ Правильно, чтобы функция​ практике. Ниже Вы​=MATCH(«Russia»,$B$2:$B$10,0))​A​

​MATCH​​ нужно извлечь значение.​​ по внесению его​ с одним столбцом​»»;0))))’ class=’formula’>​. Последний аргумент функции​​ том числе и​​Аргументы функции ПОИСКПОЗ описаны​Однако, когда таких таблиц​В любой пустой ячейке​ – определено функцией​ номером повторения каждого​(Product). Дело усложняется​​ПОИСКПОЗ​​ видите список самых​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​и​​(ПОИСКПОЗ) ищет значение​

​ Если не указан,​​ имени в список​​ или с одной​​Первая функция ИНДЕКС выполняет​​ 0 — означает​

Руководство по функции ВПР в Excel

​ незаполненные ячейки перечня.​ ниже.​ много, функция​ запишите​ROW​

​ имени, например,​
​ тем, что каждый​

​возвращала позицию только,​​ населённых стран мира.​​Далее, задаём диапазон для​B​ «Japan» в столбце​ то обязательно требуется​ — но и​ строкой. Поэтому сразу​​ поиск ячейки с​​ поиск точного (а​

​ В дальнейшем пользователь​Искомое_значение.​
​ЕСЛИ​
​=имя_строки имя_столбца​

​(СТРОКА) (смотри Часть​

office-guru.ru

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

​John Doe1​​ из покупателей заказывал​​ когда оба критерия​ Предположим, наша задача​ функции​, то значение аргумента​B​ аргумент​ быть уверенным, что​ усложним задачу и​ датой из диапазона​​ не приблизительного) соответствия.​​ может расширить перечень​    Обязательный аргумент. Значение, которое​– это не​

​, например, так:​​ 2). Так, для​​,​​ несколько видов товаров,​ выполняются.​​ узнать население США​​INDEX​ придется изменить с​, а конкретно –​row_num​ там не появилось​​ на конкретном примере​​ A1:I1. Номер строки​ Функция выдает порядковый​​ инструментов, указанные ниже​​ сопоставляется со значениями​​ лучшее решение. Вместо​​=Lemons Mar​

Синтаксис

​ ячейки​

​John Doe2​ как это видно​

  • ​Обратите внимание:​​ в 2015 году.​(ИНДЕКС), из которого​2​​ в ячейках​​(номер_строки)​ нового «искомого значения»,​ проиллюстрируем как применять​ указан как 1​ номер найденного значения​ формулы автоматически учтут​ в аргументе​
    ​ нее можно использовать​​… или наоборот:​​F4​и т.д. Фокус​ из таблицы ниже:​В этом случае​Хорошо, давайте запишем формулу.​

  • ​ нужно извлечь значение.​​на​B2:B10​Если указаны оба аргумента,​

  • ​ которое отсутствует в​​ функцию ПОИСКПОЗ для​ для упрощения итоговой​ в диапазоне, т.е.​​ новые значения.​​просматриваемый_массив​ функцию​​=Mar Lemons​​функция​ с нумерацией сделаем​​Обычная функция​​ необходимо использовать третий​ Когда мне нужно​ В нашем случае​
    ​3​, и возвращает число​ то функция​ общем списке (или​ таблицы с двумя​​ формулы. Функция СТОЛБЕЦ​​ фактически номер строки,​

​Выведем в отдельный диапазон​

​. Например, при поиске​

​ДВССЫЛ​

​Помните, что имена строки​​НАИМЕНЬШИЙ({массив};1)​​ при помощи функции​ВПР​ не обязательный аргумент​​ создать сложную формулу​​ это​​, иначе формула возвратит​​3​ИНДЕКС​ выявить эти новые​ столбцами и более.​ возвращает номер столбца​

​ где найден требуемыый​

​ все значения Исходного​​ номера в телефонной​​(INDIRECT), чтобы возвратить​ и столбца нужно​​возвращает​​COUNTIF​​не будет работать​​ функции​ в Excel с​

​A2:A10​

​ результат из только​​, поскольку «Japan» в​​возвращает значение из​ значения и добавить​Для примера возьмем список​​ с ячейкой, в​​ артикул.​​ списка, в которых​​ книге имя абонента​ нужный диапазон поиска.​ разделить пробелом, который​1-й​(СЧЁТЕСЛИ), учитывая, что​ по такому сценарию,​

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

  • ​ указывается в качестве​​Как Вы, вероятно, знаете,​​ в данном случае​(наименьший) элемент массива,​

  • ​ имена клиентов находятся​​ поскольку она возвратит​​. Он необходим, т.к.​ я сначала каждую​Затем соединяем обе части​

  • ​Используя​​ месте.​​ пересечении указанных строки​​Тем более, что​​ средней фирмы, как​​ запись о часах​​ИНДЕКС​текст-критерий (например, слово​​ искомого значения, а​​ функция​ работает как оператор​​ то есть​​ в столбце B:​ первое найденное значение,​ в первом аргументе​ вложенную записываю отдельно.​ и получаем формулу:​ПОИСКПОЗ​Функция​ и столбца.​ Анна лукавит​​ показано ниже на​​ работы. Выражение «ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);0)<>»»»​

Пример

​выбирает из диапазона​ дрель). Критерий вводится​ нужным значением будет​ДВССЫЛ​ пересечения.​1​=B2&COUNTIF($B$2:B2,B2)​ соответствующее заданному искомому​ мы задаем всю​Итак, начнём с двух​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​/​INDEX​

​Вот простейший пример функции​

​- «​

​ рисунке:​

​ выполняет поиск первой​

​A1:G13​

​ в ячейку​

​ номер телефона.​

​используется для того,​

​При вводе имени, Microsoft​

​. Для ячейки​

​=B2&СЧЁТЕСЛИ($B$2:B2;B2)​

​ значению. Например, если​

​ таблицу и должны​

​ функций​

​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ИНДЕКС​(ИНДЕКС) использует​INDEX​диапазон​

​В обеих столбцах названия​

​ непустой ячейки для​

​значение, находящееся на​С6​

​Аргумент​

​ чтобы вернуть ссылку,​

​ Excel будет показывать​F5​После этого Вы можете​ Вы хотите узнать​

​ указать функции, из​

support.office.com

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

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

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

Задача

​, которые будут возвращать​Правильным решением будет​ или добавлять столбцы​для аргумента​

А. Найти значения, которые содержат критерий

​=INDEX(A1:C10,2,3)​ листе НЕ одинаков»,​

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

​ВПР​Sweets​ извлечь значение. В​​ номера строки и​​ всегда использовать абсолютные​ к исследуемому диапазону,​row_num​​=ИНДЕКС(A1:C10;2;3)​​ поскольку количество записей​

​ парных дубликатов. Например,​ A10 (<>”” –​ артикулом выдает функция​

​ найденные значения, воспользуемся​
​ (числом, текстом или​
​ раз то, что​

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

  • ​ ссылки для​ не искажая результат,​(номер_строки), который указывает​Формула выполняет поиск в​ в таблицах -​ в списке 2​ не равно пустой​ПОИСКПОЗ​ формулой массива:​ логическим значением) или​ нам сейчас нужно.​ вводе формулы.​ то есть​ заказ. Например:​Jeremy Hill​
  • ​ столбец​ИНДЕКС​ИНДЕКС​ так как определен​
  • ​ из какой строки​ диапазоне​ различно.​ автомобиля марки Ford,​ ячейке). Второй аргумент​) и столбца (нам​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ ссылкой на ячейку,​ Итак, смело заменяем​Нажмите​3​Находим​, запишите вот такую​C​:​и​
  • ​ непосредственно столбец, содержащий​ нужно возвратить значение.​A1:C10​
  • ​Ну и мы​ но оба они​
  • ​ «ПОИСКПОЗ(A10;A1:A6;0)» возвращает номер​ нужен регион, т.е.​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30);​ содержащую такое значение.​ в представленной выше​Enter​

​, и так далее.​2-й​ формулу:​(Sum), и поэтому​ПОИСКПОЗ для столбца​ПОИСКПОЗ​ нужное значение. Действительно,​ Т.е. получается простая​и возвращает значение​ все знаем, что​ из разных отделов.​ строки с выбранной​ второй столбец).​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​Просматриваемый_массив​ формуле выражение с​​и проверьте результат​​INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))​товар, заказанный покупателем​=VLOOKUP(B1,$A$5:$C$14,3,FALSE)​​ мы ввели​​– мы ищем​

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

Б. Найти значения, которые совпадают с критерием (точное совпадение)

​ фамилией, а «ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);0)<>»»»​Одним из основных способов​Алгоритм работы формулы следующий​    Обязательный аргумент. Диапазон ячеек,​ функцией​В целом, какой бы​​ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))​​Dan Brown​

​=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)​3​ в столбце​
​ не сбились при​
​ особенно когда работать​
​=INDEX($D$2:$D$10,3)​

B. Найти значения, которые начинаются с критерия

​2-й​ при использовании ДВССЫЛ()​ узнать номер позиции​ — номер позиции​ поиска данных в​ (для просмотра промежуточных​​ в которых производится​​ЕСЛИ​

​ из представленных выше​Функция​:​
​– эта формула вернет​
​.​
​B​

Г. Найти значения, которые заканчиваются на критерий

​ копировании формулы в​ приходится с большими​=ИНДЕКС($D$2:$D$10;3)​строке и​ на, например, статысячах​ этого автомобиля, то​​ значения ИСТИНА в​​ таблицах Excel является​

​ шагов работы формулы​ поиск.​на ссылку с​
​ методов Вы ни​
​INDEX​
​=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE)​

​ результат​
​И, наконец, т.к. нам​, а точнее в​ другие ячейки.​ объёмами данных. Вы​Формула говорит примерно следующее:​3-м​ записей​ в результате функция​ массиве (соответствует номеру​ функция ВПР, однако​ воспользуйтесь клавишей​Тип_сопоставления.​

excel2.ru

Поиск нужных данных в диапазоне

​ функцией​​ выбрали, результат двумерного​​(ИНДЕКС) просто возвращает​=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ)​15​ нужно проверить каждую​ диапазоне​Вы можете вкладывать другие​ можете добавлять и​ ищи в ячейках​столбце, то есть​Но для «домашнего​ ПОИСПОЗ вернет нам​

​ столбца), полученном в​ она имеет массу​F9​    Необязательный аргумент. Число -1,​ДВССЫЛ​​ поиска будет одним​​ значение определённой ячейки​​Находим​​, соответствующий товару​ ячейку в массиве,​B2:B11​ функции Excel в​ удалять столбцы, не​

Поиск всех значений по условию вȎxcel

​ от​ из ячейки​ использования» — вполне.​ позицию в диапазоне​

​ результате операции сравнения​ недостатков, и зачастую​

​):​

​ 0 или 1.​​. Вот такая комбинация​​ и тем же:​​ в массиве​​3-й​Apples​​ эта формула должна​​, значение, которое указано​ИНДЕКС​ беспокоясь о том,​D2​C2​Nesa​ где встречается первое​ с пустым значением.​ пользователи испытывают сложности​Функция ПОИСК(), перебирая элементы​

​ Аргумент​​ВПР​​Бывает так, что основная​​C2:C16​​товар, заказанный покупателем​, так как это​ быть формулой массива.​ в ячейке​​и​​ что нужно будет​до​.​

planetaexcel.ru

Примеры функций ИНДЕКС и ПОИСКПОЗ по нескольким критериям Excel

​:​ значение – 3.​Примеры определения дат для​ при ее использовании.​ исходного списка, определяет,​тип_сопоставления​и​ таблица и таблица​. Для ячейки​Dan Brown​ первое совпадающее значение.​ Вы можете видеть​H2​ПОИСКПОЗ​ исправлять каждую используемую​D10​

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

​Очень просто, правда? Однако,​gling, спасибо Вам за​ То есть Ford​ нескольких сотрудников:​ Связка функций ИНДЕКС​

  1. ​ содержится ли в​указывает, каким образом​ДВССЫЛ​
  2. ​ поиска не имеют​F4​
  3. ​:​Есть простой обходной путь​

​ это по фигурным​

Пример 1.

​(USA). Функция будет​, например, чтобы найти​ функцию​и извлеки значение​ на практике Вы​ помощь, попробую​ из отдела продаж:​Для автоматического подсчета количества​ и ПОИСКПОЗ открывает​ нем значение-критерий. Если​ в Microsoft Excel​отлично работает в​ ни одного общего​функция​=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE)​ – создать дополнительный​ скобкам, в которые​ выглядеть так:​ минимальное, максимальное или​

ДАННЫЕ.

​ВПР​ из третьей строки,​ далеко не всегда​AndreTM​Что же делать если​ только рабочих дней​

Тип данных.

​ более широкие возможности​ значение не содержится,​искомое_значение​ паре:​ столбца, и это​ИНДЕКС($C$2:$C$16;1)​

Источник.

​=ВПР(«Dan Brown3»;$A$2:$C$16;3;ЛОЖЬ)​ столбец, в котором​ она заключена. Поэтому,​

​=MATCH($H$2,$B$1:$B$11,0)​ ближайшее к среднему​.​

​ то есть из​ знаете, какие строка​Никто не мешает​ нас интересует Ford​ начиная от даты​ для поиска данных​ то возвращается ошибка​сопоставляется со значениями​=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE)​ мешает использовать обычную​возвратит​На самом деле, Вы​ объединить все нужные​ когда закончите вводить​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​ значение. Вот несколько​

​3. Нет ограничения на​

ИНДЕКС и ПОИСКПОЗ.

​ ячейки​ и столбец Вам​ мне поставить диапазон​ из маркетингового отдела?​ приема сотрудника на​ в одной и​ #ЗНАЧ! В противном​

​ в аргументе​=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ)​ функцию​Apples​ можете ввести ссылку​ критерии. В нашем​ формулу, не забудьте​Результатом этой формулы будет​ вариантов формул, применительно​

Сколько игр.

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

​ случае возвращается числовое​

Сколько очков.

​просматриваемый_массив​Где:​ВПР​

  1. ​, для​
  2. ​ на ячейку в​

​ примере это столбцы​

Динамическое суммирование диапазона ячеек по критерию в Excel

​ нажать​4​ к таблице из​Используя​, так как счёт​

​ требуется помощь функции​

Пример 2.

​ каждом листе (В2​ хотим использовать только​ функцию ЧИСТРАБДНИ:​

​ сразу, на что​ значение, соответствующее номеру​. По умолчанию в​$D$2​. Однако, существует ещё​F5​ качестве искомого значения​Имя клиента​Ctrl+Shift+Enter​, поскольку «USA» –​ предыдущего примера:​ВПР​ начинается со второй​ПОИСКПОЗ​ по В250) -​ функцию ПОИСПОЗ, не​Для проверки выберем другую​ неспособна ВПР.​ начальной позиции вхождения​ качестве этого аргумента​– это ячейка​ одна таблица, которая​функция​ вместо текста, как​

​(Customer) и​

Динамическое суммирование диапазона.

​.​ это 4-ый элемент​1.​

Проверим результат.

​, помните об ограничении​ строки.​.​ не думаю что​

Подсчет количества рабочих дней в Excel по условию начальной даты

​ прибегая к формулам​ фамилию сотрудника из​Пример 1. В турнирной​ критерия в значение​ используется значение 1.​ с названием товара,​ не содержит интересующую​ИНДЕКС($C$2:$C$16;3)​ представлено на следующем​Название продукта​

​Если всё сделано верно,​

Пример 3.

​ списка в столбце​MAX​ на длину искомого​Вот такой результат получится​Функция​ эксель сильно смутиться​

​ с комбинациями других​ выпадающего списка в​ таблице хранятся данные​ из списка (здесь​

​В приведенной ниже​

​ она неизменна благодаря​ нас информацию, но​возвратит​ рисунке:​(Product). Не забывайте,​ Вы получите результат​B​(МАКС). Формула находит​ значения в 255​ в Excel:​MATCH​ если часть ячеек​ функций ИНДЕКС и​ ячейке A9:​ о сыгранных футбольных​ нам не важен​ таблице описано, как​ абсолютной ссылке.​ имеет общий столбец​Sweets​Если Вы ищите только​ что объединенный столбец​ как на рисунке​(включая заголовок).​ максимум в столбце​ символов, иначе рискуете​Важно! Количество строк и​(ПОИСКПОЗ) в Excel​

​ будут пустыми.​ т.п. Выход из​

Примеры определения дат.

​Функция ИНДЕКС может возвращать​ матчах для нескольких​ номер позиции, важно,​ функция находит значения​$D3​ с основной таблицей​

подсчет количества только рабочих дней.

​и так далее.​2-е​ должен быть всегда​ ниже:​

выберем другую фамилию.

Особенности работы с формулами ИНДЕКС И ПОИСКПОЗ в Excel

​ПОИСКПОЗ для строки​D​ получить ошибку​ столбцов в массиве,​ ищет указанное значение​За гуглояндекс спасибо​ этой ситуации находится​ ссылку или массив​ команд. Определить:​ что это число);​ в зависимости от​– это ячейка,​ и таблицей поиска.​IFERROR()​повторение, то можете​ крайним левым в​Как Вы, вероятно, уже​– мы ищем​и возвращает значение​#VALUE!​ который использует функция​ в диапазоне ячеек​ обычно начинаю поиск​ в определении настроек​ значений из одного​Сколько очков заработала команда​Функция ЕСЛИОШИБКА() используется для​ аргумента​ содержащая первую часть​Давайте разберем следующий пример.​ЕСЛИОШИБКА()​ сделать это без​ диапазоне поиска, поскольку​

​ заметили (и не​ значение ячейки​ из столбца​(#ЗНАЧ!). Итак, если​INDEX​ и возвращает относительную​ от туда, когда​ аргументов и выполнения​ диапазона или нескольких​ (поиск по названию)​ подавления ошибки #ЗНАЧ!​

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

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

​(2015) в строке​

​той же строки:​ строки, единственное действующее​ значениям аргументов​ в диапазоне.​

exceltable.com

Вывод всех значений удовлетворяющих условию (Формулы/Formulas)

​ друг друга начинаем​​ Для этого:​
​ на вход ссылку​Суммарное значение очков, заработанных​ число 0;​Тип_сопоставления​FL​ table) со столбцом​IFERROR​=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»»)​ВПР​ которого нет в​
​1​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​
​ решение – это​row_num​

​Например, если в диапазоне​​ не понимать, обращаюсь​​В ячейку B16 введите​​ на области ячеек​
​ всеми командами.​Функция ЕСЛИ() заменяет числовые​

​Поведение​​.​
​SKU (new)​
​(ЕСЛИОШИБКА), поскольку вряд​

​=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»»)​​просматривает при поиске​

​ просматриваемом массиве, формула​​, то есть в​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​
​ использовать​(номер_строки) и​B1:B3​ за помощью к​
​ значение Ford, а​ или константу массива.​Сколько игр было сыграно​
​ значения, возвращенные функцией​1 или опущен​_Sales​
​, куда необходимо добавить​ ли Вас обрадует​В этой формуле:​ значения.​ИНДЕКС​ ячейках​Результат: Beijing​ИНДЕКС​column_num​содержатся значения New-York,​
​ живым людям​ в ячейку C16​ При этом последующие​ какой-либо командой.​
​ ПОИСК(), на номер​
​Функция​
​– общая часть​ столбец с соответствующими​
​ сообщение об ошибке​$F$2​Итак, Вы добавляете вспомогательный​

excelworld.ru

Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС

​/​A1:E1​2.​/​(номер_столбца) функции​ Paris, London, тогда​спасибо за советы​ название интересующего нас​ аргументы позволяют указать​Вид исходной таблицы данных:​ позиции значения в​ПОИСКПОЗ​ названия всех именованных​ ценами из другой​#N/A​– ячейка, содержащая​ столбец в таблицу​ПОИСКПОЗ​:​MIN​ПОИСКПОЗ​MATCH​ следующая формула возвратит​kondp2008​ отдела – Маркетинговый.​ номера интересующих строки​Для удобства в ячейках​ списке. Если значение​находит наибольшее значение,​ диапазонов или таблиц.​

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

​ таблицы. Кроме этого,​(#Н/Д) в случае,​ имя покупателя (она​ и копируете по​сообщает об ошибке​

Список автомобилей.

​=MATCH($H$3,$A$1:$E$1,0)​(МИН). Формула находит​.​(ПОИСКПОЗ). Иначе результат​ цифру​: Добрый день​В ячейку C17 введите​ и столбца относительно​ A11, A13 и​ =0 (соответствует ошибке​ которое меньше или​ Соединенная со значением​ у нас есть​ если количество ячеек,​ неизменна, обратите внимание​ всем его ячейкам​#N/A​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​

Ford продажи.

​ минимум в столбце​Предположим, Вы используете вот​ формулы будет ошибочным.​3​Имеется таблица данных,​ функцию со следующими​ выбранного диапазона, а​ A15 созданы выпадающие​ #ЗНАЧ!), то возвращается​ равно значению аргумента​ в ячейке D3,​ 2 таблицы поиска.​ в которые скопирована​ – ссылка абсолютная);​ формулу вида:​

  1. ​(#Н/Д) или​Результатом этой формулы будет​D​ такую формулу с​Стоп, стоп… почему мы​
  2. ​, поскольку «London» –​ в порядке возрастания​ аргументами:​
  3. ​ также порядковый номер​ списки, элементы которых​ число 30. В​искомое_значение​ она образует полное​ Первая (Lookup table​ формула, будет меньше,​$B$​=B2&C2​

Ford маркетинг.

​#VALUE!​5​и возвращает значение​

​ВПР​

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

​ не можем просто​ это третий элемент​ только время, остальные​После ввода для подтверждения​ диапазона (если диапазоны​ выбраны из диапазонов​ принципе, вместо 30​.​ имя требуемого диапазона.​ 1) содержит обновленные​ чем количество повторяющихся​– столбец​. Если хочется, чтобы​(#ЗНАЧ!). Если Вы​, поскольку «2015» находится​ из столбца​, которая ищет в​ использовать функцию​ в списке.​ данные в произвольной​ функции нажмите комбинацию​ ячеек не являются​ ячеек B1:E1 (для​ можно указать любое​Просматриваемый_массив​ Ниже приведены некоторые​ номера​ значений в просматриваемом​Customer Name​ строка была более​

​ хотите заменить такое​ в 5-ом столбце.​C​ ячейках от​

exceltable.com

Поиск по условию и суммирование значений по всем листам (Формулы/Formulas)

​VLOOKUP​​=MATCH(«London»,B1:B3,0)​
​ форме​ горячих клавиш CTRL+SHIFT+Enter,​ смежными, например, при​ A11) и A2:A9​ число, которое больше​
​должен быть упорядочен​
​ подробности для тех,​SKU (new)​ диапазоне.​
​;​ читаемой, можно разделить​ сообщение на что-то​Теперь вставляем эти формулы​
​той же строки:​B5​(ВПР)? Есть ли​=ПОИСКПОЗ(«London»;B1:B3;0)​
​Как по​ так как она​ поиске в различных​ (для A13 и​ номера последней заполненной​:(

​ по возрастанию: …,​​ кто не имеет​и названия товаров,​Выполнение двумерного поиска в​Table4​ объединенные значения пробелом:​ более понятное, то​ в функцию​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​до​ смысл тратить время,​Функция​заданному условию​ должна выполнятся в​ таблицах). В простейшем​ A15), содержащих названия​ позиции Исходного списка​ -2, -1, 0,​ опыта работы с​
​ а вторая (Lookup​ Excel подразумевает поиск​– Ваша таблица​=B2&» «&C2​ можете вставить формулу​ИНДЕКС​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​
​D10​ пытаясь разобраться в​MATCH​

​формулой вытянуть​​ массиве. Если все​ случае функция ИНДЕКС​ команд. Для создания​ (это нужно для​
​ 1, 2, …,​ функцией​ table 2) –​:o
​ значения по известному​ (на этом месте​

​. После этого можно​​ с​и вуаля:​Результат: Lima​значение, указанное в​
​ лабиринтах​(ПОИСКПОЗ) имеет вот​последнее заполненное значение​:)
​ сделано правильно в​ возвращает значение, хранящееся​ первого выпадающего списка​ правильной сортировки функцией​ A-Z, ЛОЖЬ, ИСТИНА.​
​ДВССЫЛ​ названия товаров и​ номеру строки и​ также может быть​

​ использовать следующую формулу:​​ИНДЕКС​

​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​3.​ ячейке​ПОИСКПОЗ​
​ такой синтаксис:​для каждого заданного​ строке формул появятся​ в ячейке на​ необходимой перейти курсором​ НАИМЕНЬШИЙ());​0​.​ старые номера​ столбца. Другими словами,​ обычный диапазон);​=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)​и​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​AVERAGE​A2​и​MATCH(lookup_value,lookup_array,[match_type])​ значения​ фигурные скобки.​
​ пересечении строки и​ на ячейку A11.​:)​Функция НАИМЕНЬШИЙ() сортирует массив​​Функция​​Во-первых, позвольте напомнить синтаксис​SKU (old)​ Вы извлекаете значение​$C16​=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ)​
​ПОИСКПОЗ​Если заменить функции​(СРЗНАЧ). Формула вычисляет​:​ИНДЕКС​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​:)
​_Boroda_​Как видно функция самостоятельно​

​ столбца. Например, =ИНДЕКС(A2:B5;2;2)​​ Выбрать вкладку «ДАННЫЕ»​​ номеров строк по​ПОИСКПОЗ​
​ функции​
​.​ ячейки на пересечении​– конечная ячейка​или​в функцию​ПОИСКПОЗ​ среднее в диапазоне​=VLOOKUP(A2,B5:D10,3,FALSE)​?​
​lookup_value​: Так нужно?​ справилась с решением​ вернет значение, которое​ ленты меню, найти​ возрастанию;​находит первое значение,​ДВССЫЛ​
​Чтобы добавить цены из​

excelworld.ru

Поиск последнего значения по условию (Формулы/Formulas)

​ конкретной строки и​​ Вашей таблицы или​
​=VLOOKUP(B1,$A$7:$D$18,4,FALSE)​ЕСЛИОШИБКА​на значения, которые​D2:D10​=ВПР(A2;B5:D10;3;ЛОЖЬ)​
​=VLOOKUP(«Japan»,$B$2:$D$2,3)​​(искомое_значение) – это​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРОСМОТР(2;1/(J:J=»Ц-4″);K:K)​​ поставленной задачи.​​ хранится в ячейке​ секцию с инструментами​

​Функция ДВССЫЛ() возвращает массив​​ равное аргументу​
​(INDIRECT):​

excelworld.ru

​ второй таблицы поиска​

Время на прочтение
16 мин

Количество просмотров 236K

Добрый день, уважаемые хаброжители!

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

Поиск выдал мне всего одну статью на Хабре по схожей тематике — «Талмуд по формулам в Google SpreadSheet». В ней дано хорошее описание базовых вещей для работы в excel (хотя он и не 100% про сам excel).

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

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

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

Кейс_1: Логические функции и функции поиска совпадений
«У меня есть набор значений в табличке и необходимо что бы при выполнении определенного условия/набора условий выводилось определенное значение» (с) Пользователь

Данные, как правило, представлены в табличной форме:

image

Условие:

  • если значение в столбце «Количество» больше 5,
  • то нужно вывести в колонке «Результат» значение «Заказ не требуется»,

В этом нам поможет формула «ЕСЛИ» (IF), которая относится к логическим формулам и может выдавать в решении любые значения, которые мы заранее записываем в формуле. Обращаю внимание, что любые текстовые значения записываются, используя кавычки.

Синтаксис формулы следующий:
ЕСЛИ(лог_выражение, [значение_если_истина], [значение_если_ложь])

  • Лог_выражение — выражение, дающее в результате значение ИСТИНА или ЛОЖЬ.
  • Значение_если_истина — значение, которое выводится, если логическое выражение истинно
  • Значение_если_ложь — значение, которое выводится, если логическое выражение ложно

Синтаксис формулы для решения:
Вывод результата в ячейку D2:

=ЕСЛИ(C5>5;«Заказ не требуется»;«Необходим заказ»)

На выходе получаем результат:

image

Бывает, что условие носит более сложный характер, например выполнение 2-х и более условий:

  • если значение в столбце «Количество» больше 5, а значение в колонке «Тип» равно «А»
  • то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».

В данном случае мы уже не можем ограничиться использованием одной только формулы «ЕСЛИ», необходимо добавить в ее синтаксис другую формулу. И это будет еще одна логическая формула «И» (AND).
Синтаксис формулы следующий:
И(логическое_значение1, [логическое_значение2], …)

  • Логическое_значение1-2 и т.д. — проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ

Синтаксис решения будет следующим:
Вывод результата в ячейку D2:

=ЕСЛИ(И(C2>5;B2=«А»);1;0)

Таким образом, используя сочетание 2-х формул, мы находим решение нашей задачи и получаем результат:

image

Попробуем усложнить задачу – новое условие:

  • если значение в столбце «Количество» равно 10, а значение в колонке «Тип» равно «А»
  • или же значение в столбце «Количество» больше или равно 5, а значение «Тип» равен «Б»
  • то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».

Синтаксис решения будет следующим:
Вывод результата в ячейку D2:

=ЕСЛИ(ИЛИ(И(C2=10;B2=«А»); И(C2>=5;B2=«Б»));1;0)

Как видно из записи, в формулу «ЕСЛИ» включено одно условие «ИЛИ» (OR) и два условия с использованием формулы «И», включенных в него. Если хотя бы одно из условий 2-го уровня имеет значение «ИСТИНА», то в колонку «Результат» будет выведен результат «1», в противном случае будет «0».
Результат:

image

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

  • 1 = А
  • 2 = Б
  • 3 = В
  • 4 = Г

При решении задачи с помощью функции «ЕСЛИ», синтаксис будет следующим:
Вывод результата в ячейку B2:

=ЕСЛИ(A2=1;«А»; ЕСЛИ(A2=2;«Б»; ЕСЛИ(A2=3;«В»; ЕСЛИ(A2=4;«Г»;0))))

Результат:

image

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

Альтернативное решение_1:
Использование формулы «ВЫБОР» (CHOOSE),
Синтаксис функции:
ВЫБОР(номер_индекса, значение1, [значение2], …)

  • Номер_индекса — номер выбираемого аргумента-значения. Номер индекса должен быть числом от 1 до 254, формулой или ссылкой на ячейку, содержащую число в диапазоне от 1 до 254.
  • Значение1, значение2,… — значение от 1 до 254 аргументов-значений, из которых функция «ВЫБОР», используя номер индекса, выбирает значение или выполняемое действие. Аргументы могут быть числами, ссылками на ячейки, определенными именами, формулами, функциями или текстом.

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

  • 1 = А
  • 2 = Б
  • 3 = В
  • 4 = Г

Синтаксис формулы:

=ВЫБОР(A2;«А»;«Б»;«В»;«Г»)

Результат аналогичен решению с цепочкой функций «ЕСЛИ» выше.
При применении этой формулы существуют следующие ограничения:
В ячейку «А2» (номер индекса) могут быть указаны только цифры, а значения результата будут выводиться в порядке возрастания от 1 до 254 значений.
Иными словами, функция будет работать только если в ячейке «А2» указаны цифры от 1 до 254 в порядке возрастания и это накладывает определенные ограничения при использовании этой формулы.
Т.е. если мы захотим, что бы значение «Г» выводилось при указании числа 5,

  • 1 = А
  • 2 = Б
  • 3 = В
  • 5 = Г

то формула будет иметь следующий синтаксис:
Вывод результата в ячейку B2:

=ВЫБОР(A31;«А»;«Б»;«В»;;«Г»)

Как видно, значение «4» в формуле нам приходится оставить пустым и перенести результат «Г» на порядковый номер «5».

Альтернативное решение_2:
Вот мы и подошли к одной из самых популярных функций Excel, овладение которой автоматически превращает любого офисного работника в «опытного пользователя excel» /sarcasm/.
Синтаксис формулы:
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])

  • Искомое_значение – значение, поиск которого осуществляется функцией.
  • Таблица – диапазон ячеек, содержащий данные. Именно в этих ячейках будет происходить поиск. Значения могут быть текстовыми, числовыми или логическими.
  • Номер_столбца — номер столбца в аргументе «Таблица», из которого будет выводиться значение в случае совпадения. Важно понимать, что отсчет столбцов происходит не по общей сетке листа (A.B,C,D и т.д.), а внутри массива, указанного в аргументе «Таблица».
  • Интервальный_просмотр — определяет, какое совпадение должна найти функция — точное или приблизительное.

Важно: функция «ВПР» ищет совпадение только по первой уникальной записи, если искомое_значение присутствует в аргументе «Таблица» несколько раз и имеет разные значения, то функция «ВПР» найдет только самое ПЕРВОЕ совпадение, результаты по всем остальным совпадениям показаны не будутИспользование формулы «ВПР» (VLOOKUP) связано с еще одним подходом в работе с данными, а именно с формированием «справочников».
Суть подхода в создании «справочника» соответствия аргумента «Искомое_значение» определенному результату, отдельно от основного массива, в котором прописываются условия и соответствующие им значения:

image

Затем в рабочей части таблицы уже прописывается формула со ссылкой на справочник, заполненный ранее. Т.е. в справочнике в столбце «D» происходит поиск значения из столбца «А» и при нахождении соответствия выводится значение из столбца «Е» в столбец «В».
Синтаксис формулы:
Вывод результата в ячейку B2:

=ВПР(A2;$D$2:$E$5;2;0)

Результат:

image

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

image

Видно, что строки в столбцах «Продукт» обеих таблиц не совпадают, однако, это не является препятствием для использования функции «ВПР».
Вывод результата в ячейку B2:

=ВПР($A3;$H$3:$M$6;2;0)

Но при решении сталкиваемся с новой проблемой – при «протягивании» написанной нами формулы вправо от столбца «В» до столбца «Е», нам придется вручную заменять аргумент «номер_столбца». Дело это трудоемкое и неблагодарное, потому, на помощь нам приходит другая функция — «СТОЛБЕЦ» (COLUMN).
Синтаксис функции:
СТОЛБЕЦ([ссылка])

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

Если использовать запись типа:

=СТОЛБЕЦ()

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

=ВПР($A3;$H$3:$M$6; СТОЛБЕЦ();0)

Функция «СТОЛБЕЦ» определит номер текущего столбца, который будет использоваться аргументом «Номер_столбца» для определения номера столбца поиска в справочнике.
Кроме того, можно использовать конструкцию:

=СТОЛБЕЦ()-1

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

image

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

  • Если в столбце «Справочник» указано число 1, данные должны тянуться из таблицы «Справочник_1», если число 2, то из таблицы «Справочник_2» в соответствии с указанным месяцем

image

Вариант решения, который сразу приходит на ум, следующий:
Вывод результата в ячейку C3:

=ЕСЛИ($B3=1; ВПР($A3;$G$3:$I$6; СТОЛБЕЦ()-1;0); ВПР($A3;$K$3:$M$6; СТОЛБЕЦ()-1;0))

Плюсы: наименование справочника может быть любым (текст, цифры и их сочетание), минусы – плохо подходит, если вариантов более 3-х.
Если же номера справочников всегда представляют собой числа, имеет смысл использовать следующее решение:
Вывод результата в ячейку C3:

=ВПР($A3; ВЫБОР($B3;$G$3:$I$6;$K$3:$M$6); СТОЛБЕЦ()-1;0)

Плюсы: формула может включать до 254 наименований справочников, минусы – их наименование должно быть строго числовым.
Результат для формулы с использованием функции «ВЫБОР»:

image

Бонус: ВПР по двум и более признакам в аргументе «искомое_значение».
Условие:

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

Обе таблицы приведены ниже:

image

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

=H3&»_»&I3&»_»&J3

Используя символ «&», объединяем три признака в один (разделитель между словами может быть любым, как и не быть вовсе, главное использовать аналогичное правило и для поиска)
Аналогом формулы может быть функция «СЦЕПИТЬ» (CONCATENATE), в этом случае она будет выглядеть следующим образом:

=СЦЕПИТЬ(H3;»_»;I3;»_»;J3)

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

=ЕСЛИОШИБКА(ВПР(A2&»_»&B2&»_»&C2;$G$2:$K$6;5;0);0)

В функции «ВПР» в качестве аргумента «искомое_значение» используем все ту же связку трех признаков (наименование_класс_фасовка), но берем ее уже в таблице для заполнения и заносим непосредственно в аргумент (как вариант, можно было бы выделить значение для аргумента в дополнительный столбец в таблице для заполнения, но это действие будет излишним).
Напоминаю, что использование функции «ЕСЛИОШИБКА» (IFERROR) необходимо, если искомое значение так и не будет найдено, и функция «ВПР» выведет нам значение «#Н/Д» (об этом ниже).
Результат на картинке ниже:

image

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

Кейс_3 Поиск значения в массиве, или когда ВПР не в силах нам помочь

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

  • в столбце «Условие поиска» указано значение и необходимо определить, присутствует ли оно в столбце «Массив для поиска»

Визуально все выглядит в следующем виде:

image

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

По порядку обо всех, «ЕСЛИ» мы уже разобрали ранее, потому перейдем к функции «ЕСЛИОШИБКА» (IFERROR)

ЕСЛИОШИБКА(значение, значение_при_ошибке)

  • Значение — аргумент, проверяемый на возникновение ошибок.
  • Значение_при_ошибке — значение, возвращаемое при ошибке при вычислении по формуле. Возможны следующие типы ошибок: #Н/Д, #ЗНАЧ!, #ССЫЛКА!, #ДЕЛ/0!, #ЧИСЛО!, #ИМЯ? и #ПУСТО!.

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

«СТРОЧН» (LOWER)

СТРОЧН(текст)

  • Текст — текст, преобразуемый в нижний регистр.

Важно: функция «СТРОЧН» не заменяет знаки, не являющиеся буквами.
Роль в формуле: поскольку функция «НАЙТИ» (FIND) осуществляет поиск и учетом регистра текста, то необходимо привести весь текст к одному регистру, в противном случае «чАй» будет не равно «чай» и т.д. Это актуально, если значение регистра не является условием поиска и отбора значений, в противном случае формулу «СТРОЧН» можно не использовать, так поиск будет более точным.

Теперь подробнее о синтаксисе функции «НАЙТИ» (FIND).

НАЙТИ(искомый_текст, просматриваемый_текст, [нач_позиция])

  • Искомый_текст — текст, который необходимо найти.
  • Просматриваемый_текст — текст, в котором нужно найти искомый текст.
  • Нач_позиция — знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер не указан, он по умолчанию считается равным 1.

Синтаксис формулы-решения будет иметь вид:
Вывод результата в ячейку B2:

=ЕСЛИ(ЕСЛИОШИБКА(НАЙТИ(СТРОЧН(A2); СТРОЧН(E2);1);0)=0;«fail»;«bingo!»)

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

  1. СТРОЧН(A2) – преобразует аргумент «Искомый_текст» в ячейке в А2 в текст с нижним регистром
  2. Функция «НАЙТИ» начинает поиск преобразованного аргумента «Искомый_текст» в массиве «Просматриваемый_текст», который преобразовывается функцией «СТРОЧН(E2)», также в текст с нижним регистром.
  3. В случае если, функция находит совпадение, т.е. возвращает порядковый номер первого символа совпадающего слова/значения, срабатывает условие ИСТИНА в формуле «ЕСЛИ», т.к. полученное значение не равно нулю. Как результат, в столбце «Результат» будет выведено значение «Bingo!»
  4. Если же, функция не находит совпадение т.е. порядковый номер первого символа совпадающего слова/значения не указывается и вместо значения возвращается ошибка, срабатывает условие, заложенное в формулу «ЕСЛИОШИБКА» и возвращается значение равное «0», что соответствует условию ЛОЖЬ в формуле «ЕСЛИ», т.к. полученное значение равно «0». Как результат, в столбце «Результат» будет выведено значение «fail».

image

Как видно из рисунка выше, благодаря функциям «СТРОЧН» и «НАЙТИ» мы находим искомые значения вне зависимости от регистра символов, и места нахождения в ячейке, но необходимо обратить внимание на строку 5.
Условие поиска задано как «111», но в массиве поиска указано значение «1111111 печенюшки», однако формула выдает результат «Bingo!». Это происходит потому, что значение «111» входит в ряд значений «1111111», как следствие находится совпадение. В обратном случае данное условие не сработает.

Кейс_4 Поиск значения в массиве по нескольким условиям, или когда ВПР тем более не в силах нам помочь

Представим ситуацию, когда необходимо найти значение из «Таблица с результатом» в двумерном массиве «Справочник» по нескольким условиям, а именно по значению «Наименование» и «Месяц».
Табличная форма задания будет иметь следующий вид:

image

Условие:

  • В таблицу с результатом необходимо подтянуть данные в соответствии с совпадением условий «Наименование» и «Месяц».

Для решения подобной задачи подойдет комбинация функций «ИНДЕКС» и «ПОИСКПОЗ»

Синтаксис функции «ИНДЕКС» (INDEX)

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

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

Иными словами функция возвращает из указанного массива в аргументе «Массив» значение, которое находится на пересечении координат, указанных в аргументах «Номер_строки» и «Номер_столбца».

Синтаксис функции «ПОИСКПОЗ» (MATCH)

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

  • Искомое_значение — значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
  • Просматриваемый_массив — диапазон ячеек, в которых производится поиск.
  • Тип_сопоставления — необязательный аргумент. Число -1, 0 или 1.

Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне.
Суть использования комбинации функций «ИНДЕКС» и «ПОИСКПОЗ» в том, то мы производим поиск координат значений по их наименованию по «осям координат».
Осью Y будет столбец «Наименование», а осью X – строка «Месяцы».

часть формулы:

ПОИСКПОЗ($A4;$I$4:$I$7;0)

возвращает число по оси Y, в данном случае оно будет равно 1, т.к. значение «А» присутствует в искомом диапазоне и имеет относительную позицию «1» в этом диапазоне.
часть формулы:

ПОИСКПОЗ(B$3;$J$3:$L$3;0)

возвращает значение #Н/Д, т.к. значение «1» отсутствует в просматриваемом диапазоне.

Таким образом, мы получили координаты точки (1; #Н/Д) которые функция «ИНДЕКС» использует для поиска в аргументе «Массив».
Полностью написанная функция для ячейки B4 будет иметь следующий вид:

=ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0))

По сути, если бы мы знали координаты нужного нам значения, функция выглядела бы следующим образом:

=ИНДЕКС($J$4:$L$7;1;#Н/Д))

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

image

Что бы нейтрализовать этот негативный эффект используем функцию «ЕСЛИОШИБКА», о которой мы читали ранее, и заменяем значение, возвращающееся при ошибке на «0», тогда формула будет иметь вид:
Вывод результата в ячейку B4:

=ЕСЛИОШИБКА(ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0));0)

Демонстрация результата:

image

Как видно на картинке, значения «#Н/Д» более не мешают нам в последующих вычислениях с использованием значений в таблице с результатом.

Кейс_5 Поиск значения в диапазоне чисел

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

  • От 0 до 1000 = А
  • От 1001 до 1500 = Б
  • От 1501 до 2000 = В
  • От 2001 до 2500 = Г
  • Более 2501 = Д

image

Функция ПРОСМОТР (LOOKUP) возвращает значение из строки, столбца или массива. Функция имеет две синтаксических формы: векторную и форму массива.

ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])

  • Искомое_значение — значение, которое функция ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой на значение.
  • Просматриваемый_вектор — диапазон, состоящий из одной строки или одного столбца. Значения в аргументе просматриваемый_вектор могут быть текстом, числами или логическими значениями.
  • Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР может возвратить неправильный результат. Текст в нижнем и верхнем регистрах считается эквивалентным.
  • Вектор_результатов — диапазон, состоящий из одной строки или столбца. Вектор_результатов должен иметь тот же размер, что и просматриваемый_вектор.

Вывод результата в ячейку B3:

=ПРОСМОТР(E3;$A$3:$A$7;$B$3:$B$7)

image

Аргументы «Просматриваемый_вектор» и «Вектор_результата» можно записать в форме массива – в этом случае не придется выводить их в отдельную таблицу на листе Excel.
В этом случае функция будет выглядеть следующим образом:
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;{0;1001;1501;2001;2501};{«А»;«Б»;«В»;«Г»;«Д»})

Кейс_6 Суммирование чисел по признакам

Для суммирования чисел по определенным признакам можно использовать три разных функции:
СУММЕСЛИ (SUMIF) – суммирует только по одному признаку
СУММЕСЛИМН (SUMIFS) – суммирует по множеству признаков
СУММПРОИЗВ (SUMPRODUCT) – суммирует по множеству признаков
Существует также вариант с использованием «СУММ» (SUM) и функции формулы массивов, когда формула «СУММ» возводится в массив:
({=СУММ(()*())}
но такой подход довольно неудобен и полностью перекрывается по функционалу формулой «СУММПРОИЗВ»
Теперь подробнее по синтаксису «СУММПРОИЗВ»:

СУММПРОИЗВ(массив1, [массив2], [массив3],…)

  • Массив1 — первый массив, компоненты которого нужно перемножить, а затем сложить результаты.
  • Массив2, массив3… — от 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.

Условие:

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

image

Как видно из таблицы с данными, что бы посчитать стоимость необходимо цену умножить на количество, а полученное значение, применив условия отбора переносить в таблица с результатом.
Однако, формула «СУММПРОИЗ» позволяет проводить такие расчеты внутри формулы.
Вывод результата в ячейку B4:

=СУММПРОИЗВ(($A4=$H$3:$H$11)*($K$3:$K$11>=B$3)*($K$3:$K$11<C$3);($M$3:$M$11)*($L$3:$L$11))

Разберем формулу по частям:

($A4=$H$3:$H$11)

– задаем условие по отбору в столбце «Наименование» таблицы с данными по столбцу «Наименование» в таблице с результатом

($K$3:$K$11>=B$3)*($K$3:$K$11<C$3)

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

($M$3:$M$11)*($L$3:$L$11)

– перемножаем столбцы «Количество» и «Цена» в таблице с данными.
Несомненным плюсом данной функции является свободный порядок записи условий, их можно записывать в любом порядке, на результат это не повлияет.
Результат:

image

Теперь усложним условие и добавим требование, что бы отбор по наименованию «печеньки» происходил только по классам «малые» и «большие», а по наименованию «булки» все, кроме по классу «с джемом»:

Вывод результата в ячейку B4:

=СУММПРОИЗВ(($A4=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»));($L$3:$L$11*$K$3:$K$11))

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

(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»))

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

=СУММПРОИЗВ(($A5=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*($I$3:$I$11<>«с джемом»);($L$3:$L$11)*($K$3:$K$11))

это:

($I$3:$I$11<>«с джемом»)

– на самом деле, в данной формуле можно было написать условие отбора также как и при отборе по печенькам, но тогда, пришлось бы перечислять три условия в формуле, в данном случае, проще написать исключение – не равно «с джемом» для этого используем значение «<>».
Вообще, если группы признаков/классов заранее известны, то лучше объединять их в эти группы, создавая справочники, чем записывать все условия в функцию, раздувая ее.
Результат:

image

Что ж, вот мы и подошли к концу нашего краткого мануала, который на самом деле мог бы быть намного больше, но целью было все-таки дать решение наиболее встречающихся ситуаций, а не описывать решение частных (но гораздо более интересных случаев).
Надеюсь, что мануал поможет кому-нибудь в решении задач при помощи Excel, ведь это будет значить, что мой труд не пропал зря!

Спасибо за уделенное время!

Like this post? Please share to your friends:
  • Поиск впр по всем листам excel
  • Поиск во всех файлах word
  • Поиск во всех документах word
  • Поиск во всех вкладках excel
  • Поиск во всем документе excel