Формулы массивов excel ctrl

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше

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

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

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

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

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

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

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

  1. Щелкните ячейку, в которую нужно ввести формулу массива.

  2. Введите необходимую формулу.

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

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

    Пример формулы массива, которая вычисляет один результат

    Формула сначала умножает общие папки (ячейки B2 – F2) на их цены (ячейки B3 – F3), а затем добавляет эти результаты, чтобы создать общий итог в 35 525. Это пример формулы массива с одной ячейкой, так как она находится только в одной ячейке.

  3. Нажмите клавишу ВВОД (если у вас есть текущая Microsoft 365 подписки); в противном случае нажмите клавиши CTRL+SHIFT+ВВОД.

    При нажатии клавиш CTRL+SHIFT+ВВОД Excel автоматически вставляет формулу между { } (пара открывающих и закрывающих фигурных скобок).

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

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

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

  2. Введите необходимую формулу.

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

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

    Пример формулы массива, вычисляющих несколько результатов

  3. Нажмите клавишу ВВОД (если у вас есть текущая Microsoft 365 подписки); в противном случае нажмите клавиши CTRL+SHIFT+ВВОД.

    При нажатии клавиш CTRL+SHIFT+ВВОД Excel автоматически вставляет формулу между { } (пара открывающих и закрывающих фигурных скобок).

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

Если вам нужно включить новые данные в формулу массива, см. раздел «Развернуть формулу массива». Вы также можете попробовать:

  • Правила для изменения формул массива (они могут быть нестрогой)

  • Удалите формулу массива (вы также нажимаете клавиши CTRL+SHIFT+ВВОД)

  • Использование констант массива в формулах массива (они могут быть удобными)

  • Именуйте константу массива (они могут упростить использование констант)

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

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

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

Продавец

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

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

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

Итоги продаж

Зуева

Седан

5

2200

=C2:C11*D2:D11

Купе

4

1800

Егоров

Седан

6

2300

Купе

8

1700

Еременко

Седан

3

2000

Купе

1

1600

Климов

Седан

9

2150

Купе

5

1950

Шашков

Седан

6

2250

Купе

8

2000

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

  1. В образце книги выделите ячейки E2–E11. Эти ячейки будут содержать результаты.

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

И всегда это означает 100 процентов времени.

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

    =C2:C11*D2:D11

  2. Нажмите клавиши CTRL+SHIFT+ВВОД.

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

  1. В образце книги щелкните ячейку B13.

  2. Введите эту формулу с помощью любого из методов из шага 2 выше:

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

  3. Нажмите клавиши CTRL+SHIFT+ВВОД.

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

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

Если у вас есть Excel, нажмите кнопку «Открыть в Excel«, чтобы открыть книгу и создать формулу массива.

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

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

Нужна дополнительная помощь?

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

Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице 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 умножаются на ноль и суммируются только нужные заказы.

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

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

Как узнать, является ли данная формула формулой массива? Что вообще она означает?

На этапе создания формула (или также функция) сама по себе не является ни формулой массива, ни обычной формулой. Это вы определяете, как 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. Некоторые примеры использования формул массива), и не удовлетворившись, нашел вот такую книгу на английском:

Скачать введение и главы 1 и 2 в формате Word или pdf, примеры в формате Excel: Введение. Примеры, Глава 02. Примеры

Введение

Глава 1. Основы формул Excel

Глава 2. Введение в формулы массива

Глава 3. Математические операции с массивами

Глава 4. Сравнение массивов и выборки по одному или нескольким условиям

Глава 5. Оператор конкатенации массивов

Глава 6. Использование массива, как аргумента функции

Глава 7. Массивы констант

Глава 8. Формулы массива, возвращающие более одного значения

Глава 9. Знакомство с функциями массива. ТРАНСП, МОДА.НСК и ТЕНДЕНЦИЯ

Глава 10. Удивительные функции СУММПРОИЗВ и СУММЕСЛИМН

Глава 11. Булева логика: критерии И, ИЛИ

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

Глава 13. Динамические диапазоны на основе функций ИНДЕКС и СМЕЩ

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

Глава 15. Извлечение данных на основе критериев

Глава 16. Функция массива ЧАСТОТА

Глава 17. Формулы счета уникальных вхождений и еще раз о функции ЧАСТОТА

Глава 18. Функция массива МУМНОЖ

Глава 19. Формулы сортировки и извлечения уникальных списков

Глава 20. Условное форматирование и формулы массива

Глава 21. Таблицы данных

Глава 22. Функция массива ЛИНЕЙН

Глава 23. Можете ли вы понять, как работает огромная формулу массива?

Введение

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

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

Почему формулы массива способны занять важное место в вашем арсенале инструментов Excel?

  • Иногда использование формул массивов – единственный путь решения задачи (рис. в.1).
  • Формулы массива могут заменить промежуточные вычисления и обеспечить решение сразу в одной ячейке (рис. в2).
  • Любые формулы обладают рядом преимуществ по сравнению с использованием различных инструментов Excel, таких как сортировка, фильтрация, сводные таблицы, так как при изменении исходных данных результат, получаемый с помощью формул, обновляются мгновенно. Изучая формулы массива, вы увеличите диапазон своих навыков и станете менее ограниченными в выборе вариантов решений (рис. в3).
  • Если вы понимаете, как работают формулы массива, вы начинаете понимаешь истинную красоту и силу формул Excel (рис. в4).

Рис. в1. Формула массива является более удобной альтернативой сводной таблице в поиске минимального значения в категории (подробнее см. главу 4)

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

Рис. в3. Когда критерии для извлечения записей часто изменяются, может быть удобно использовать формулы, а не функцию фильтра. Формула в ячейке G8 – эффективное решение для извлечения с тремя критериями (подробнее см. главу 15).

Рис. в4. Формула массива делает, казалось бы, невозможное, считая, сколько «пятниц 13-е» существует между датами начала и окончания (подробнее см. главу 10).

При написании книги о формулах массива Майк Гивин столкнулся с рядом трудностей:

  • Это очень узкая тема.
  • Это очень сложная тема.
  • Корпорация Майкрософт не предоставляет достаточно документации о формулах массива.
  • Среди пользователей Excel нет единого мнения, что считать формулами массива.

Файлы Excel, использованные в англоязычной книге, можно найти по адресу http://people.highline.edu/mgirvin/excelisfun.htm

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

  • Бледно-зеленый цвет указывает на ячейку, содержащую формулу.
  • Темно-синий цвет указывает на ячейки, содержащие метки (заголовки).
  • Ячейки, содержащие исходные данные или формулы, оставлены не закрашенными.

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

Глава 1. Основы формул Excel

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

Золотое правило Excel: если исходные данные в формуле могут измениться, не используйте их непосредственно в формуле, а поместите в отдельные ячейки и обратитесь к ним путем ссылки на ячейки. Если данные не будут меняться, вы можете «вшить» их в саму формулу (например, в сутках всегда будет 24 часа).

Формулы Excel могут (а в некоторых случаях, обязаны) включать в себя следующие элементы:

  • Знак равенства (с него начинается каждая формула)
  • Ссылки на ячейки (включая диапазоны, имена, названия листов Excel, названия книг)
  • Математические операторы
  • Операторы сравнения
  • Оператор конкатенации & (оператор сцепления для текста)
  • Функции (например, ЕСЛИ, ИНДЕКС, СЧЁТЕСЛИ и т.д.)
  • Аргументы функций (например, значение 1, в качестве первого аргумента функции АГРЕГАТ, сообщающее, что следует найти среднее значение)
  • Числа (константы, не меняющиеся с течением времени)
  • Текст в кавычках (например, «Утро»)
  • Массив констант (например, {1,2,3})

Математические операторы:

Оператор        Описание

+                             сложение

–                             вычитание

*                             умножение

/                              деление

^                             возведение в степень

()                            скобки

Операторы сравнения:

Оператор        Описание

=                             Равно: равны две вещи между собой?

<>                          Не равно: не равны две вещи между собой?

>                             Больше: больше ли левая часть правой?

>=                          Больше или равно: не меньше ли левая часть правой?

<                             Меньше: меньше ли левая часть правой?

<=                          Меньше или равно: не больше ли левая часть правой?

Типы формул:

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

Очередность выполнения операторов в Excel (этот раздел вам особенно пригодится, когда вы начнете создавать мегаформулы со множеством элементов):

1 Скобки: ( )
Например, (10-4)*5 = 6*5 = 30
2 Операторы ссылок: двоеточие, пробел, точка с запятой
Например, двоеточие указывает на диапазон ячеек: =СУММ(A1:A4)
Например, пробел, как оператор пересечения строки и столбца: =E12:G12 F10:F15 (возвращает ячейку F12)
Например, точка с запятой, как оператор объединения: =СУММ(E10:G10;E14:G14)
3 Отрицание: —
Например, -2^4 = 16, -(2^4) = -16, --2+1=3
4 Преобразования: % (1% в 0,01)
5 Возведение в степень: ^
Например: 4^(1/2) = 2, 3^2 = 9
6 Умножения и деления: * и / (выполняются по порядку слева на право)
7 Сложения и вычитания: + и — (выполняются по порядку слева на право)
8 Конкатенация: & (сцепление текста)
9 Символы сравнения: =, <>, >=, <=, <, >

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

  1. Текст выравнивается по левому краю.
  2. Числа – по правому краю.
  3. Логические значения или двоичные данные выравниваются по центру.
  4. Значение ошибки выравнивается по центру.

То, что вы видите в ячейках Excel может отличаться от того, что там хранится. Например, вы можете использовать кнопку или форматирование, чтобы уменьшить число десятичных разрядов. При этом Excel не удаляет десятичные знаки для целей расчета. Фактически в ячейке число хранится с максимально доступной точность. В качестве другого примера, укажем на представление дат в Excel. Хотя вы видите 16/11/2012, на самом деле ячейка содержит номер 41229. Формулы расчета будут работать именно с числом 41229, а не с датой 16/11/2012.

Я буду периодически приводить правила эффективного применения формул массива (все эти правила можно найти в главе 14). Вот первое:

Чтобы быть создавать классные формулы, вы должны знать: (1) Золотое правило Excel, (2) элементы формул, (3) математические операторы и операторы сравнения, (4) типы формул (5) очередность выполнения операторов (6) принципы форматирования чисел, и (7) выравнивание по умолчанию.

Глава 2. Введение в формулы массива

Что такое массив? Массив – это набор из двух или более типов формул (см. главу 1). Это положение служит логической отправной точкой для книги (заметим, что такое определение не является общепризнанным). Все остальное вытекает из этого.

Типы массивов в Excel:

  • Массив, как ссылка, содержащая более одной ячейки. Например, диапазон ячеек, лист Excel, именованный диапазон.
  • Массив, возвращенный формулой (фрагментом формулы). Его также называют результирующим массивом.
  • Массив констант – массив значений, закодированный («зашитый») в формулу.

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

Выполнение операции с массивом элементов, а не с отдельным элементом. Чтобы понять, что это значит, давайте сначала рассмотрим работу с отдельным элементом (рис. 2.1). Цель формулы – рассчитать изменение между ценами закрытия открытия в каждый из дней.

Рис. 2.1. Таблица открытия и закрытия фондовых цен

Формула на рис. 2.1 работает с отдельными элементами:

  • Ячейка E3 содержит формулу, которая вычитает значение ячейке C3 из значения ячейки D3.
  • Выполняется математическая операция вычитания.
  • Обрабатываются отдельные значения в ячейках C3 и D3.
  • Это не формула массива, поскольку операция выполняется с отдельными элементами, и в результате операции возвращается один элемент.

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

Рис. 2.2. Математические операции с массивом элементов

Формула на рис. 2.2 работает с массивом элементов:

  • Ячейка D8 содержит формулу, которая вычитает значения в диапазоне C3:C6 из значений диапазона D3:D6.
  • Выполняется математическая операция вычитания.
  • Два массива, которые используют числа в диапазонах D3:D6 и C3:C6.
  • Это формула массива, поскольку операция выполняется непосредственно с массивом элементов.

Рассмотрим два предыдущих примера подробнее.

Формула массива или вспомогательная колонка? На рис. 2.3 изображена таблица с ценами открытия и закрытия. Цель расчета – определение максимального дневного изменения стоимости акций в течение четырех торговых дней. Четыре отдельные формулы, расчеты, сделанные во вспомогательной колонке «Изменение». Эта колонка называется вспомогательной, поскольку она позволяет получить промежуточные значения, необходимые для расчета максимального изменения запасов. В ячейке B8, функция МАКС просматривает значения в ячейках Е3:Е6 и выбирает максимальное значение, равное 7. Расчет, сделанный функцией МАКС называется операцией агрегирования, потому что функция просматривает диапазон значений и подсчитывает один ответ; но это не операция с массивом.

Рис. 2.3. Если цель – посмотреть все ежедневные изменения и затем вычислить максимальное изменение за период, использование вспомогательного столбца – отличная идея

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

Как вы получаете все эти отдельные изменения во вспомогательной колонке? Посмотрите еще раз на рис. 2.3 и обратите внимание, что функция МАКС просматривает значения 3, –8, 7, 6. Вот, если бы вы могли создать эти вспомогательные значения сразу в ячейке В8!? Формула массива позволяет вам это сделать. Как показано на рис. 2.4, при создании массива показателей «Изменение», можно выделить весь дружной колонной диапазон, затем введите оператор вычитания, а затем выделите весь Открыть диапазон столбцов внутри функции MAX число1 аргумент.

Рис. 2.4. Создаем массив, вычисляющий внутри функции МАКС аргумент число1

Можно проверить, что же собирается считать формула МАКС. Для этого кликните на число1 в подсказке, появившейся под формулой. Вы увидите, что в качестве аргумента число1 Excel понимает всё содержимое формулы, то есть D3:D6-C3:C6 (рис. 2.5.)

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

Отследим работу функции массива с помощью инструмента Вычислить формулу (вкладка Формулы, область Зависимости формул). Находясь в ячейке В8 нажмите одновременно Ctrl+Shift+Enter. Этим вы введете в ячейке формулу массива. Вокруг формулы появятся открывающая и закрывающая фигурные скобки. Не вводите эти скобки с клавиатуры! Теперь нажмите Вычислить формулу (рис. 2.6).

Рис. 2.6. Изучаем работу формулы массива с помощью инструмента Вычислить формулу

Кликнув Вычислить, вы увидите, что на первом шаге формула превратила МАКС(D3:D6-C3:C6) в МАКС({3:-8:7:6}), т.е. вычислила поэлементную разность двух массивов, сформировав массив чисел. Фактически формула сымитировала вспомогательный столбец. На втором шаге формула МАКС нашла максимальное число среди четырех элементов массива – 7.

Существует альтернативный, в некоторых случаях, еще более удобный способ посмотреть, как работает формула. Этот способ также широко используется при отладке формул. В режиме редактирования выделите элемент формулы, который хотите вычислить, и нажмите F9. Проверив, как работает элемент формулы, но не желая сохранять результат вычисления, нажмите Ctrl+Z, формула вернется к исходному состоянию. «Поиграйте» с выделением различных элементов формулы, чтобы прочувствовать, как это работает (рис. 2.7).

Рис. 2.7. Вид формулы до (слева) и после (справа) вычисления отдельных элементов; чтобы вычислить выделенный элемент, нажмите F9, чтобы вернуть формулу к исходному виду, нажмите Ctrl+Z

Итак, для проверки того, как работает формула:

  1. Выберите элемент формулы.
  2. Нажмите F9.
  3. Посмотрите, что получилось? Похоже ли это на то, на что вы рассчитывали?
  4. Нажмите Ctrl+Z, чтобы отменить вычисления.

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

Заметим, что если вы введете в ячейку формулу =МАКС(D3:D6-C3:C6) без Ctrl+Shift+Enter, то есть, как обычную формулу, Excel выдаст ошибку (рис. 2.8). Посылая вам #ЗНАЧ! В качестве сигнала об ошибке, Excel говорит вам, что вы ввели формулу массива неверно. (Да, есть правильный и неправильный способы ввода формул в ячейку!) Для «правильного» ввода формулы массива нажмите одновременно Ctrl+Shift+Enter (рис. 2.10). (Заметим, что в Excel есть четыре функции массива, которые можно вводить простым нажатием Enter: СУММПРОИЗВ, ПРОСМОТР, АГРЕГАТ и ИНДЕКС. Вы узнаете о них позже в этой главе.)

Рис. 2.8. Используя Enter, чтобы ввести формулу =МАКС(D3:D6-C3:C6) в ячейку В8, вы получите ошибку

Рис. 2.10. При вводе формулы с помощью одновременного нажатия клавиш Ctrl+Shift+Enter, формула МАКС работает корректно

После ввода формулы массива с помощью Ctrl+Shift+Enter, вы должны проверить, корректно ли она введена. Убедитесь, что левая фигурная скобка размещена в начале формулы, правая фигурная скобка – в конце. Excel автоматически помещает эти фигурные скобки при нажатии Ctrl+Shift+Enter. Размещая эти фигурные скобки, Excel говорит вам, что он понимает, что вы ввели формулу массива.

Итак, к настоящему моменту в отношении функций массива вы уже знаете, что

  • Если функция не является исключением (таких четыре), то вы должны ввести формулу в ячейку с помощью Ctrl+Shift+Enter.
  • После ввода формулы с помощью Ctrl+Shift+Enter, Excel помещает фигурные скобки в начале и в конце формулы. Если вы попытаетесь ввести эти фигурные скобки руками, они будут отображаться как текст, а не как часть формулы массива.
  • Если вы не используете Ctrl+Shift+Enter, вы скорее всего получите ошибка #ЗНАЧ!

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

Заметим, что #ЗНАЧ! – это не единственный ответ, который вы можете получить, если забудете использовать Ctrl+Shift+Enter. Рис. 2.12 показывает, что формула =МАКС(D3:D6-C3:C6), введенная в восьми ячейках, семь раз дала неверный результат (так как была введена без использования Ctrl+Shift+Enter), и только в ячейке B8 она была введена с Ctrl+Shift+Enter.

Рис. 2.12. Будьте осторожны при создании формул массива; только формула в ячейке B8 дает правильный результат; в ячейках F3:F6 хотя и не появилось значение ошибки #ЗНАЧ!, но и ответ неверный

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

  1. =MAX(D3:D6-C3:C6). Используются два массива D3:D6 и C3:C6, с которыми выполняется математическая операция вычитания.
  2. =MAX({762:757:763:768}-{759:765:756:762}). Берутся две колонки и…
  3. =MAX({762-759:757-765:763-756:768-762}). …соответствующее числа вычитаются
  4. =MAX({3:-8:7:6}). Разность двух массивов дала вертикальный массив {3:-8:7:6}.
  5. Формула находит ответ – одно значение в ячейке – 7.

Примечания: в главе 23 вы познакомитесь с альтернативой функции МАКС – новой функцией Excel (начиная с версии 2010 г.) – АГРЕГАТ; в главе 7 вы узнаете о синтаксисе, используемом в формулах массива: фигурные скобки указывают на начало и окончание формулы, точка с запятой отделяет один элемент в строке от другого, а двоеточие – одну строку от другой.

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

Функция СУММПРОИЗВ. Рис. 2.13 показывает тот же набор данных, но теперь ваша цель – найти сумму изменений цены за 4 дня. Вы используете вспомогательную колонку и формулу =СУММ(E3:E6). Этот метод хорош, если вам нужно видеть все детали, а расположение ваших данных позволяет добавить вспомогательную колонку. На рис. 2.14 показано, как можно использовать формулу = СУММПРОИЗВ(D3:D6-C3:C6). Этот метод хорош, если вам не нужны все подробности, и/или вы не можете позволить себе использовать вспомогательную колонку.

Рис. 2.13. Чтобы увидеть все детали, вы можете использовать вспомогательный столбец и функцию СУММ

Рис. 2.14. Если вам не нужны подробности, вашу задачу решит функция СУММПРОИЗВ

Рассматривая формулу на рис. 2.14, что вы заметили? Верно: нет фигурных скобок!

На рис. 2.15 обратите внимание, что те же массивы, что использовались и в предыдущей функции MАКС, снова входят в первый аргумент – массив1. Разница в том, что массив1 – аргумент функции СУММПРОИЗВ изначально запрограммирован обрабатывать без необходимости использовать Ctrl+Shift+Enter. Вы можете просто создать формулу и ввести ее в ячейку кнопкой Enter.

Рис. 2.15. Функция СУММПРОИЗВ может обрабатывать массив аргументов и без Ctrl+Shift+Enter

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

Сравним функции СУММПРОИЗВ и СУММ при обработке массивов. На рис. 2.14 (ячейка В9) показано, что вы можете использовать функцию СУММ в качестве формулы массива. А поскольку функция СУММ изначально не запрограммирована для обработки массива, формулу нужно ввести с помощью Ctrl+Shift+Enter. Если у вас есть выбор между использованием СУММ и СУММПРОИЗВ, более эффективно использовать последнюю. Почему? Как начинающие, так и продвинутые пользователи иногда забывают использовать Ctrl+Shift+Enter и получают, либо ошибки, либо потенциально неправильные ответы из-за неявного пересечения. Позаботьтесь о себе и других и используйте ту версию формулы массива, которая не требует нажатия Ctrl+Shift+Enter.

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

Если вы заинтересованы в «ускорении» ваших формул рекомендую замечательную статью Excel MVP Чарльза Уильямса: http://msdn.microsoft.com/en-us/library/ff700515(v=office.14).aspx. Он обсуждает, как ускорить работу ваших формул и предлагает бесплатный код VBA, который можно скачать и использовать для оценки времени работы ваших формул. Чарльз Уильямс известен как «Fast Excel», поскольку он является мировым лидером в области решений по ускорению работы электронных таблиц. Его сайт http://www.decisionmodels.com/.

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

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

Например, можно найти сумму квадратов значений из диапазона А2:A12 , просто записав в ячейке B14 формулу =СУММ(A2:A12^2) . Для сравнения: чтобы найти сумму квадратов, используя обычные формулы, нам потребуется дополнительный столбец для вычисления квадратов значений и одна ячейка для их суммирования (см. файл примера или диапазон B 2 :B13 на рисунке ниже).

В отличие от ввода обычных формул, после ввода формулы массива нужно нажать вместо ENTER комбинацию клавиш CTRL+SHIFT+ENTER (поэтому, иногда, формулы массива также называются формулами CSE — это первые буквы от названия клавиш, используемых для ввода C trl, S hift, E nter). После этого формула будет обрамлена в фигурные скобки { } (их не вводят с клавиатуры, они автоматически появляются после нажатия CTRL+SHIFT+ENTER ). Это обрамление показано на рисунке выше (см. Строку формул ).

Если бы мы нажали просто ENTER , то получили бы сообщение об ошибке #ЗНАЧ!, возникающую при использовании неверного типа аргумента функции, т.к.  функция СУММ() принимает в качестве аргумента только диапазон ячеек (или формулу, результатом вычисления которой является диапазон, или константы). В нашем случае мы в качестве аргумента ввели не диапазон, а некое выражение, которое еще нужно вычислить перед суммированием, поэтому и получили ошибку.

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

  • выделим ячейку B13 , содержащую обычную формулу =СУММ($B$2:$B$12) ;
  • в C троке формул выделим аргумент функции СУММ() , т.е. $B$2:$B$12 ;
  • нажмем клавишу F9 , т.е. вычислим, выделенную часть формулы;
  • получим {1:4:9:16:25:36:49:64:81:100:121} – массив квадратов значений из столбца В . Массив – это просто набор неких элементов (значений).

Т.е. обычная функция СУММ() в качестве аргумента получила некий массив (или точнее ссылку на него).Теперь проведем тот же эксперимент с формулой массива:

  • выделим ячейку, содержащую формулу массива =СУММ($A$2:$A$12^2) ;
  • в строке формул выделим аргумент функции СУММ() , т.е. $A$2:$A$12^2 ;
  • нажмем клавишу F9 , т.е. вычислим, выделенную часть формулы;
  • получим {1:4:9:16:25:36:49:64:81:100:121} – тот же массив, что и в первом случае.

Т.е. нажатие CTRL+SHIFT+ENTER заставило EXCEL перед суммированием произвести промежуточные вычисления с диапазоном ячеек (с массивом содержащихся в нем  значений). Для самой функции СУММ() ничего не изменилось – она получила тот же массив, только предварительно вычисленный, а не прямо из диапазона ячеек, как в случае с обычной формулой. Понятно, что вместо функции СУММ() в формуле массива может быть использована любая другая функция MS EXCEL: СРЗНАЧ() , МАКС() , НАИБОЛЬШИЙ() и т.п.

Вышеприведенный пример иллюстрирует использование функции массива возвращающей единственное значение, т.е. результат может быть выведен в одной ячейке. Это достигается использованием функций способных «свернуть» вычисленный массив до одного значения ( СУММ() , СРЗНАЧ() , МАКС() ). Примеры таких функций массива приведены в статье Формулы массива, возвращающие одно значение .

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

Преимущества и недостатки формул массива рассмотрены в одноименной статье Формулы массива. Преимущества и недостатки .

В файле примера также приведено решение данной задачи функцией СУММПРОИЗВ() , которая зачастую не требует введения ее как формулы массива: =СУММПРОИЗВ($A$2:$A$12^2)

Здесь, при вводе формулы СУММПРОИЗВ() нажимать CTRL+SHIFT+ENTER необязательно.

ПРИМЕЧАНИЕ : При создании Именованных формул и правил Условного форматирования формулы массива нельзя ввести нажимая CTRL+SHIFT+ENTER . Эти формулы вводятся только в ячейки листа. Однако, если формуле массива присвоить Имя , то EXCEL «сообразит», что нужно с ней нужно делать. Например, если формуле =СУММ($A$2:$A$12^2) присвоить имя Сумма_квадратов, а затем в ячейке указать =Сумма_квадратов , то получим правильный результат.

Понравилась статья? Поделить с друзьями:
  • Формулы если в excel с несколькими диапазонами
  • Формулы массива на столбец в excel
  • Формулы если в excel с интервалами
  • Формулы массива в объединенных ячейках неверны excel
  • Формулы если в excel окрасить ячейку