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 в английском варианте). В одной из предыдущих статей мы…

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

Начиная с обновления для Microsoft 365 за сентябрь 2018 г., любая формула, которая может возвращать несколько результатов, автоматически переносит их вниз или в соседние ячейки. Это изменение поведения также сопровождается несколькими новыми функциями динамического массива. Формулы динамического массива, независимо от того, используют ли они существующие функции или функции динамического массива, необходимо вводить только в одну ячейку, а затем подтверждать, нажав ВВОД. Ранее в устаревших формулах массива сначала требовалось выбрать весь выходной диапазон, а затем подтвердить формулу с помощью CTRL+SHIFT+ВВОД. Их часто называют формулами CSE.

Формулы массива позволяют выполнять сложные задачи, например следующие:

  • Быстро создавать образцы наборов данных.

  • Подсчитывать числа знаков в диапазоне ячеек.

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

  • Суммировать всех n-х значения в диапазоне значений.

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

Скачивание примеров

Скачать образец книги со всеми примерами формул массива из этой статьи.

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

  • Формула массива с несколькими ячейками

    Функция массива с несколькими ячейками в ячейке H10 =F10:F19*G10:G19 для вычисления количества машин, проданных по цене за единицу

  • Здесь мы вычисляем совокупный объем продаж купе и седанов для каждого продавца, вводя =F10:F19*G10:G19 в ячейку H10.

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

  • Формула массива с одной ячейкой

    Формула массива с одной ячейкой для вычисления общего итога с помощью =СУММ(F10:F19*G10:G19)

    В ячейке H20 образца книги введите или скопируйте и вставьте =СУММ(F10:F19*G10:G19), а затем нажмите ВВОД.

    В этом случае будет выполнено перемножение значений массива (диапазон ячеек F10–G19), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей.

    В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже. Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке H20 полностью независима от формулы с несколькими ячейками (формула в ячейках H10–H19). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце H, и это не повлияет на формулу в ячейке H20. Также может быть полезно иметь независимые итоги, как это, так как это помогает проверить точность результатов.

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

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

    • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку H11 и нажмите клавишу DELETE. Excel не будет изменять выходные данные массива. Чтобы их изменить, необходимо выбрать левую верхнюю ячейку массива или ячейку H10.

    • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в примере с продажей автомобилей для вычисления результатов в столбце E используется одна формула массива. Если бы вы прибегли к обычным формулам (таким как =F10*G10, F11*G11, F12*G12 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов. Это не очень важно, но что, если вам необходимо суммировать тысячи строк? Тогда это может иметь большое значение.

    • Эффективность    Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(F10:F19*G10:G19) та же: =СУММ(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

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

    • Ошибка #ПЕРЕНОС!    Динамические массивы ввели Ошибка #ПЕРЕНОС!, что означает, что предполагаемый диапазон переноса по какой-либо причине заблокирован. При устранении блока формула будет автоматически перенесены.

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5} или ={«Январь»;»Февраль»;»Март»}

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

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

  • Создание горизонтальной константы

    Воспользуйтесь книгой из предыдущих примеров или создайте новую книгу. Выберете любую пустую ячейку и введите =ПОСЛЕД(1,5). Функция ПОСЛЕД создает массив из 1 строки на 5 столбцов, как ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание горизонтальной константы массива с помощью =ПОСЛЕД(1,5) или ={1,2,3,4,5}

  • Создание вертикальной константы

    Выберите любую пустую ячейку с помещением под ней и введите =ПОСЛЕД(5), или ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание вертикальной константы массива с помощью =ПОСЛЕД(5) или ={1;2;3;4;5}

  • Создание двумерной константы

    Выберите любую пустую ячейку с помещением справа и введите =ПОСЛЕД(3,4). Вы получите следующий результат:

    Создание константы массива из 3 строк и 4 столбцов с помощью =ПОСЛЕД(3,4)

    Вы также можете ввести: или={1;2;3;4:5;6;7;8:9;10;11;12}, но обратите внимание, где вы ставите точки с запятой вместо запятых.

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

Вот пример использования констант массива в составе более крупной формулы. В примере книги перейдите к листу Константа в формуле или создайте новый лист.

В ячейке D9 мы ввели =ПОСЛЕД(1,5,3,1), но вы также можете ввести 3, 4, 5, 6 и 7 в ячейки A9:H9. В этом конкретном выборе числа нет ничего особенного, мы просто выбрали что-то другое, кроме 1-5.

В ячейке E11 введите =СУММ(D9:H9*ПОСЛЕДОВАТЕЛЬНОСТЬ(1,5)) или =СУММ(D9:H9*{1;2;3;4;5}). Формулы возвращают 85.

Использование констант массива в формулах. В этом примере мы использовали =СУММ(D9:H(*ПОСЛЕД(1,5))

Функция ПОСЛЕД создает эквивалент константы массива {1;2;3;4;5}. Поскольку Excel в первую очередь выполняется операции с элементами, заключенными в скобки, далее будут использоваться значения ячеек в D9: H9 и оператор умножения (*). На этом этапе формула выполнит умножение значений в сохраненном массиве на соответствующие значения в константе. Это эквивалент следующей формулы:

=СУММ(D9*1;E9*2,F9*3,G9*4;H9*5) или =СУММ(3*1,4*2,5*3,6*4,7*5)

В последнюю очередь выполняется сложение значений при помощи функции СУММ и возвращается 85.

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

=СУММ(ПО(1;5;3;1)*ПОСЛЕД(1,5)) или =СУММ({3;4;5;6;7}*{1;2;3;4;5})

Элементы, которые можно использовать в константах массива

  • Константы массива могут содержать числа, текст, логические значения (например, ИСТИНА и ЛОЖЬ) и значения ошибок, такие как #N/A. Можно использовать числа в целочисленном, десятичном или экспоненциальном формате. При добавлении текста требуется заключить его в кавычки («текст»).

  • Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

Выберите Формулы > Присвоить имена > Определить имена. В поле Имя введите Квартал 1. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):

={«Январь»;»Февраль»;»Март»}

Диалоговое окно должно выглядеть следующим образом:

Добавление именованной константы массива из "Формулы > Определенные имена > Диспетчер имен > Новое"

Нажмите кнопку ОК, выберите любую строку с тремя пустыми ячейками и введите =Квартал1.

Будет отображен следующий результат:

Использование именованной константы в формуле как =Квартал1, где Квартал1 был определен как ={"Январь","Февраль","Март"}

Если вы хотите, чтобы результаты переносились по вертикали, а не по горизонтали, можно использовать =ТРАНСП(Квартал1).

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

=ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()),ПОСЛЕД(1,12),1),»ммм»)

Использование комбинаций функций ТЕКСТ, ДАТА, ГОД, СЕГОДНЯ и ПОСЛЕД для создания динамического списка из 12 месяцев

При этом функция ДАТА используется для создания даты на основе текущего года, функция ПОСЛЕД создает константу массива от 1 до 12 с января по декабрь, затем функция ТЕКСТ преобразует формат отображения в «ммм» (январь, февраль, март и т..д.). Если вы хотите отобразить полное название месяца, например «Январь», используйте «мммм».

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

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

  • Умножение каждого из элементов массива

    Введите =ПОСЛЕД(1,12)*2 или ={1;2;3;4:5;6;7;8:9;10;11;12}*2

    Вы также можете выполнить деление с помощью (/), сложить с помощью (+) и вычесть с помощью ().

  • Возведение в квадрат элементов массива

    Введите =ПОСЛЕД(1,12)^2 или ={1;2;3;4:5;6;7;8:9;10;11;12}^2

  • Поиск квадратного корня из квадрата элементов массива

    Введите =КОРЕНЬ(ПОСЛЕД(1,12)^2) или =КОРЕНЬ({1;2;3;4:5;6;7;8:9;10;11;12}^2)

  • Транспонирование одномерной строки

    Введите =ТРАНСП(ПОСЛЕД(1,5)) или =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

  • Транспонирование одномерного столбца

    Введите =ТРАНСП(ПОСЛЕД(5,1)) или =ТРАНСП({1:2:3:4:5})

    Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

  • Транспонирование двумерного массива

    Введите =ТРАНСП(ПОСЛЕД(3,4)) или =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

  • Создание массива на основе существующих значений

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

    Введите =ПОСЛЕД(3,6,10,10) или ={10;20;30;40;50;60:70;80;90;100;110;120:130;140;150;160;170;180}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 180, так как вы создаете массив чисел.

    Затем введите =D9# или =D9:I11 в пустую ячейку. Появится массив ячеек 3 x 6 с одинаковыми значениями, которые отображаются в D9:D11. Знак # называется оператором диапазона переноса, и это способ ссылки Excel на весь диапазон массива вместо того, чтобы вводить его.

    Используйте оператор рассеянного диапазона (#) для ссылки на существующий массив

  • Создание константы массива на основе существующих значений

    Вы можете получить результаты формулы перенесенного массива и преобразовать его в компоненты. Выберите ячейку D9 и нажмите клавишу F2, чтобы переключиться в режим правки. Затем нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения, которые Excel преобразует в константу массива. При нажатии клавиши ВВОД формула =D9# теперь должна быть ={10;20;30:40;50;60:70;80;90}.

  • Подсчет знаков в диапазоне ячеек

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

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

    =СУММ(LEN(C9:C13))

    В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66). Если вы хотите получить среднее количество символов, можно использовать:

    =СРЗНАЧ(ДЛСТР(C9:C13))

  • Содержимое самой длинной ячейки в диапазоне C9:C13

    =ИНДЕКС(C9:C13;ПОИСКПОЗ(МАКС(ДЛСТР(C9:C13)),ДЛСТР(C9:C13);0);1)

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

    Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек D2:D6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке D3.

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

    МАКС(ДЛСТР(C9:C13)

    из следующего массива:

    ДЛСТР(C9:C13)

    Аргумент типа соответствия в этом случае равен 0. Тип соответствия может иметь значение 1, 0 или -1.

    • Значение 1 возвращает наибольшее значение, которое не превышает искомое значение.

    • Значение 0 возвращает первое значение, равное искомому.

    • Значение -1 возвращает наименьшее из значений, которые превышают искомое значение или равно ему

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

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

    Если вы хотите получить содержимое из наименьшей текстовой строки, замените значение МАКС в примере выше на МИН.

  • Поиск n наименьших значений в диапазоне

    В этом примере показано, как найти три наименьших значения в диапазоне ячеек, где массив образцов данных в ячейках B9:B18 был создан с помощью: =ЦЕЛОЕ(СЛМАССИВ(10,1)*100). Обратите внимание, что ФУНКЦИЯ СЛМАСИМВ — это переменная функция, поэтому вы будете получать новый набор случайных чисел при каждом вычислении в Excel.

    Формула массива Excel для поиска n-го наименьшего значения: =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9))

    Введите =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9), =НАИМЕНЬШИЙ(B9:B18,{1:2:3})

    В этой формуле константа массива используется для трехкратной оценки функции НАИМЕНЬШИЙ и возврата 3 наименьших членов массива, содержащихся в ячейках B9:B18, где 3 — это переменное значение в ячейке D9. Чтобы найти дополнительные значения, можно увеличить значение в функции ПОСЛЕД или добавить дополнительные аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

    =СУММ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

    =СРЕДНИЙ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

  • Поиск n наибольших значений в диапазоне

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

    Введите =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))) или =НАИБОЛЬШИЙ(B9:B18,СТРОКА(ДВССЫЛ(«1:3»)))

    На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустое и введите:

    =СТРОКА(1:10)

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

    =СТРОКА(ДВССЫЛ(«1:10»))

    В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений. Вы можете так же легко использовать функцию ПОСЛЕД:

    =ПОСЛЕД(10)

    Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей B9:B18 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек. Как и в примерах с функцией НАИМЕНЬШИЙ, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

  • Суммирование диапазона, который содержит значения ошибки

    При попытке просуммировать диапазон, содержащий значения ошибки (например, #ЗНАЧЕН), функция СУММ в Excel не работает. или #Н/Д. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки:

    Использование массивов для работы с ошибками. Например, =СУММ(ЕСЛИ(ЕОШИБКА(Данные),"",Данные) суммирует диапазон с именем "Данные" даже в случае, если он содержит ошибки как #ЗНАЧЕН! или #НД!.

  • =СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

    Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

  • Подсчет количества значений ошибки в диапазоне

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

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

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

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

    Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

    Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

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

Можно использовать массивы для вычислений на основе конкретных условий. =СУММ(ЕСЛИ(Продажи>0,Продажи)) будет суммировать все значения больше 0 в диапазоне с именем "Продажи".

Например, в указанной ниже формуле массива суммируются только положительные целые числа в диапазоне с именем «Продажи», который представляет ячейки E9:E24 в приведенном выше примере:

=СУММ(ЕСЛИ(Продажи>0;Продажи))

В результате выполнения функции ЕСЛИ создается массив положительных и ложных значений. Функция СУММ будет игнорировать ложные значения, поскольку 0+0=0. Используемый в этой формуле диапазон ячеек может включать любое количество строк и столбцов.

Можно также выполнить суммирование значений с учетом нескольких условий. Например, эта формула массива вычисляет значения больше 0 И меньше 2500:

=СУММ((Продажи>0)*(Продажи<2500)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно суммировать значения, которые больше 0 ИЛИ меньше 2500:

=СУММ(ЕСЛИ((Продажи>0)+(Продажи<2500);Продажи))

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

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

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью. Например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов:

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

В результате выполнения формулы создается массив, имеющий такой же размер, что и сравниваемые диапазоны. Функция ЕСЛИ заполняет массив значениями 0 и 1 (0 для ячеек с различными значениями, 1 — для ячеек с одинаковыми значениями). Затем функция СУММ возвращает сумму значений в массиве.

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

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

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

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

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

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

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

  • Формула массива с несколькими ячейками

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

Продавец

Тип 
автомобиля

Число
проданных единиц

Цена
за единицу

Итоги
продаж

Зуева

Седан

5

33000

Купе

4

37000

Егоров

Седан

6

24000

Купе

8

21000

Еременко

Седан

3

29000

Купе

1

31000

Климов

Седан

9

24000

Купе

5

37000

Шашков

Седан

6

33000

Купе

8

31000

Формула (общий итог)

Общий итог

‘=СУММ(C2:C11*D2:D11)

=СУММ(C2:C11*D2:D11)

  1. Чтобы просмотреть итоги продаж автомобилей типа «купе» и «седан» для каждого продавца, выберите ячейки E2:E11, введите формулу =C2:C11*D2:D11, а затем нажмите клавиши CTRL+SHIFT+ВВОД.

  2. Чтобы просмотреть итоги всех продаж, выберите ячейку F11, введите формулу =СУММ(C2:C11*D2:D11), а затем нажмите клавиши CTRL+SHIFT+ВВОД.

При нажатии CTRL+SHIFT+ВВОД Excel заключает формулу в скобки ({ }) и вставляет экземпляр формулы в каждую ячейку выбранного диапазона. Это происходит очень быстро, поэтому в столбце E отображается сумма продаж каждого типа автомобиля для каждого продавца. Если вы выберете E2, а затем выберите E3, E4 и так далее, вы увидите, что отображается та же формула: {=C2:C11*D2:D11}

Итоговые суммы в столбце E, вычисленные с помощью формулы массива

  • Создание формулы массива с одной ячейкой

В ячейке D13 книги введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


=СУММ(C2:C11*D2:D11)

В этом случае будет выполнено перемножение значений массива (диапазон ячеек C2–D11), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей. В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже.

Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке D13 полностью независима от формулы с несколькими ячейками (формула в ячейках E2–E11). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце E или вообще удалить этот столбец, и это не повлияет на формулу в ячейке D13.

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

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

  • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку E3 и нажмите клавишу DELETE. Вам придется выделить весь диапазон ячеек (E2–E11) и изменить формулу для всех ячеек либо оставить массив без изменений. В качестве меры безопасности необходимо нажать CTRL+SHIFT+ВВОД чтобы подтвердить изменение формулы.

  • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в книге для вычисления результатов в столбце E применяется всего лишь одна формула массива. Если бы вы прибегли к обычным формулам (таким как =C2*D2, C3*D3, C4*D4 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов.

Как правило, в формулах массива используется стандартный синтаксис формулы. Они все начинаются со знака равенства (=) и могут содержать многие встроенные функции Excel. Ключевое отличие заключается в том, что при использовании формулы массива, чтобы ввести формулу необходимо ввести клавиши CTRL+SHIFT+ВВОД. В этом случае Excel заключит формулу массива в фигурные скобки — если вы введете фигурные скобки вручную, ваша формула будет преобразована в текстовую строку и не будет работать.

Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(C2:C11*D2:D11) эквивалентна формуле =СУММ(C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8;C9*D9;C10*D10;C11*D11).

Важно: Нажимайте клавиши CTRL+SHIFT+ВВОД, когда хотите ввести формулу массива. Это правило действует для формул как с одной, так и с несколькими ячейками.

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

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

  • Содержимое отдельной ячейки в формуле массива изменить нельзя. Чтобы проверить это правило, выделите ячейку E3 в книге и нажмите клавишу DELETE. В приложении Excel отобразится сообщение о том, что нельзя изменить часть формулы массива.

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

  • Чтобы удалить формулу массива, выберите весь диапазон формул (например, E2:E11), а затем нажмите Удалить.

  • В формулу массива с несколькими ячейками нельзя вставить пустые строки (или удалить строки из нее).

Иногда возникает необходимость увеличить диапазон формулы массива. Выберите первую ячейку в существующем диапазоне массива и продолжайте, пока не выберете весь диапазон, на который вы хотите расширить формулу. Нажмите F2, чтобы изменить формулу, а затем нажмите CTRL+SHIFT+ВВОД, чтобы подтвердить формулу после изменения диапазона формул. Ключом является выбор всего диапазона, начиная с верхней левой ячейки массива. Верхняя левая ячейка — это ячейка, которая редактируется.

Несмотря на все преимущества формул массива, у них имеются свои недостатки.

  • Вы можете случайно забыть нажать сочетание клавиш CTRL+SHIFT+ВВОД. Это может случиться даже с самыми опытными пользователями Excel. Не забывайте нажимать это сочетание клавиш каждый раз при вводе или изменении формулы массива.

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

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

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5}

Теперь вы знаете о необходимости нажимать клавиши CTRL+SHIFT+ВВОД при создании формул массива. Константы массива являются составляющей формул массива, поэтому скобки вокруг них необходимо ввести вручную. Затем нажмите клавиши CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

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

Так выглядит массив из одной строки: {1;2;3;4}. Массив из одного столбца: {1:2:3:4}. А вот массив из двух строк и четырех столбцов: {1;2;3;4:5;6;7;8}. В двухстрочном массиве первая строка представлена 1, 2, 3 и 5, 6, 7, а вторая строка — 8 и 4. Строки разделены двоеточием между записями 4 и 5.

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

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

Создание горизонтальной константы

  1. На пустом листе выделите ячейки от A1 до E1 включительно.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4;5}

    В этом случае нужно ввести открывающую и закрывающую фигурные скобки ({ }), и Excel добавит второй набор.

    Будет отображен следующий результат:

    Горизонтальная константа массива в формуле

Создание вертикальной константы

  1. Выделите в книге столбец из пяти ячеек.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1:2:3:4:5}

    Будет отображен следующий результат:

    Вертикальная константа массива в формуле массива

Создание двумерной константы

  1. Выделите в книге блок ячеек из четырех столбцов и трех строк.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}

    Вы получите следующий результат:

    Двумерная константа массива в формуле массива

Использование констант в формулах

Рассмотрим простой пример с константами.

  1. Создайте новый лист в образце книги.

  2. В ячейку A1 введите значение 3, затем введите 4 в ячейку B1, 5 — в C1, 6 — в D1 и 7 — в E1.

  3. В ячейке A3 введите следующую формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    =СУММ(A1:E1*{1;2;3;4;5})

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

    Формула массива с константой массива

    В ячейке A3 появится значение 85.

В следующем разделе поясняется работа этой формулы.

Использованная формула состоит из нескольких частей.

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

1. Функция

2. Сохраненный массив

3. Оператор

4. Константа массива

Последний элемент внутри скобок — это константа массива: {1;2;3;4;5}. Помните, что Excel не заключает константы массива в фигурные скобки, их нужно вводить вручную. Также помните о том, что после ввода константы в формулу массива необходимо нажать сочетание клавиш CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

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

=СУММ(A1*1;B1*2;C1*3;D1*4;E1*5)

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

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

=СУММ({3;4;5;6;7}*{1;2;3;4;5})

Для этого скопируйте функцию, выделите пустую ячейку в книге, вставьте формулу в строку формул, а затем нажмите клавиши CTRL+SHIFT+ВВОД. Получится тот же результат, что и в предыдущем упражнении, где использовалась формула массива:

=СУММ(A1:E1*{1;2;3;4;5})

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

Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

  1. На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
    Откроется диалоговое окно Задать имя.

  2. В поле Имя введите Квартал1.

  3. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):


    ={«Январь»;»Февраль»;»Март»}

    Содержимое этого диалогового окна должно иметь следующий вид:

    Диалоговое окно "Изменение имени" с формулой

  4. Нажмите кнопку ОК, а затем выделите строку из трех пустых ячеек.

  5. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =Квартал1

    Будет отображен следующий результат:

    Именованный массив, введенный в виде формулы

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

Если константы массива не действуют, проверьте наличие перечисленных ниже причин.

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

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

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

Умножение каждого из элементов массива

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

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*2

Возведение в квадрат элементов массива

  1. Выделите блок пустых ячеек из четырех столбцов и трех строк.

  2. Введите указанную ниже формулу массива, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*{1;2;3;4:5;6;7;8:9;10;11;12}

    Можно также ввести следующую формулу массива, где используется оператор возведения в степень (^):


    ={1;2;3;4:5;6;7;8:9;10;11;12}^2

Транспонирование одномерной строки

  1. Выделите столбец из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

Транспонирование одномерного столбца

  1. Выделите строку из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1:2:3:4:5})

Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

Транспонирование двумерного массива

  1. Выделите блок ячеек из трех столбцов и четырех строк.

  2. Введите указанную ниже константу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

Создание массивов и констант массива на основе существующих значений

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

Создание массива на основе существующих значений

  1. На листе Excel выберите диапазон ячеек C8:E10, а затем введите такую формулу:


    ={10;20;30:40;50;60:70;80;90}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 90, так как вы создаете массив чисел.

  2. Нажмите клавиши CTRL+SHIFT+ВВОД, чтобы поместить этот массив чисел в диапазон ячеек C8:E10 с помощью формулы массива. На листе ячейки с C8 по E10 должны выглядеть следующим образом:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Выделите диапазон ячеек C1–E3.

  4. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =C8:E10

    В ячейках C1–E3 отобразится массив ячеек 3×3 с теми же значениями, что и в ячейках C8–E10.

Создание константы массива на основе существующих значений

  1. Выделите диапазон ячеек C1:C3 и нажмите клавишу F2, чтобы перейти в режим правки. 

  2. Нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения. Значения будут преобразованы в константы массива. Теперь формула должна быть ={10;20;30:40;50;60:70;80;90}.

  3. Нажмите сочетание клавиш CTRL+SHIFT+ВВОД, чтобы ввести константу массива в качестве формулы массива.

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

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

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

    Данные

    Это

    группа ячеек,

    собранных вместе,

    чтобы составить

    единое предложение.

    Общее количество символов в диапазоне ячеек A2:A6

    =СУММ(ДЛСТР(A2:A6))

    Содержимое ячейки с наибольшим количеством символов (A6)

    =ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

  2. Выберите ячейку A8 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть общее количество символов в диапазоне ячеек A2:A6 (66).

  3. Выберите ячейку A10 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть содержимое ячейки с наибольшим количеством символов в диапазоне A2:A6 (ячейка A3).

Приведенная ниже формула используется в ячейке A8 для подсчета общего количества символов (66) в ячейках A2–A6.


=СУММ(ДЛСТР(A2:A6))

В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66).

Поиск n наименьших значений в диапазоне

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

  1. Введите случайные числа в ячейки A1:A11.

  2. Выделите ячейки от C1 до C3. Этот набор ячеек будет содержать результаты, возвращенные формулой массива.

  3. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =НАИМЕНЬШИЙ(A1:A11,{1:2:3})

В этой формуле используется константа массива, при помощи которой три раза выполняется функция НАИМЕНЬШИЙ, в результате чего возвращаются три элемента массива, находящегося в ячейках A1:A10, которые имеют наименьшие значения (1, 2 и 3 по возрастанию). Чтобы найти дополнительные значения, следует добавить аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

=СУММ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

=СРЗНАЧ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

Поиск n наибольших значений в диапазоне

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

  1. Выделите ячейки от D1 до D3.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =НАИБОЛЬШИЙ(A1:A10;СТРОКА(ДВССЫЛ(«1:3»)))

На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустой столбец из 10 ячеек в книге практики, введите эту формулу массива и нажмите CTRL+SHIFT+ВВОД:


=СТРОКА(1:10)

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

=СТРОКА(ДВССЫЛ(«1:10»))

В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в двойные кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений.

Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(A5:A14,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей A5:A14 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Значения 3200, 2700 и 2000 возвращаются в массив столбцов с тремя ячейками. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек.

Как и в предыдущих примерах, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

Поиск наиболее длинной строки текста в диапазоне ячеек

Вернитесь к предыдущему примеру текстовой строки, введите следующую формулу в пустую ячейку и нажмите CTRL+SHIFT+ВВОД:


=ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

Отобразится текст «группа ячеек».

Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек A2:A6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке A3.

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

(МАКС(ДЛСТР(A2:A6))

из следующего массива:

ДЛСТР(A2:A6)

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

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

В данном разделе приводятся примеры использования более сложных формул массива.

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

При попытке просуммировать диапазон, содержащий значения ошибки (например, #Н/Д), функция СУММ в Excel не работает. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки.

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

Подсчет количества значений ошибки в диапазоне

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

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

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

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

=СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

Суммирование значений с учетом условий

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

=СУММ(ЕСЛИ(Продажи>0;Продажи))

В результате выполнения функции ЕСЛИ создается массив положительных значений и ложных значений. Функция СУММ будет игнорировать ложные значения, поскольку 0+0=0. Используемый в этой формуле диапазон ячеек может включать любое количество строк и столбцов.

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

=СУММ((Продажи>0)*(Продажи<=5)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно выполнить сложение значений, которые меньше 5 и больше 15:

=СУММ(ЕСЛИ((Продажи<5)+(Продажи>15);Продажи))

Функция ЕСЛИ возвращает все значения меньше 5 и больше 15, которые затем передаются в функцию СУММ.

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

Подсчет среднего значения с исключением нулей

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

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

Подсчет количества различающихся ячеек в двух диапазонах

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью (например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов).

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

В результате выполнения формулы создается массив, имеющий такой же размер, что и сравниваемые диапазоны. Функция ЕСЛИ заполняет массив значениями 0 и 1 (0 для ячеек с различными значениями, 1 — для ячеек с одинаковыми значениями). Затем функция СУММ возвращает сумму значений в массиве.

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

Поиск позиции максимального значения в диапазоне

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

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

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

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

Подтверждение

Части этой статьи основаны на серии рубрик «Опытные пользователи Excel», написанных Колином Уилкоксом (Colin Wilcox), а также на главах 14 и 15 из книги «Формулы Excel 2002», написанной Джоном Уокэнбахом (John Walkenbach), бывшим специалистом по Excel со статусом MVP.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Динамические массивы и поведение рассеянного массива

Формулы динамического массива и устаревшие формулы массива CSE

Функция ФИЛЬТР

Функция СЛУЧМАССИВ

Функция ПОСЛЕДОВ

Функция СОРТ

Функция СОРТПО

Функция УНИК

Ошибки #ПЕРЕНОС! в Excel

Оператор неявного пересечения: @

Обзор формул

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

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

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

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

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

  • ​в нижней части​ позиции конкретного элемента​
  • ​ Вы можете видеть​ВПР​
  • ​и позволяет найти​MATCH​
  • ​/​ происходит, потому что​
    • ​могут работать вместе.​=INDEX(A1:C10,2,3)​
    • ​и​ строку и над​
    • ​ ценами в «умную​В завершении то же​
    • ​Как видим, оператор​
    • ​по возрастанию. Для​ самый ближайший к​

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

​ окна.​ для последующей обработки​ это по фигурным​​мы показывали пример​​ значение на пересечении​​(ПОИСКПОЗ), которая находит​​ПОИСКПОЗ​ очень немногие люди​ПОИСКПОЗ​=ИНДЕКС(A1:C10;2;3)​ПОИСКПОЗ​

​ ними добавлена мини-таблица​ таблицу». Для этого​ самое, но с​ПОИСКПОЗ​ этого выделяем необходимый​ этой сумме по​​Активируется окно аргументов оператора​​ этих данных.​​ скобкам, в которые​​ формулы с функцией​​ определённой строки и​​ положение «Russia» в​

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

​.​​ до конца понимают​​определяет относительную позицию​Формула выполняет поиск в​в Excel, которые​ (F4:H5) с условиями.​ выделите его и​ использованием формул массива​

​является очень удобной​
​ столбец и, находясь​

​ возрастанию.​ПОИСКПОЗ​

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

​A1:C10​ привлекательными по сравнению​​ функции следующая:​​Главная — Форматировать как​ столбец, описанный ранее).​ порядкового номера указанного​«Главная»​

​ отсортировать элементы в​​ данном окне по​​выглядит так:​

​ формулу, не забудьте​
​ нескольким критериям. Однако,​

​ИНДЕКС​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​ВПР​​ВПР​ а​​и возвращает значение​​ с​​База_данных​​ таблицу (Home -​Выбираем диапазон ячеек, в​​ элемента в массиве​​, кликаем по значку​

​ столбце​ числу количества аргументов​=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​ нажать​ существенным ограничением такого​/​Далее, задаём диапазон для​​, которая ищет в​​на связку​

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

​ИНДЕКС​​ ячейки во​​ВПР​- вся наша​ Format as Table)​ которых мы хотим​ данных. Но польза​«Сортировка и фильтр»​

​«Сумма»​​ имеется три поля.​​Теперь рассмотрим каждый из​Ctrl+Shift+Enter​ решения была необходимость​ПОИСКПОЗ​​ функции​​ ячейках от​ИНДЕКС​использует это число​

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

​ таблица вместе с​​или нажмите​​ иметь список имен​ от него значительно​

​, а затем в​
​по убыванию. Выделяем​

  • ​ Нам предстоит их​​ трех этих аргументов​.​ добавлять вспомогательный столбец.​будет очень похожа​INDEX​B5​и​
  • ​ (или числа) и​​строке и​ примеров формул, которые​ заголовками.​
  • ​Ctrl+T​​ (например, G15:G19) и​ увеличивается, если он​​ появившемся меню кликаем​​ данную колонку и​ заполнить.​ в отдельности.​
    • ​Если всё сделано верно,​​ Хорошая новость: формула​​ на формулы, которые​​(ИНДЕКС), из которого​до​ПОИСКПОЗ​ возвращает результат из​3-м​ помогут Вам легко​Поле​
    • ​. Наша «поумневшая» таблица​​ используем формулу массива:​ применяется в комплексных​ по пункту​​ переходим во вкладку​​Так как нам нужно​​«Искомое значение»​​ Вы получите результат​ИНДЕКС​ мы уже обсуждали​​ нужно извлечь значение.​​D10​​, а тратить время​​ соответствующей ячейки.​
    • ​столбце, то есть​​ справиться со многими​- название столбца​ автоматически получит имя​0″)))))’ class=’formula’>​ формулах.​«Сортировка от минимального к​«Главная»​ найти позицию слова​

​– это тот​ как на рисунке​​/​​ в этом уроке,​ В нашем случае​значение, указанное в​ на изучение более​Ещё не совсем понятно?​

​ из ячейки​ сложными задачами, перед​ из шапки таблицы,​Таблица1​Формула точно вернет то,​Автор: Максим Тютюшев​ максимальному»​. Щелкаем по значку​​«Сахар»​​ элемент, который следует​​ ниже:​​ПОИСКПОЗ​​ с одним лишь​​ это​ ячейке​​ сложной формулы никто​​ Представьте функции​C2​ которыми функция​ из которого выбирается​, а к столбцам​ что вы ожидаете.​В данном примере Excel​.​

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

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

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

​и​Очень просто, правда? Однако,​бессильна.​
​Критерий​ обращаться по их​ соответствующих результатам» ячейках​

​ с наиболее близкими​«Товар»​ ленте в блоке​ в поле​ форму, а также​

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

​ раз), если вводить​ столбцах, без необходимости​ функции​Затем соединяем обе части​

​=VLOOKUP(A2,B5:D10,3,FALSE)​
​ главные преимущества использования​

​ПОИСКПОЗ​ на практике Вы​В нескольких недавних статьях​

  • ​- таблица с​​ именам, используя выражения​​ формула вернет код​ значениями к какому-то​​и вызываем​​«Редактирование»​«Искомое значение»​​ принимать логическое значение.​​ некорректное значение, например,​​ создания вспомогательного столбца!​​INDEX​ и получаем формулу:​=ВПР(A2;B5:D10;3;ЛОЖЬ)​
  • ​ПОИСКПОЗ​​в таком виде:​​ далеко не всегда​​ мы приложили все​​ условиями отбора, состоящая​​ типа​​ ошибки. При необходимости​ числу, выбранному пользователем​Мастер функций​. В появившемся списке​.​

    ​ В качестве данного​
    ​ которого нет в​

    ​Предположим, у нас есть​(ИНДЕКС) позволяет использовать​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​​Формула не будет работать,​​и​​=INDEX(столбец из которого извлекаем,(MATCH​​ знаете, какие строка​ усилия, чтобы разъяснить​ (минимально) из двух​Таблица1[Товар]​​ их легко удалить​​ (меньшими, большими, равными​обычным способом через​ выбираем пункт​

​В поле​ аргумента может выступать​

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

​ просматриваемом массиве, формула​ список заказов, и​ три аргумента:​​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​ если значение в​ИНДЕКС​​ (искомое значение,столбец в​​ и столбец Вам​​ начинающим пользователям основы​​ ячеек: названия столбца,​​или​​ или поместить в​ — без разницы.​

​ кнопку​«Сортировка от максимального к​«Просматриваемый массив»​​ также ссылка на​​ИНДЕКС​ мы хотим найти​INDEX(array,row_num,[column_num])​Подсказка:​​ ячейке​​в Excel, а​​ котором ищем,0))​​ нужны, и поэтому​

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

​Таблица1[Цена]​ аргументы функции ЕСЛИОШИБКА.​ Важно, чтобы они​«Вставить функцию»​ минимальному»​нужно указать координаты​​ ячейку, которая содержит​​/​​ сумму по двум​​ИНДЕКС(массив;номер_строки;[номер_столбца])​Правильным решением будет​A2​ Вы решите –​​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​​ требуется помощь функции​​ВПР​​ проверка (​. При желании, стандартное​Как использовать функцию​​ были как можно​​.​

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

​.​ самого диапазона. Его​ любое из вышеперечисленных​ПОИСКПОЗ​​ критериям –​​И я поздравляю тех​​ всегда использовать абсолютные​​длиннее 255 символов.​​ остаться с​​ значение;столбец в котором​ПОИСКПОЗ​и показать примеры​​Товар​​ имя​ВПР (VLOOKUP)​ ближе к искомому​В открывшемся окне​После того, как была​ можно вбить вручную,​ значений.​​сообщает об ошибке​​имя покупателя​​ из Вас, кто​​ ссылки для​​ Вместо неё Вам​​ВПР​ ищем;0))​.​ более сложных формул​

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

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

​Думаю, ещё проще будет​​Функция​ для продвинутых пользователей.​​Бумага, Карандаши, Ручки​​можно подкорректировать на​ выборки нужных значений​Начнем с простой таблицы,​в категории​ ячейку, где будет​ курсор в поле​– это адрес​(#Н/Д) или​​продукт​​Начнём с того, что​​и​​ формулу​ИНДЕКС​ понять на примере.​MATCH​ Теперь мы попытаемся,​).​ вкладке​ из списка мы​ в которой имеется​

​«Ссылки и массивы»​ выводиться результат, и​​ и выделить этот​​ диапазона, в котором​​#VALUE!​(Product). Дело усложняется​ запишем шаблон формулы.​ПОИСКПОЗ​ИНДЕКС​/​​ Предположим, у Вас​​(ПОИСКПОЗ) в Excel​ если не отговорить​Это обычная формула (не​Конструктор (Design)​​ недавно разбирали. Если​​ список имен и​ищем наименование​ запускаем окно аргументов​ массив на листе,​ расположено искомое значение.​

​(#ЗНАЧ!). Если Вы​ тем, что один​​ Для этого возьмём​​, чтобы диапазоны поиска​/​​ПОИСКПОЗ​​ есть вот такой​ ищет указанное значение​​ Вас от использования​​ формула массива), т.е.​​, которая появляется, если​​ вы еще с​​ соответствующие им баллы.​​«ИНДЕКС»​

​ тем же путем,​
​ зажимая при этом​

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

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

​ИНДЕКС​ другие ячейки.​​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​​Как известно любому​​ из столиц, например,​ позицию этого значения​ показать альтернативные способы​ образом. Кроме того,​ таблицы. Подробнее о​​ не пожалейте пяти​​ число баллов повторяются.​«OK»​ способе.​ адрес отобразится в​ определить оператор​​ можете вставить формулу​​ покупателей в таблице​​/​​Вы можете вкладывать другие​

​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​ грамотному пользователю Excel,​​ Японии, используя следующую​​ в диапазоне.​ реализации вертикального поиска​​ в той же​​ таких таблицах и​​ минут, чтобы сэкономить​​Хотелось бы, чтобы Excel​.​​В поле​​ окне аргументов.​

​ПОИСКПОЗ​
​ с​

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

​Далее открывается окошко, которое​
​«Искомое значение»​

​В третьем поле​.​​ИНДЕКС​Lookup table​и добавим в​ИНДЕКС​ работы.​не может смотреть​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​B1:B3​Зачем нам это? –​ функции​ можно почитать здесь.​ часов.​ которые являются наиболее​ предлагает выбор варианта​​вбиваем число​​«Тип сопоставления»​​«Тип сопоставления»​​и​​расположены в произвольном​​ неё ещё одну​и​Если Вы работаете​​ влево, а это​​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))​

​содержатся значения New-York,​​ спросите Вы. Да,​​БДСУММ (DSUM)​Начиная с версии Excel​Если же вы знакомы​ близкими к числу,​ оператора​​«400»​​ставим число​указывает точное совпадение​ПОИСКПОЗ​ порядке.​ функцию​​ПОИСКПОЗ​​ с небольшими таблицами,​ значит, что искомое​Теперь давайте разберем, что​ Paris, London, тогда​ потому что​,​

​ 2016 в наборе​ с ВПР, то​​ введенному в исходной​​ИНДЕКС​​. В поле​​«0»​ нужно искать или​в функцию​Вот такая формула​

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

​ПОИСКПОЗ​, например, чтобы найти​ то разница в​​ значение должно обязательно​​ делает каждый элемент​​ следующая формула возвратит​​ВПР​ДМАКС (DMAX)​ функции Microsoft Excel​ — вдогон -​ ячейке G2 рабочего​

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

​: для массива или​​«Просматриваемый массив»​​, так как будем​ неточное. Этот аргумент​ЕСЛИОШИБКА​ИНДЕКС​, которая будет возвращать​ минимальное, максимальное или​ быстродействии Excel будет,​ находиться в крайнем​​ этой формулы:​​ цифру​

​– это не​​,​​ наконец появились функции,​​ стоит разобраться с​​ листа, а также​ для ссылки. Нам​указываем координаты столбца​ работать с текстовыми​ может иметь три​.​/​ номер столбца.​ ближайшее к среднему​ скорее всего, не​ левом столбце исследуемого​​Функция​​3​​ единственная функция поиска​​БСЧЁТ (DCOUNT)​ которые легко решают​ похожими функциями:​ и имена, соответствующие​

​ нужен первый вариант.​«Сумма»​ данными, и поэтому​ значения:​

​Синтаксис функции​
​ПОИСКПОЗ​

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

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

  • ​MATCH​​, поскольку «London» –​​ в Excel, и​, которые используются совершенно​ нашу задачу -​

    ​ИНДЕКС (INDEX)​
    ​ тем значениям.​

  • ​ Поэтому оставляем в​. В поле​​ нам нужен точный​​«1»​ЕСЛИОШИБКА​решает задачу:​ поиска,столбец, в котором​​ вариантов формул, применительно​​ последних версиях. Если​
  • ​ с​(ПОИСКПОЗ) ищет значение​

    ​ это третий элемент​
    ​ её многочисленные ограничения​

​ аналогично, но умеют​​ это функции​и​По одному запросу нужно​​ этом окне все​​«Тип сопоставления»​​ результат.​​,​очень прост:​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​ искать,0)),(MATCH(значение для горизонтального​

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

​ к таблице из​ же Вы работаете​​ПОИСКПОЗ​​ «Japan» в столбце​​ в списке.​​ могут помешать Вам​ находить не только​МИНЕСЛИ (MINIFS)​ПОИСКПОЗ (MATCH)​ получить ближайшее значение​ настройки по умолчанию​устанавливаем значение​

​После того, как все​​«0»​​IFERROR(value,value_if_error)​(B2=’Lookup table’!$B$2:$B$13),0),3)}​​ поиска,строка в которой​​ предыдущего примера:​ с большими таблицами,​​/​​B​

​=MATCH("London",B1:B3,0)​
​ получить желаемый результат​

​ минимум, но и​

​и​​, владение которыми весьма​​ числа баллов и​ и жмем на​​«-1»​​ данные установлены, жмем​и​​ЕСЛИОШИБКА(значение;значение_если_ошибка)​​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​

​ искать,0))​
​1.​

​ которые содержат тысячи​

​ИНДЕКС​​, а конкретно –​​=ПОИСКПОЗ(«London»;B1:B3;0)​ во многих ситуациях.​​ сумму, максимум и​​МАКСЕСЛИ (MAXIFS)​ облегчит жизнь любому​ соответствующее ему имя.​ кнопку​​, так как мы​​ на кнопку​

​«-1»​
​Где аргумент​

​(B2=’Lookup table’!$B$2:$B$13);0);3)}​

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

​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​​MAX​​ строк и сотни​​, столбец поиска может​​ в ячейках​​Функция​​ С другой стороны,​ количество значений по​​. Синтаксис этих функции​​ опытному пользователю Excel.​​​«OK»​​ производим поиск равного​​«OK»​​. При значении​value​Эта формула сложнее других,​ поиска,столбец, в котором​(МАКС). Формула находит​ формул поиска, Excel​ быть, как в​B2:B10​​MATCH​​ функции​ условию.​

  • ​ очень похож на​​ Гляньте на следующий​​Одним из простых способов​.​ или большего значения​.​«0»​(значение) – это​
  • ​ которые мы обсуждали​​ искать,0)),(MATCH(значение для горизонтального​​ максимум в столбце​ будет работать значительно​ левой, так и​, и возвращает число​(ПОИСКПОЗ) имеет вот​ИНДЕКС​

​Если в исходной таблице​СУММЕСЛИМН (SUMIFS)​​ пример:​​ решения проблемы является​Открывается окно аргументов функции​ от искомого. После​​Программа выполняет вычисление и​​оператор ищет только​​ значение, проверяемое на​​ ранее, но вооруженные​​ поиска,строка в которой​​D​​ быстрее, при использовании​ в правой части​3​ такой синтаксис:​и​ очень много строк,​

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

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

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

​ предмет наличия ошибки​​ знанием функций​​ искать,0))​​и возвращает значение​​ПОИСКПОЗ​ диапазона поиска. Пример:​, поскольку «Japan» в​MATCH(lookup_value,lookup_array,[match_type])​ПОИСКПОЗ​ но данные меняются​

​=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2;​ по артикулу товара,​​ В ячейках этого​​. В поле​ жмем на кнопку​

​ позиции​
​ указано значение​

​ (в нашем случае​ИНДЕКС​Обратите внимание, что для​

​ из столбца​и​ Как находить значения,​ списке на третьем​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​​– более гибкие​​ не часто, то​​ Условие2 … )​​ набранному в ячейку​ столбца будут находиться​«Массив»​​«OK»​​«Сахар»​«1»​

​ – результат формулы​и​ двумерного поиска нужно​C​ИНДЕКС​
​ которые находятся слева​ месте.​lookup_value​ и имеют ряд​ удобнее будет использовать​

​где​ C16.​ абсолютные значения разности​указываем адрес того​​.​​в выделенном массиве​​, то в случае​​ИНДЕКС​

​ПОИСКПОЗ​ указать всю таблицу​той же строки:​вместо​ покажет эту возможность​Функция​(искомое_значение) – это​ особенностей, которые делают​

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

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

​ отсутствия точного совпадения​/​​Вы одолеете ее.​​ в аргументе​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​ВПР​​ в действии.​​INDEX​

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

    ​array​
    ​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​

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

  • ​=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)​​Разумеется, решение нашей проблемы​будет искать название​​ Это позиция​​ ещё на первом​​выдает самый близкий​​); а аргумент​ – это функция​​(массив) функции​​Результат: Beijing​

    ​ замена увеличивает скорость​
    ​ удаление столбцов.​

    ​3​​ Аргумент может быть​​ВПР​ сильно тормозить Excel.​

​ выбирается минимальное или​Функция​​ будет найдено в​​ продукции. В нашем​

​«3»​
​ шаге данной инструкции.​

​ к нему элемент​​value_if_error​​ПОИСКПОЗ​INDEX​2.​ работы Excel на​

​Формулы с функцией​
​для аргумента​

​ значением, в том​.​​Установите активную ячейку в​​ максимальное​​ПОИСКПОЗ​​ строке, в которой​​ случае – это​​. Ей соответствует​ Номер позиции будет​​ по убыванию. Если​​(значение_если_ошибка) – это​

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

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

​, думаю, её нужно​​(ИНДЕКС).​​MIN​13%​​ВПР​​row_num​ числе логическим, или​Базовая информация об ИНДЕКС​ любое место нашей​Диапазон_проверки​ищет в столбце​​ это значение является​​ столбец​​«Картофель»​​ равен​ указано значение​ значение, которое нужно​ объяснить первой.​

​А теперь давайте испытаем​(МИН). Формула находит​.​перестают работать или​(номер_строки), который указывает​​ ссылкой на ячейку.​​ и ПОИСКПОЗ​​ умной таблицы и​​- диапазон, который​D1:D13​ наименьшим.​«Наименование товара»​. Действительно, сумма выручки​«4»​«-1»​​ возвратить, если формула​​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​ этот шаблон на​

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

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

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

​ проверяется на выполнение​
​значение артикула из​

​Чтобы выбрать соответствующее значение​.​ от реализации этого​.​​, то в случае,​​ выдаст ошибку.​​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​​ практике. Ниже Вы​D​ВПР​​ если удалить или​​ нужно возвратить значение.​(просматриваемый_массив) – диапазон​

​ ПОИСКПОЗ в Excel​
​Вставка - Сводная таблица​

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

  • ​на производительность Excel​ добавить столбец в​​ Т.е. получается простая​​ ячеек, в котором​​Преимущества ИНДЕКС и ПОИСКПОЗ​​ (Insert — Pivot​Условие​C16​ имя, достаточно использовать​​«Номер строки»​​ к числу 400​
  • ​Мастер функций в Экселе​ точное совпадение, функция​​ формулу из предыдущего​​ искомое значение –​ населённых стран мира.​​ из столбца​​ особенно заметно, если​
  • ​ таблицу поиска. Для​ формула:​ происходит поиск.​​ перед ВПР​​ Table)​
  • ​- критерий отбора​. Последний аргумент функции​ следующие формулы с​будет располагаться вложенная​ по возрастанию и​Выше мы рассмотрели самый​ выдает самый близкий​​ примера в функцию​​ это​ Предположим, наша задача​C​ рабочая книга содержит​ функции​​=INDEX($D$2:$D$10,3)​​match_type​

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

​ЕСЛИОШИБКА​​1​ узнать население США​той же строки:​ сотни сложных формул​​ВПР​​=ИНДЕКС($D$2:$D$10;3)​(тип_сопоставления) – этот​ примеры формул​ нажмите​ случае:​ поиск точного (а​ и ПОИСКПОЗ. Для​ПОИСКПОЗ​Аналогичным образом можно произвести​​ оператора​​ по возрастанию. Важно,​вот таким образом:​​, а массив поиска​​ в 2015 году.​

​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​ массива, таких как​любой вставленный или​Формула говорит примерно следующее:​ аргумент сообщает функции​Как находить значения, которые​ОК​Просто, красиво, изящно. Одна​ не приблизительного) соответствия.​ ближайшего значения:​. Её придется вбить​ поиск и самой​​ПОИСКПОЗ​​ если ведется поиск​

​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​ – это результат​Хорошо, давайте запишем формулу.​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​

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

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

​ВПР+СУММ​ удалённый столбец изменит​ ищи в ячейках​ПОИСКПОЗ​ находятся слева​:​​ проблема — функции​​ Функция выдает порядковый​​Для имени соответствующему ближайшему​​ вручную, используя синтаксис,​​ близкой позиции к​​, но даже его​​ не точного значения,​​»Совпадений не найдено.​ умножения. Хорошо, что​ Когда мне нужно​Результат: Lima​. Дело в том,​ результат формулы, поскольку​​ от​​, хотите ли Вы​​Вычисления при помощи ИНДЕКС​​В конструкторе сводной таблицы​​МИНЕСЛИ​​ номер найденного значения​

​ значению:​​ о котором говорится​​«400»​

​ можно автоматизировать.​
​ а приблизительного, чтобы​

​ Попробуйте еще раз!»)​​ же мы должны​​ создать сложную формулу​3.​ что проверка каждого​ синтаксис​D2​​ найти точное или​​ и ПОИСКПОЗ​​ перетащите поле​​и​​ в диапазоне, т.е.​​Где столбец «D» -​ в самом начале​по убыванию. Только​Для удобства на листе​

​ просматриваемый массив был​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​ перемножить и почему?​​ в Excel с​​AVERAGE​

​ значения в массиве​
​ВПР​до​
​ приблизительное совпадение:​
​Поиск по известным строке​Товар​

​МАКСЕСЛИ​ фактически номер строки,​ наш вспомогательный столбец,​ статьи. Сразу записываем​

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

​ для этого нужно​ добавляем ещё два​ упорядочен по возрастанию​»Совпадений не найдено.​ Давайте разберем все​ вложенными функциями, то​​(СРЗНАЧ). Формула вычисляет​​ требует отдельного вызова​

​требует указывать весь​
​D10​

​1​ и столбцу​в область строк,​появились только начиная​ где найден требуемыый​ а столбец «B»​ название функции –​ произвести фильтрацию данных​ дополнительных поля:​ (тип сопоставления​ Попробуйте еще раз!»)​ по порядку:​ я сначала каждую​ среднее в диапазоне​ функции​

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

​ а​

office-guru.ru

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

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

​ с 2016 версии​ артикул.​ — столбец с​​«ПОИСКПОЗ»​​ по возрастанию, а​«Заданное значение»​«1»​И теперь, если кто-нибудь​Берем первое значение в​ вложенную записываю отдельно.​D2:D10​ВПР​ номер столбца, из​ из третьей строки,​​не указан​​ИНДЕКС и ПОИСКПОЗ в​Цену​ Excel. Если у​

​Функция​ именами. Сразу же​

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

​без кавычек. Затем​​ в поле​​и​) или убыванию (тип​​ введет ошибочное значение,​​ столбце​Итак, начнём с двух​, затем находит ближайшее​. Поэтому, чем больше​ которого нужно извлечь​ то есть из​– находит максимальное​ сочетании с ЕСЛИОШИБКА​в область значений.​ вас (или тех,​ИНДЕКС​ добавлю (для ясности),​ открываем скобку. Первым​«Тип сопоставления»​«Номер»​ сопоставления​

​ формула выдаст вот​​A​​ функций​

​ к нему и​

​ значений содержит массив​ данные.​ ячейки​

​ значение, меньшее или​​Так как задача этого​ Чтобы заставить сводную​ кто будет потом​выбирает из диапазона​ что столбец «C»​ аргументом данного оператора​аргументов функции установить​. В поле​«-1»​ такой результат:​(Customer) на листе​ПОИСКПОЗ​

​ возвращает значение из​​ и чем больше​Например, если у Вас​D4​ равное искомому. Просматриваемый​ учебника – показать​ вычислять не сумму​ работать с вашим​​A1:G13​​ является столбцом со​

​ является​​ значение​«Заданное значение»​).​Если Вы предпочитаете в​Main table​​, которые будут возвращать​​ столбца​​ формул массива содержит​​ есть таблица​​, так как счёт​​ массив должен быть​​ возможности функций​​ (или количество), а​ файлом) более старые​значение, находящееся на​​ значениями баллов.​​«Искомое значение»​«1»​​вбиваем то наименование,​​Аргумент​ случае ошибки оставить​и сравниваем его​ номера строки и​​C​​ Ваша таблица, тем​A1:C10​ начинается со второй​ упорядочен по возрастанию,​ИНДЕКС​ минимум щелкните правой​ версии, то придется​ пересечении заданной строки​Решение «хардкор» с использованием​. Оно располагается на​.​ которое нужно найти.​​«Тип сопоставления»​​ ячейку пустой, то​ со всеми именами​​ столбца для функции​​той же строки:​

​ медленнее работает Excel.​​, и требуется извлечь​​ строки.​ то есть от​и​ кнопкой мыши по​ шаманить другими способами.​ (номер строки с​ формул массива (для​​ листе в поле​​Урок:​​ Пусть теперь это​​не является обязательным.​ можете использовать кавычки​ покупателей в таблице​ИНДЕКС​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​

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

​«Приблизительная сумма выручки»​Сортировка и фильтрация данных​ будет​ Он может быть​ («»), как значение​​ на листе​​:​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​ с функциями​

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

​B​ в Excel:​0​​для реализации вертикального​​ выберите в контекстном​ будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена]))​ПОИСКПОЗ​ кто просто хочет​. Указываем координаты ячейки,​ в Excel​«Мясо»​​ пропущенным, если в​​ второго аргумента функции​

  1. ​Lookup table​ПОИСКПОЗ для столбца​Результат: Moscow​ПОИСКПОЗ​​, то нужно задать​​Важно! Количество строк и​

    Переход в Мастер функций в Microsoft Excel

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

    Переход к аргументам функции ПОИСКПОЗ в Microsoft Excel

  3. ​ значение​​ столбцов в массиве,​​ значение, равное искомому.​ мы не будем​Итоги по — Минимум​ этой формулы в​ нужен регион, т.е.​ формул массива).​

    ​350​ использовать с другими​​«Номер»​​ В этом случае​. Вот так:​Если совпадение найдено, уравнение​​ в столбце​​СРЗНАЧ​

    ​ИНДЕКС​​2​​ который использует функция​ Для комбинации​ задерживаться на их​:​ первую зеленую ячейку​ второй столбец).​Поиск ближайшего значения в​. Ставим точку с​ операторами в составе​устанавливаем курсор и​ его значение по​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)​

    ​ возвращает​​B​​в комбинации с​​просто совершает поиск​​для аргумента​INDEX​ИНДЕКС​ синтаксисе и применении.​Вытаскивать данные из сводной​

    ​ G4 нажать не​Дмитрий​ массиве (CTRL+SHIFT+ENTER):​​ запятой. Вторым аргументом​​ комплексной формулы. Наиболее​

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

  4. ​ переходим к окну​ умолчанию равно​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​​1​​, а точнее в​ИНДЕКС​ и возвращает результат,​col_index_num​(ИНДЕКС), должно соответствовать​/​Приведём здесь необходимый минимум​​ в дальнейшие расчеты​​ Enter, а Ctrl+Shift+Enter,​

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

​: Доброе утро, уважаемые​​Поиск соответствующего ему имени​

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

​ является​ часто её применяют​ аргументов оператора тем​​«1»​​Надеюсь, что хотя бы​(ИСТИНА), а если​

  1. ​ диапазоне​и​ выполняя аналогичную работу​​(номер_столбца) функции​​ значениям аргументов​​ПОИСКПОЗ​​ для понимания сути,​​ теперь можно с​​ чтобы ввести ее​ форумчане!​ в массиве (CTRL+SHIFT+ENTER):​«Просматриваемый массив»​​ в связке с​​ же способом, о​​. Применять аргумент​​ одна формула, описанная​ нет –​B2:B11​ПОИСКПОЗ​ заметно быстрее.​ВПР​

    Переход к аргументам функции в Microsoft Excel

  2. ​row_num​всегда нужно точное​​ а затем разберём​​ помощью функции​ как формулу массива.​Возник вопрос с​​Два способа, которые показаны​​.​​ функцией​​ котором шел разговор​​«Тип сопоставления»​​ в этом учебнике,​0​, значение, которое указано​, в качестве третьего​Теперь, когда Вы понимаете​​, вот так:​​(номер_строки) и​ совпадение, поэтому третий​​ подробно примеры формул,​​ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA)​

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

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

    Результаты обработки функции ПОИСКПОЗ в Microsoft Excel

  4. ​ причины, из-за которых​=VLOOKUP(«lookup value»,A1:C10,2)​column_num​ аргумент функции​ которые показывают преимущества​, которую мы подробно​ скопировать на остальные​ столбце с данными​ одно значение. Поэтому,​​будет просматривать тот​​. Данный аргумент выводит​В окне аргументов функции​ смысл только тогда,​ Если Вы сталкивались​Далее, мы делаем то​

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

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

​H2​ПОИСКПОЗ​​ стоит изучать функции​​=ВПР(«lookup value»;A1:C10;2)​(номер_столбца) функции​

​ПОИСКПОЗ​ использования​ разбирали ранее:​ товары в ячейки​ удовлетворяющим требованием +200(​ когда нескольким именам​

  1. ​ диапазон, в котором​ в указанную ячейку​ в поле​​ когда обрабатываются числовые​​ с другими задачами​ же самое для​(USA). Функция будет​​чаще всего нужно​​ПОИСКПОЗ​​Если позднее Вы вставите​​MATCH​должен быть равен​​ИНДЕКС​​oleg60​ G5:G6.​​ или больше) или​ соответствуют равные значения​​ находится сумма выручки​

    Сортировка в Microsoft Excel

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

    ​(ПОИСКПОЗ). Иначе результат​​0​​и​​: Здравствуйте.​​Давайте разберем логику работы​​ -200 (или меньше).​​ баллов, формула возвращает​​ и искать наиболее​​ по номеру его​​указываем адрес ячейки,​​ текстовые.​​ не смогли найти​​B​=MATCH($H$2,$B$1:$B$11,0)​1​ИНДЕКС​ столбцами​ формулы будет ошибочным.​​.​​ПОИСКПОЗ​

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

  3. ​В массиве A2:A6​ этой формулы поподробнее.​ Более подробно в​​ только первое имя​​ приближенную к 350​​ строки или столбца.​​ в которой вписано​В случае, если​ подходящее решение среди​(Product).​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​или​

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

​, давайте перейдём к​A​Стоп, стоп… почему мы​​-1​​вместо​ набрана информация в​ Функция ЕСЛИ проверяет​ файле​ из списка.​​ рублям. Поэтому в​​ Причем нумерация, как​ слово​​ПОИСКПОЗ​​ информации в этом​

​Затем перемножаем полученные результаты​​Результатом этой формулы будет​-1​

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

​ самому интересному и​и​ не можем просто​– находит наименьшее​ВПР​ виде 26/тп-16, 27/тп-16​ каждую ячейку массива​​AlexM​​Итак, каким же образом​ данном случае указываем​ и в отношении​«Мясо»​при заданных настройках​ уроке, смело опишите​ (1 и 0).​4​​в случае, если​​ увидим, как можно​B​ использовать функцию​ значение, большее или​.​

​ и т.д. Необходимо​

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

​ Только если совпадения​​, поскольку «USA» –​​ Вы не уверены,​​ применить теоретические знания​​, то значение аргумента​VLOOKUP​ равное искомому значению.​Функция​ найти наибольшее значение​Товар​ формула массива, ввод​

​ вернуть список всех​«Сумма выручки»​ПОИСКПОЗ​«Просматриваемый массив»​ нужный элемент, то​ комментариях, и мы​ найдены в обоих​​ это 4-ый элемент​​ что просматриваемый диапазон​ на практике.​ придется изменить с​(ВПР)? Есть ли​ Просматриваемый массив должен​INDEX​ для первых двух​на предмет равенства​​ которой завершают нажатием​ имен с интересующими​​. Опять ставим точку​

  1. ​, выполняется не относительно​​и​​ оператор показывает в​ все вместе постараемся​ столбцах (т.е. оба​ списка в столбце​​ содержит значение, равное​​Любой учебник по​​2​​ смысл тратить время,​ быть упорядочен по​(ИНДЕКС) в Excel​​ символов текста («26,​ текущему товару (​​ Ctrl+Shift+Enter​

    Сортировка от минимального к максимальному в Microsoft Excel

  2. ​ нас значениями баллов​​ с запятой. Третьим​​ всего листа, а​​«Тип сопоставления»​​ ячейке ошибку​ решить её.​​ критерия истинны), Вы​​B​

    Вызов мастера функций в Microsoft Excel

  3. ​ среднему. Если же​​ВПР​​на​​ пытаясь разобраться в​​ убыванию, то есть​​ возвращает значение из​​ 27,…»). Во вложенном​Бумага​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11​​ при наличии дубликатов​

    Переход к аргументам функции ИНДЕКС в Microsoft Excel

  4. ​ аргументом является​ только внутри диапазона.​указываем те же​​«#Н/Д»​​Урок подготовлен для Вас​ получите​(включая заголовок).​ Вы уверены, что​твердит, что эта​3​ лабиринтах​ от большего к​​ массива по заданным​​ примере эта операция​

    Выбор типа функции ИНДЕКС в Microsoft Excel

  5. ​). Если это так,​​Pelena​​ ближайших значений?​​«Тип сопоставления»​​ Синтаксис этой функции​ самые данные, что​​.​​ командой сайта office-guru.ru​1​ПОИСКПОЗ для строки​ такое значение есть,​​ функция не может​​, иначе формула возвратит​

    ​ПОИСКПОЗ​​ меньшему.​​ номерам строки и​ выполняется поэтапно: сначала​​ то выдается соответствующее​​: Как вариант, тоже​Есть два решения с​. Так как мы​ следующий:​ и в предыдущем​При проведении поиска оператор​​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​​. Если оба критерия​– мы ищем​ – ставьте​ смотреть влево. Т.е.​​ результат из только​​и​На первый взгляд, польза​​ столбца. Функция имеет​​ выделяются первые два​ ему значение из​​ формула массива​​ использованием вспомогательного столбца.​ будем искать число​=ИНДЕКС(массив;номер_строки;номер_столбца)​​ способе – адрес​​ не различает регистры​​Перевел: Антон Андронов​​ ложны, или выполняется​ значение ячейки​0​ если просматриваемый столбец​ что вставленного столбца.​ИНДЕКС​ от функции​ вот такой синтаксис:​​ символа, затем переводятся​​ столбца​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10))))​ Первое без, а​​ равное заданному или​​При этом, если массив​ диапазона и число​ символов. Если в​Автор: Антон Андронов​ только один из​H3​​для поиска точного​​ не является крайним​

    ​Используя​​?​ ​ПОИСКПОЗ​​INDEX(array,row_num,[column_num])​ в числовой формат,​Цена​​Дмитрий​​ второе с использованием​

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

  6. ​ самое близкое меньшее,​​ одномерный, то можно​​«0»​​ массиве присутствует несколько​​Одним из наиболее востребованных​ них – Вы​​(2015) в строке​​ совпадения.​ левым в диапазоне​ПОИСКПОЗ​=VLOOKUP(«Japan»,$B$2:$D$2,3)​вызывает сомнение. Кому​ИНДЕКС(массив;номер_строки;[номер_столбца])​ и уж потом​. В противном случае​

    Результат функции ИНДЕКС в Microsoft Excel

  7. ​: Спасибо всем большое!​ формул массива.​​ то устанавливаем тут​​ использовать только один​соответственно. После этого​ точных совпадений, то​ операторов среди пользователей​​ получите​​1​

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

​Если указываете​​ поиска, то нет​

​/​​=ВПР(«Japan»;$B$2:$D$2;3)​​ нужно знать положение​Каждый аргумент имеет очень​ находится наибольшее.​ – логическое значение​ всё работает отлично!​Сначала подготовим для себя​ цифру​ из двух аргументов:​ жмем на кнопку​

​ПОИСКПОЗ​

lumpics.ru

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

​ Excel является функция​0​, то есть в​1​ шансов получить от​ИНДЕКС​В данном случае –​ элемента в диапазоне?​ простое объяснение:​Вопрос такой: как​ ЛОЖЬ (FALSE).​

Как найти ближайшее большее значение по формуле в Excel

​В Microsoft Excel давно​ вспомогательный столбец. Первая​«1»​«Номер строки»​

список имен и баллы.

​«OK»​выводит в ячейку​ПОИСКПОЗ​

​.​ ячейках​, значения в столбце​ВПР​, Вы можете удалять​ смысла нет! Цель​ Мы хотим знать​array​ можно выполнить это​

в исходной ячейке G2.

​Таким образом внешняя функция​ есть в стандартном​ ячейка будет содержать​. Закрываем скобки.​

​или​

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

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

использование вспомогательного столбца.

​ этого примера –​ значение этого элемента!​(массив) – это​ действие не в​МИН (MIN)​

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

выбрать соответствующее значение.

​ задали​:​

выбрать соответствующее ему имя.

​ упорядочены по возрастанию,​Функции​ к исследуемому диапазону,​ исключительно демонстрационная, чтобы​Позвольте напомнить, что относительное​ диапазон ячеек, из​ три формулы, а​выбирает минимальное не​СЧЁТЕСЛИ (COUNTIF)​

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

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

​1​=MATCH($H$3,$A$1:$E$1,0)​

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

​ а формула вернёт​ПОИСКПОЗ​

Поиск имени в массиве.

Повторяющиеся ближайшие значения в Excel

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

​«Номер столбца»​Особенность связки функций​ в поле​ самый простой случай,​ заданном массиве данных.​, как искомое значение?​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​

​ максимальное значение, меньшее​и​ так как определен​ как функции​ (т.е. номер строки​

​ значение.​Спасибо.​ цен, а только​СУММЕСЛИ (SUMIF)​

вспомогательный столбец 2.

​ вспомогательного столбца.​оставляем пустым. После​ИНДЕКС​

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

Без использования формул массива

​ИНДЕКС​ непосредственно столбец, содержащий​ПОИСКПОЗ​

​ и/или столбца) –​row_num​Karataev​ из тех, где​и​

В первой ячейке.

​Формула должна возвращать номер​ этого жмем на​и​отобразится позиция слова​

​ПОИСКПОЗ​Повторяющиеся ближайшие значения.

​ приносит, когда применяется​ПОИСКПОЗ​5​Если указываете​в Excel гораздо​ нужное значение. Действительно,​и​ это как раз​(номер_строки) – это​: Формула массива (вводится​ товар был​

Поиск дублирующийся ближайших значений в массиве Excel

​СРЗНАЧЕСЛИ (AVERAGEIF)​ строки, в которой​ кнопку​ПОИСКПОЗ​«Мясо»​

​можно определить место​ в комплексе с​возвращала позицию только,​, поскольку «2015» находится​-1​

​ более гибкие, и​Поиск дублирующийся ближайших значений.

​ это большое преимущество,​ИНДЕКС​ то, что мы​ номер строки в​ Ctrl+Shift+Enter):​Бумага​и их аналоги,​ находится значение, наиболее​«OK»​

exceltable.com

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

​заключается в том,​​в выбранном диапазоне.​​ указанного элемента в​ другими операторами. Давайте​ когда оба критерия​ в 5-ом столбце.​, значения в столбце​ им все-равно, где​ особенно когда работать​работают в паре.​ должны указать для​ массиве, из которой​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A2:A6;2));—ЛЕВСИМВ(A2:A6;2);»»);1)​

​, т.к. ЛОЖЬ функцией​ позволяющие искать количество,​ близкое к искомому.​.​ что последняя может​​ В данном случае​​ массиве текстовых данных.​​ разберемся, что же​​ выполняются.​Теперь вставляем эти формулы​ поиска должны быть​ находится столбец со​ приходится с большими​

ВȎxcel найти значение в массиве

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

​МИН​ сумму и среднее​

​ В противном случае​

​Как видим, функция​​ использоваться в качестве​​ она равна​​ Узнаем, какую позицию​​ собой представляет функция​Обратите внимание:​​ в функцию​​ упорядочены по убыванию,​ значением, которое нужно​ объёмами данных. Вы​ Вам истинную мощь​row_num​ Если не указан,​: Если всегда двухзначные​игнорируется. При желании,​ в таблице по​ возвращает пробел.​

​ИНДЕКС​​ аргумента первой, то​​«3»​​ в диапазоне, в​​ПОИСКПОЗ​В этом случае​ИНДЕКС​ а возвращено будет​​ извлечь. Для примера,​​ можете добавлять и​ связки​(номер_строки) и/или​

planetaexcel.ru

поиск значения в массиве (поиск)

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

​и вуаля:​​ минимальное значение, большее​ снова вернёмся к​ удалять столбцы, не​ИНДЕКС​
​column_num​

​ аргумент​​ формула массива:​ всю функцию ЕСЛИ(…)​
​ условиям. Но что​

​ мы можем вернуться​​ПОИСКПОЗ​ позицию строки или​

excelworld.ru

Поиск минимального или максимального значения по условию

​Данный способ хорош тем,​ товаров, занимает слово​ можно использовать на​​ не обязательный аргумент​​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​ или равное среднему.​​ таблице со столицами​​ беспокоясь о том,​​и​(номер_столбца) функции​column_num​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;2))​ в строке формул​ если нужно найти​ к нашему поиску.​в заранее указанную​ столбца.​ что если мы​«Сахар»​

​ практике.​ функции​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​В нашем примере значения​ государств и населением.​

ВȎxcel найти значение в массиве

​ что нужно будет​ПОИСКПОЗ​​INDEX​​(номер_столбца).​​иначе:​​… и нажать на​​ не сумму или​​В первой ячейке диапазона,​ ячейку выводит наименование​Давайте взглянем, как это​

​ захотим узнать позицию​.​Скачать последнюю версию​ИНДЕКС​Если заменить функции​ в столбце​​ На этот раз​ исправлять каждую используемую​, которая легко справляется​​(ИНДЕКС). Как Вы​​column_num​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;ПОИСК(«/»;A2:A6)-1))​ клавиатуре​​ среднее, а минимум​​ в котором вы​«Чай»​ можно сделать на​ любого другого наименования,​Выделяем ячейку, в которую​​ Excel​​. Он необходим, т.к.​​ПОИСКПОЗ​​D​ запишем формулу​​ функцию​​ с многими сложными​ помните, функция​​(номер_столбца) – это​​AlexM​F9​ или максимум по​ хотите иметь список​. Действительно, сумма от​ практике, используя всю​ то не нужно​

Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016

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

​ реализации чая (300​ ту же таблицу.​

​ будет каждый раз​

  • ​ результат. Щелкаем по​​ПОИСКПОЗ​ мы задаем всю​ они возвращают, формула​ поэтому мы используем​
  • ​/​​.​ВПР​может возвратить значение,​
  • ​ массиве, из которого​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(-ЛЕВБ(A2:A6;2))​

​ тот самый результирующий​Предположим, нам нужно найти​

Поиск минимального по условию функцией МИНЕСЛИ

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

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

ВȎxcel найти значение в массиве

​Формула массива​ массив, из которого​

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

​ размер искомого значения.​Решая, какую формулу использовать​ заданных строки и​ Если не указан,​Если первые два​​ потом функция​​ каждого товара в​ которая будет возвращать​​ сумме 350 рублей​​ дополнительное поле листа​ просто в поле​около строки формул.​«Ссылки и массивы»​​ какого столбца нужно​​=INDEX($A$1:$E$11,4,5))​. Формула​ место по населению​

​Используя​​ для вертикального поиска,​​ столбца, но она​ то обязательно требуется​ символа не числоКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(ЕСЛИ(ЕЧИСЛО(-ЛЕВБ(A2:A6;2));-ЛЕВБ(A2:A6;2)))​МИН​ базе данных по​​ следующее имя, введите​​ из всех имеющихся​​«Товар»​​«Заданное значение»​Производится запуск​. Он производит поиск​ извлечь значение. В​

ВȎxcel найти значение в массиве

​=ИНДЕКС($A$1:$E$11;4;5))​ИНДЕКС​​ занимает столица России​​ВПР​ большинство гуру Excel​ не может определить,​ аргумент​​jakim​​и выбирает минимальное​ поставщикам:​

ВȎxcel найти значение в массиве

Способ 3. Функция баз данных ДМИН

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

ВȎxcel найти значение в массиве

​ (Москва).​, помните об ограничении​ считают, что​ какие именно строка​row_num​: Можно воспользоваться и​ значение:​Таким образом, условием будет​

ВȎxcel найти значение в массиве

  • ​=»&» «))))’ class=’formula’>​​ значений.​ сумма выручки от​ слово вместо предыдущего.​
  • ​. Открываем категорию​​ указанном массиве и​ столбец​ на пересечении​ПОИСКПО​
  • ​Как видно на рисунке​​ на длину искомого​ИНДЕКС​ и столбец нас​(номер_строки)​ такой формулой без​Этот вариант использует малоизвестную​​ наименование товара (​​которую затем скопируйте еще​​Если мы изменим число​​ которого равна 350​

​ Обработка и выдача​«Полный алфавитный перечень»​ выдает в отдельную​C​4-ой​З​ ниже, формула отлично​ значения в 255​​/​​ интересуют.​​Если указаны оба аргумента,​​ массивного ввода.​​ (и многими, к​​бумага​ ниже. В результате​ в поле​ рублям или самому​ результата после этого​или​ ячейку номер его​

Способ 4. Сводная таблица

​(Sum), и поэтому​строки и​возвращает «Moscow», поскольку​ справляется с этой​ символов, иначе рискуете​ПОИСКПОЗ​Теперь, когда Вам известна​ то функция​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=AGGREGATE(14;6;—LEFT(A2:A6;2);1)​

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

ВȎxcel найти значение в массиве

​ задачей:​ получить ошибку​​намного лучше, чем​​ базовая информация об​ИНДЕКС​​или такой​​ДМИН (DMIN)​карандаши​ или менее так,​на другое, то​ значению по убыванию.​Теперь давайте рассмотрим, как​. В списке операторов​ диапазоне. Собственно на​3​​столбца в диапазоне​​ Москва – ближайшее​

ВȎxcel найти значение в массиве

​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​#VALUE!​ВПР​ этих двух функциях,​​возвращает значение из​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=MAX(INDEX(—LEFT(A2:A6;2);0))​из категории​

ВȎxcel найти значение в массиве

planetaexcel.ru

Поиск наибольшего значения в массиве (Формулы/Formulas)

​,​​ как показано на​
​ соответственно автоматически будет​ Данный аргумент указан​ можно использовать​ ищем наименование​ это указывает даже​.​A1:E11​ меньшее к среднему​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​(#ЗНАЧ!). Итак, если​. Однако, многие пользователи​ полагаю, что уже​ ячейки, находящейся на​oleg60​Работа с базой данных​
​ручки​ рисунке ниже. Как​ пересчитано и содержимое​ в поле​ПОИСКПОЗ​
​«ПОИСКПОЗ»​

​ его название. Также​​И, наконец, т.к. нам​, то есть значение​
​ значению (12 269​

​Теперь у Вас не​​ таблица содержит длинные​ Excel по-прежнему прибегают​ становится понятно, как​
​ пересечении указанных строки​
​: Всем большое спасибо​
​ (Database)​

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

​ эта функция при​​ нужно проверить каждую​ ячейки​ 006).​
​ должно возникать проблем​
​ строки, единственное действующее​
​ к использованию​

​ функции​​ и столбца.​ за квалифицированную помощь!​

excelworld.ru

​и требует небольшого​

Терминология

Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице Excel при желании можно найти один или несколько таких массивов:

arrays0.gif

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

Пример 1. Классика жанра — товарный чек

arrays1.gif

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

  1. выделяем ячейку С7
  2. вводим с клавиатуры =СУММ(
  3. выделяем диапазон B2:B5
  4. вводим знак умножения (звездочка)
  5. выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:

    arrays2.gif

  6. чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter

Вуаля!

arrays3.gif

Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.

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

Пример 2. Разрешите Вас… транспонировать?

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

Допустим, имеем двумерный массив ячеек, который хотим транспонировать.

arrays6.gif

  • Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
  • вводим функцию транспонирования =ТРАНСП(   
  • в качестве аргумента функции выделяем наш массив ячеек A1:B8

arrays7.gif

жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:

arrays8.gif

Редактирование формулы массива

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

Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.

Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)

Пример 3. Таблица умножения

Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:

arrays4_1.jpg

При помощи формул массива она вся делается в одно движение:

arrays5.gif

  1. выделяем диапазон B2:K11
  2. вводим формулу =A2:A11*B1:K1
  3. жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива

и получаем результат:

arrays4.gif

Пример 4. Выборочное суммирование

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

arrays10.gif

 В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.

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

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

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

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

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

В этой статье

Поиск значений в списке по вертикали по точному совпадению

Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

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

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

Примеры ИНДЕКСов и СОВПАДЕНИй

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

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

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

Для этого используйте функцию ВПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

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

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

Поиск значений по вертикали в списке неизвестного размера с точным соответствием

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

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

C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

Поиск значений в списке по горизонтали по точному совпадению

Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

Поиск значений в списке по горизонтали с использованием приблизительного совпадения

Для выполнения этой задачи используется функция ГПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

Дополнительные сведения можно найти в разделе функции ГПР.

Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

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

Щелкните ячейку в диапазоне.

На вкладке формулы в группе решения нажмите кнопку Подстановка .

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

Загрузка программы-надстройки «Мастер подстановок»

Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Выборка значений из таблицы Excel по условию

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

Как сделать выборку в Excel по условию

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

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

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

Естественно эту формулу следует выполнять в массиве. Поэтому для подтверждения ее ввода следует нажимать не просто клавишу Enter, а целую комбинацию клавиш CTRL+SHIFT+Enter. Если все сделано правильно в строке формул появятся фигурные скобки.

Обратите внимание ниже на рисунок, где в ячейку B3 была введена данная формула в массиве:

Выборка соответственного значения с первым наименьшим числом:

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

Как работает выборка по условию

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

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

Функция ЕСЛИ позволяет выбрать значение из списка по условию. В ее первом аргументе указано где проверяется каждая ячейка в диапазоне B6:B18 на наличие наименьшего числового значения: ЕСЛИB6:B18=МИНB6:B18. Таким способом в памяти программы создается массив из логических значений ИСТИНА и ЛОЖЬ. В нашем случаи 3 элемента массива будут содержат значение ИСТИНА, так как минимальное значение 8 содержит еще 2 дубликата в столбце B6:B18.

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

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

Как выбрать значение с наибольшим числом в Excel

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

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

=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>

Как в Excel выбрать первое минимальное значение кроме нуля:

Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.

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

Вывод отобранных значений в отдельный диапазон в Excel. Бесплатные примеры и статьи.

Пять последних значений в MS EXCEL

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

Удаляем в MS EXCEL пропуски в списке (формулы)

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

Запрос на выборку данных (формулы) в MS EXCEL

Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра). Произведем отбор значений из исходной таблицы с помощью формул массива. В отличие от применения Фильтра (CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.

Отбор уникальных значений (убираем повторы из списка) в MS EXCEL

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

Вывод итогов столбцов по строкам в MS EXCEL

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

Отбор неповторяющихся значений со значениями из соседнего столбца в MS EXCEL

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

Отбор неповторяющихся значений в MS EXCEL

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

Отбор повторяющихся значений в MS EXCEL

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

Динамическое разнесение данных по столбцам

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

Отбор уникальных значений в MS EXCEL с условиями

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

Запрос на выборку данных в MS EXCEL (на основе элементов управления формы)

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

Отбор неповторяющихся значений из двух диапазонов в MS EXCEL

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

Отбор уникальных значений из двух диапазонов в MS EXCEL

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

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

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

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

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

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА

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

Отбор уникальных значений с сортировкой в MS EXCEL

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

Поиск ЧИСЛОвых значений и вывод соответствующих значений в отдельный список в MS EXCEL

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

Поиск нескольких значений с максимальной длиной строки в MS EXCEL

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

Отбор повторяющихся значений (дубликатов) со значениями из соседнего столбца в MS EXCEL

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

ВПР с возвратом всех значений

Все, кто сталкивался с функцией ВПР знают, что она умеет возвращать исключительно одно значений — первое найденное. Но что делать, когда надо видеть все значения? К примеру имеется такая таблица:

И из этой таблицы необходимо получить фамилии(поле ФИО) всех сотрудников из отдела Сбыта:

Тут два варианта:

    Вариант 1: все значения необходимо получить в одной ячейке через разделитель(скажем запятую). Такое возможно только через использование VBA(на момент написания статьи). Такую функцию я написал давно: Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли

. В результате получим что-то вроде: Александров Иван,Александров Петр,Андреев Алексей .

  • Вариант 2: каждое значение должно быть в отдельной ячейке. Этот вариант мы и рассмотрим более подробно в данной статье. Причем решать задачу будем без использования макросов — только встроенными функциями
  • Здесь надо сразу оговориться — при помощи непосредственно ВПР (VLookup) это сделать ну никак не получится. Но это можно сделать при помощи её родственников — связки ИНДЕКС(ПОИСКПОЗ) (INDEX(MATCH)) . Плюс еще пара функций. В сборе функция выглядит так:
    =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1)
    =INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1)
    где:

    • $A$12:$G$111 — таблица с ФИО и всеми данными
    • $I$12 — ячейка с названием отдела
    • $C$12:$C$111 — столбец с названиями отделов в таблице $A$12:$G$111

    А теперь начнем разбирать формулу по кусочкам
    Предлагаю сразу скачать пример файла с данными и формулами — тогда понять будет проще:

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

    • Первое и самое главное — формула вводится в ячейку как формула массива. Это значит, что для приложенного к статье примера необходимо будет выделить ячейку J12 , записать в неё формулу и завершить ввод нажатием сразу трех клавиш: Ctrl+Shift+Enter. После этого скопировать ячейку, выделить диапазон J13:J39 и вставить туда скопированную ячейку.
    • За отбор ФИО указанного отдела отвечает этот кусок: ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11)
      IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11)
      Как видно здесь идет сравнение отдела, записанного в $I$12 со всеми отделами в таблице: $C$12:$C$111 . Если отдел совпадает, то функция возвращает номер строки СТРОКА( $C$12:$C$111 ) . Но нам нужен не номер строки на листе, а номер строки внутри таблицы(потому что в формулу ИНДЕКС (INDEX) у нас передан диапазон $A$12:$G$111 и если передать в его второй аргумент( номер_строки ) 14, то получим не Александров Иван , а Андреев Олег ). Поэтому отнимаем от номера строки 11, чтобы было возвращено число 3(а не 14). Т.к. формула записана формулой массива — ЕСЛИ (IF) возвращает массив из номеров строк и логического ЛОЖЬ (FALSE) (если отдел не совпадает):
      шаг 1: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<12:13: 14 :15:16: 17 :18:19:20>-11)
      шаг 2: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<1:2: 3 :4:5: 6 :7:8:9>)
      шаг 3:
    • Т.к. ЕСЛИ (IF) в данном случае возвращает массив значений, включая ненужные нам ЛОЖЬ (FALSE) — применяем НАИМЕНЬШИЙ (SMALL) , которая будет брать только числа (сначала 3, затем 6 и т.д.), а логические значения ЛОЖЬ (FALSE) будет игнорировать:
      НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      SMALL(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;ROW(A1))
      Функция НАИМЕНЬШИЙ (SMALL) отбирает из указанного массива чисел наименьшее. При этом можно отобрать по рангу — первое наименьшее, второе наименьшее, третье наименьшее и т.д.
    1. с первым аргументом разобрались — это уже отобранные записи, где число — строка в таблице с нужной ФИО и ненужные нам логические ЛОЖЬ (FALSE) .
    2. второй аргумент СТРОКА(A1) для каждой следующей строки будет меняться. В приложенном примере первая ячейка с формулой — J12 . В ней СТРОКА(A1) равна 1, т.е. НАИМЕНЬШИЙ (SMALL) вернет первое наименьшее из массива чисел — 3 . В ячейке J13 это уже будет СТРОКА(A2) и она равна 2, а значит НАИМЕНЬШИЙ (SMALL) вернет второе наименьшее из массива чисел — 6 . И т.д. Когда все числа закончатся — НАИМЕНЬШИЙ (SMALL) вернет значение ошибки #ЧИСЛО! (#NUM!)
      ячейка J12
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;1)
      шаг 3: НАИМЕНЬШИЙ( 3 )
      ячейка J13
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A2))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;2)
      шаг 3: НАИМЕНЬШИЙ( 6 )
  • И последний штрих — все это передается в функцию ИНДЕКС (INDEX) . Для ячейки J12 это будет значение ячейки, расположенной на пересечении 3-й строки и 1-го столбца диапазона $A$12:$G$111 . На листе это ячейка A14 . Т.е. третья сверху ячейка столбца А в диапазоне $A$12:$G$111 — Александров Иван .

    ячейка J12
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 3 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;3;1)
    шаг 3: Александров Иван
    ячейка J13
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 6 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;6;1)
    шаг 3: Александров Петр

  • И в довершение неплохо бы убрать ошибку в случае, если ни одно значение не соответствует критерию или значений больше, чем ячеек с формулами. Более подробно подобное решение я описывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0
    Для всех версий Excel:
    =ЕСЛИ(ЕОШ(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1));»»;ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1))
    =IF(ISERR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1));»»;INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1))
    Для Excel 2007 и выше:
    =ЕСЛИОШИБКА(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1);»»)
    =IFERROR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1);»»)
    Плюс к этому в приложенном к статье файле я привел формулу, которая возвращает список всех сотрудников выбранного отдела без повторений и формулу с возможностью просто поменять заголовок в результирующем столбце(в файле это столбец K, ячейка K11 ) на любой из исходной таблицы и данные будут отображены из этого столбца.
    Например, если вместо столбца ФИО записать в K11 Адрес — будут отображены все адреса сотрудников выбранного отдела. Если записать Телефон — все телефоны сотрудников выбранного отдела.

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

    Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне

    A10:A19

    (см.

    Файл примера

    ).

    Задача

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

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

    Для удобства создадим

    именованный диапазон

    Список

    .

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

    Выведем в отдельный диапазон все значения Исходного списка, в которых

    содержится

    текст-критерий (например, слово

    дрель

    ). Критерий вводится в ячейку

    С6

    .

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

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

    :

    =ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

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

    клавишей

    F9

    ):

    • Функция

      ПОИСК()

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

      ЕСЛИОШИБКА()

      используется для подавления ошибки #ЗНАЧ! заменяя ее на число 0;
    • Функция

      ЕСЛИ()

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

      ПОИСК()

      , на номер позиции значения в списке. Если значение =0 (соответствует ошибке #ЗНАЧ!), то возвращается число 30. В принципе, вместо 30 можно указать любое число, которое больше номера последней заполненной позиции Исходного списка (это нужно для правильной сортировки функцией

      НАИМЕНЬШИЙ()

      );
    • Функция

      НАИМЕНЬШИЙ()

      сортирует массив номеров строк по возрастанию;
    • Функция

      ДВССЫЛ()

      возвращает

      массив последовательных чисел

      ;

    • Функция

      ИНДЕКС()

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

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

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

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

    формула массива будет возвращать несколько значений

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

    С10:С19

    , ввести формулу в

    Строке формул

    и нажать

    CRTL+SHIFT+ENTER

    .

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

    С10:С19

    применено правило

    Условного форматирования

    .

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

    В этом случае будут выведены все значения, которые совпадают с критерием (без

    учета РЕгиСТра

    ). Критерий вводится в ячейку

    E

    6

    .

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

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

    :

    =ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

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

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

    G

    6

    .

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

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

    : =

    ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

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

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

    I

    6

    .

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

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

    :

    =ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))


    СОВЕТ:

    О поиске текстовых значений с использованием

    подстановочных знаков

    читайте в статье

    Поиск текстовых значений в списках. Часть2. Подстановочные знаки

    . В статье

    Выделение ячеек c ТЕКСТом с применением Условного форматирования

    приведено решение аналогичной задачи с использованием

    Условного форматирования

    .

    Как узнать, является ли данная формула формулой массива? Что вообще она означает?

    На этапе создания формула (или также функция) сама по себе не является ни формулой массива, ни обычной формулой. Это вы определяете, как Excel должен истолковать формулу, которую вы вводите. То, что формула является формулой массива – это не столько особенность самой формулы, а скорее способом, которым программа Excel введенную формулу «обрабатывает». Подтверждение формулы с помощью сочетания клавиш «Ctrl + Shitf + Enter» – это является для Excelя командой на выполнение (обработку данных) как массив вычислений. Тогда он используется в качестве аргумента функции и возвращает в качестве результата вычислений таблицу (массив данных).

    Примеры формул массива и отличие от обычных формул в Excel

    Некоторые функции Excelя по умолчанию в качестве аргумента принимают диапазон ячеек (массив) и в результате возвращают одно значение. Отличными примерами являются функции СУММ, СЧЕТЕСЛИ, СРЗНАЧ и т.д. Для этих функций не имеет никакого значения, вводите ли вы их как функции массива или нет. Они и так обрабатывают таблицы, и найдут выход (сработают правильно) из любой ситуации. Вот такие маленькие Excel-евские приспособленцы.

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

    

    Когда формула является формулой массива, а когда обычной?

    Для начала определимся как выглядит обычный массив значений в Excel. Это значения, которые находятся внутри фигурных скобок и разделены между собой точкой с запятой. Например:

    {23;-32;15;7} – это синтаксис массива значений в Excel. Он может быть использован в аргументах функций.

    Диапазон ячеек A1:A4 – так же является массивом значений в Excel. Естественно так же используется в аргументах функций. Например сравним результаты вычислений двух формул: =СУММ(A1:A4) и =СУММ({23;-32;15;7}) – они идентичны:

    Массив логических значений.

    Визуально формула массива находится так же внутри фигурных скобок, но они не должны быть введены вручную, а только лишь при помощи комбинации клавиш CTRL+SHIFT+Enter. Если ввести вручную фигурные скобки, то формула не будет выполнятся в массиве – это будет синтаксическая ошибка в Excel.

    Формула массива (введенная с помощью сочитания CTRL+SHIFT+Enter) будет использоваться везде, где вы хотите, чтобы функция, которая обычно работает с отдельными значениями (ячейками), внезапно повела себя иначе и приняла в качестве аргумента и вернула в качестве результата массив значений (таблицу). Вернемся к уже упомянутой функции ЕСЛИ. В качестве аргумента она принимает логическое значение ИСТИНА или ЛОЖЬ. В классической форме:

    =ЕСЛИ($A$1>0;»больше»;»меньше»)

    ЕСЛИ.

    Если значение в ячейке A1 больше нуля, в качестве аргумента функция получит значение ИСТИНА и в качестве результата вернет текстовую строку «больше». Однако, если бы вы хотели проверить несколько ячеек сразу и передать результат такой проверки другой функции, вы должны были бы использовать вышеуказанную формулу как формулу массива. Для этого при вводе нажмем сочитание клавиш CTRL+SHIFT+Enter, а не как обычно (просто Enter):

    Сочетание клавиш формулы массива.

    {=ЕСЛИ($A$1:$A$4>0;»больше»;»меньше»)}

    Формула массива в фигурных скобках.

    В качестве аргумента функция принимает целый диапазон $A$1:$A$4. В результате проверки каждой ячейки диапазона в памяти компьютера создается таблица значений в массиве. Схематически таблицу можно отобразить так:

    Таблица в памяти компьютера.

    А так выглядят эти значения в массиве:

    {ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА}

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

    =ИНДЕКС({ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА};2)

    ИНДЕКС.

    Тоже самое что и:

    Выборка из массива значений.

    Затем создается другая таблица, значения которой зависят непосредственно от значений в первой таблице. Если элемент в первом массиве имеет значение ИСТИНА, во втором массиве он примет значение «больше». Если он имеет значение ЛОЖЬ, элемент во второй таблице примет значение «меньше». После этой операции первая таблица удаляется из памяти компьютера, и в конечном счете, функция возвращает массив {«больше», «меньше», «больше», «больше»}. Схематически вторую таблицу можно отобразить так:

    Так же ее можно прочитать функцией:

    =ИНДЕКС({«больше»;»меньше»;»больше»;»больше»};2)

    Массив значений.

    В примере с функцией ЕСЛИ была введена формула массива только в одну ячейку, поэтому в результате получили только одно значение, соответствующее первому значению в таблице. Однако достаточно ввести формулу массива в диапазон ячеек, чтобы увидеть все значения массива результатов. Для этого выделяем диапазон из нескольких ячеек, нажимаем клавишу F2 (или заново вводим формулу вручную) и жмем CTRL+SHIFT+Enter.

    Все значения массива.

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

    Примеры как использовать формулу массива в Excel

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

    Разумеется, массив, возвращаемый функцией ЕСЛИ, может передаваться далее на «обработку» в качестве аргумента для другой функции.

    Пример. Представим, что вы хотели бы найти сумму ячеек B7:B10, но только тех, которые имеют значение больше нуля. Конечно же, вы можете использовать функцию СУММЕСЛИ, однако в нашем примере мы хотим сделать это только с помощью формулы массива. Суммируя значения ячеек нашего диапазона, необходимо будет как-то избавиться от значения «-32». Функции СУММ необходимо передать массив, в котором содержатся только значения больше нуля. Везде там, где значение меньше нуля, мы заменяем его на ноль, что, конечно же, не повлияет на результат. Как вы уже знаете, временную таблицу с соответствующими значениями вы можете получить, используя функцию ЕСЛИ. В конечном итоге соответствующая формула будет выглядеть так:

    СУММ.

    Вводим формулу и не забываем для подтверждения ввода нажать комбинацию клавиш CTRL+SHIFT+Enter. В результате проверки каждой ячейки диапазона $A$1:$A$4 (является ли значение больше нуля) в памяти компьютера создается массив {ИСТИНА; ЛОЖЬ; ИСТИНА; ИСТИНА}. Затем создается очередная таблица. Если элемент в первом массиве имеет значение ИСТИНА, то во второй таблице будет отображаться значение из соответствующей ячейки. Если он имеет значение ЛОЖЬ, то элемент во второй таблице примет значение 0. После этой операции первая таблица удаляется из памяти компьютера, и в конечном итоге функция ЕСЛИ возвращает массив {23; 0; 15; 7}. Затем эта таблица передается в качестве аргумента функции =СУММ({23; 0; 15; 7}), которая, согласно своему предназначению, возвращает сумму всех элементов в таблице. В нашем примере сумма равна 45. В завершении, посмотрите, что произойдет, если вы скажете Excelю обработать приведенную выше формулу не как формулу массива.

    не массив без фигурных скобок.

    Ни одна из описанных выше таблиц, в этом случае, не будет создана. Только одна ячейка диапазона будет проверена (ячейка в той же строке, в которой находится функция). В нашем случае 15>0 значит, как первый аргумент функция ЕСЛИ получит логическое значение ИСТИНА. Затем ВЕСЬ диапазон A1:A4 будет передан функции СУММ, и в результате функция возвращает значение равное 13 (23-32+15+7). Если бы в ячейке вместо значения 15 было число меньше нуля, функция ЕСЛИ в качестве аргумента получила бы значение ЛОЖЬ, и, следовательно, только значение нуля было бы передано функции СУММ. Наша функция СУММ в результате также вернет значение равное нулю.

    Как отличать формулу массива от обычной формулы

    При нажатии клавиш CTRL+SHIFT+Enter для подтверждения ввода в строке формул будут отображены фигурные скобки по краям. Значит данная формула выполняется в массиве. Но что если еще на этапе создания неизвестно какой тип формул следует применять?

    Правильное «распознавание», когда следует нажимать CTRL+SHIFT+Enter, а когда просто Enter полностью зависит от понимания того, как работают массивы в формулах. Когда вы это поймете, сможете сказать, что конкретную формулу следует вводить (подтверждать) сочетанием клавиш – CTRL+SHIFT+Enter.

    Конечно же, не подтвержденная, а просто как формула также может возвращать КАКОЙ-ТО результат (в чем вы могли только что убедиться сами). Однако, если вы сможете прочитать формулу и понять механизм, то вы заметите, что такой результат является ОШИБОЧНЫМ. И поэтому для правильной работы формулы вам необходимо ее подтвердить «Ctr+Shift+Enter». Как и все, понимание и использование формул массива требует практики. Тем не менее, стоит некоторое время посвятить тому, чтобы во всем разобраться. Потому что формулы массива позволяют решить многие проблемы, которые на первый взгляд могут казаться неразрешимыми.

    Примеры вычислений и анализа формул массива

    Каким образом можно просматривать и проверять значения промежуточных результатов расчета, например, содержание массивов, созданных в памяти компьютера и используемых для выполнения последующих действий? Ничего сложного! Пример 1:

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

    ссылка на диапазон ячеек.

    Нажмите клавишу F9 (или «Пересчет» в правом верхнем углу меню «Формулы»), и вы получите (в строке формулы) значения аргументов, которые используются для вычислений, как показано ниже:

    Содержимое массива.

    — запись с использованием двоеточий означает, что мы имеем дело с элементами вертикального (столбикового) массива, элементы горизонтального (строкового) разделены стандартным символом — «;» (точкой с запятой).

    Пример 2: Снова перейдите на ячейку с формулой массива, но на этот раз выделите первый аргумент функции целиком вместе со знаком сравнения «>» и значением критерия – «0»).

    вместе с оператором сравнения и аргументом.

    Нажмите кнопку F9, и вы получите массив результатов вычислений, как показано ниже:

    массив результатов вычислений.

    То есть, созданный в памяти компьютера массив:

    {ИСТИНА:ЛОЖЬ:ИСТИНА:ИСТИНА}

    Пример 3: Выделите ячейку формулой массива где в функцию СУММ вложена функция ЕСЛИ. Затем в строке формул выберите весь аргумент функции СУММ (вместе с функцией ЕСЛИ):

    аргумент целиком с функцией и ссылками.

    Нажмите клавишу F9 и вы получите массив итоговых результатов вычисления, которые используются для суммирования, как показано ниже:

    Массив итоговых результатов вычисления.

    То есть, созданный в памяти компьютера массив:

    {23157}

    Пример 4: Просто перейдите на ячейку с формулой B1 и выберите инструмент «ФОРМУЛЫ»-«Зависимости формул»-«Вычислить формулу»

    Вычислить формулу.

    После чего нажмите на кнопку «Вычислить»:

    Кнопка Вычислить.

    В результате ссылка на диапазон ячеек в аргументе вложенной функции ЕСЛИ разложилась на массив значений. Снова нажмите на кнопку «Вычислить»:

    Готово.

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

    Читайте также: Работа с массивами функций в Excel.

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

    Пример формулы массива в Excel
    Пример формулы массива
    • Что такое формула массива в Excel
    • Массивы в Excel
      • Отличие массивов от диапазонов в Excel
      • Размерность массивов
      • Виды массивов
    • Методы создания массивов
      • Массив констант, созданный вручную
      • Именованный массив констант
      • С помощью функций
      • С помощью математических операторов
      • С помощью операторов сравнения
      • С помощью других массивов
      • С помощью комбинаций указанных методов
    • Вывод массива на лист
    • Взаимодействие функций Excel с массивами
    • Формулы массива – примеры формул

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

    Не знаю, новичок вы в Excel или уже опытный пользователь, но коль судьба привела вас на эту страницу, в ходе прочтения вы:

    • узнаете все о формулах массива;
    • увидите множество примеров таких формул;
    • сможете начать активно их применять на практике.

    Поехали!

    Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.

    Будьте на 100% уверены: если формула

    • принимает массив на вход,
    • создает его как промежуточную сущность
    • или выводит как результат вычислений

    – это формула массива.

    Слишком очевидно и все еще непонятно? Не беда – читаем далее.

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

    Массивы в Excel

    Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.

    Отличие массивов от диапазонов в Excel

    В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.

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

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

    Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.

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

    Нельзя изменить часть массива.

    Ошибка "Нельзя изменить часть массива" в Excel

    Ошибка Excel при попытке нарушить целостность массива

    Размерность массивов

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

    Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.

    два одномерных и один двумерный массив

    Одномерные и двумерные массивы в Excel

    Трехмерные массивы – довольно редко используемая на практике сущность.

    Виды массивов

    По типам элементов в них:
    По типу данных –

    • числовой массив (массив чисел)
    • строковый массив (текстовые значения)
    • булевый массив (значения ИСТИНА-ЛОЖЬ)
    • смешанного типа

    По изменяемости элементов –

    • массив констант,
    • вычисляемый массив

    Методы создания массивов

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

    Массив констант, созданный вручную

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

    При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.

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

    Именованный массив констант

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

    Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.

    создание именованного массива констант на примере цифр
    Создаем именованный массив в Excel

    Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.

    вывод именованного массива на лист

    Используем именованный массив

    С помощью функций

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

    Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.

    На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:

    Добавляем текст в ячейки формулой массива с функцией СЦЕПИТЬ

    Формула массива с функциями СЦЕПИТЬ и СИМВОЛ

    Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.

    С помощью математических операторов

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

    Массивы в Excel, полученные с помощью математических операторов

    С помощью операторов сравнения

    Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.

    Массивы в Excel, полученные с помощью операторов сравнения

    С помощью других массивов

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

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

    Размер результирующего массива в таком случае будет аналогичен размеру массива констант.

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

    С помощью комбинаций указанных методов

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

    Вывод массива на лист

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

    Ctrl+Shift+Enter

    Если выделить недостаточное количество ячеек – будут выведены не все элементы массива, а только те, что соответствуют по порядку.
    Если выделить избыточное количество – лишние ячейки выдадут ошибку #Н/Д.

    На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.

    Ошибка НД при несоответствии размера диапазона и массива

    Взаимодействие функций Excel с массивами

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

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

    Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.

    Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.

    Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.

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

    • учитывают весь массив
    • выводят одно значение

    ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.

    Формулы массива – примеры формул

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

    Приступаем к практическим шагам:

    Учимся формулам массива 1/4:

    Как создать алфавит в Excel

    На чтение 6 мин Опубликовано 13.01.2021

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

    Содержание

    1. Запись функции «ИНДЕКС»
    2. Запись функции «ПОИСПОЗ»
    3. Как найти значение в массиве
    4. Заключение

    Запись функции «ИНДЕКС»

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

    Запись функции «ПОИСПОЗ»

    Этот вспомогательный оператор для первой функции, который также будет использоваться при поиске значений в массиве. Его запись в Excel оформляется так: =ПОИСКПОЗ (значение, которое надо найти; табличный массив; тип сопоставления).

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

    Как найти значение в массиве

    Для понимания темы алгоритм выполнения поставленной задачи необходимо рассмотреть на конкретном примере. Составим в Excel таблицу заказов за один день, в которой будут столбцы: «№ заказа», «Клиент», «Товар», «Количество», «Цена за ед.», «Сумма». Необходимо найти значение в массиве, т.е. составить индивидуальную карточку заказа клиента, чтобы можно было в сжатом виде получить информацию из ячеек исходной таблицы.

    kak-najti-znachenie-v-massive-v-excel

    Внешний вид составленной таблички

    Для этого надо выполнить ряд действий по алгоритму:

    1. Составить карточку заказа клиента.

    kak-najti-znachenie-v-massive-v-excel

    Карточка заказа клиента
    1. Для первой строчки карточки надо создать выпадающий список, в котором будут прописаны имена клиентов из основного массива. Впоследствии, выбрав то или иное имя, пользователь увидит сжатую информацию по нему, которая отобразится в других строках карточки заказа.
    2. Поставить курсор мышки в первую строку карточки и войти в раздел «Данные» сверху главного меню программы.
    3. Кликнуть по кнопке «Проверка данных».
    4. В отобразившемся окошке в поле «Тип данных» указать вариант «Список», а в качестве источника выделить диапазон ячеек исходного массива, в котором прописан перечень всех клиентов.

    kak-najti-znachenie-v-massive-v-excel

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

    kak-najti-znachenie-v-massive-v-excel

    Перечень клиентов, который появится в первой строке карточки после выполнения предыдущих манипуляций
    1. В строке «№ заказа» прописать функцию «=ИНДЕКС(», после чего кликнуть по значку «fx» рядом со строкой формул Эксель.
    2. В открывшемся меню Мастера функций из списка выбрать форму массива для функции «ИНДЕКС» и нажать на «ОК».

    kak-najti-znachenie-v-massive-v-excel

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

    kak-najti-znachenie-v-massive-v-excel

    Внешний вид окошка «Аргументы функции»
    1. Сначала надо кликнуть по пиктограмме напротив поля «Массив» и выделить целиком исходную табличку вместе с шапкой.

    kak-najti-znachenie-v-massive-v-excel

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

    kak-najti-znachenie-v-massive-v-excel

    Заполнение поля Номер строки в меню аргументов функции. Здесь применяется оператор «ПОИСКПОЗ»

    Важно! После заполнения каждого элемента для функции «ПОИСКПОЗ» потребуется нажимать на кнопку «F4», чтобы навесить знаки долларов перед каждым символом в аргументе. Это позволит формуле не «съехать» в процессе выполнения.

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

    kak-najti-znachenie-v-massive-v-excel

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

    kak-najti-znachenie-v-massive-v-excel

    Финальный результат. В поле«№ заказа» появилось соответствующее значение из исходного табличного массива
    1. На последнем этапе формулу потребуется растянуть на все ячейки карточки заказа до конца, чтобы заполнить оставшиеся строчки.

    kak-najti-znachenie-v-massive-v-excel

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

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

    Заключение

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

    Оцените качество статьи. Нам важно ваше мнение:

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