Excel массив в фигурных скобках

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 должен истолковать формулу, которую вы вводите. То, что формула является формулой массива – это не столько особенность самой формулы, а скорее способом, которым программа 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 при желании можно найти один или несколько таких массивов:

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

​Смотрите также​ Фридл,2015.​ произвольное количество цифр​Казанский​ клавиши CTRL+SHIFT+ENTER»​ но ФОМ (или​ п.4 пояснил паршиво,​ входить в формулу,​ не является формулой,​ Если выдаёт #ЗНАЧ,​ е операции проводятся​ значения суммируются. Ввод​ спасибо!!!​ — двумерными и​

Применение многоячеечной формулы массива

​ — то без​.​ массив на второй,​В данном уроке мы​Вариант функции zzz​ из квадратных скобок​: 1. Что Вы​И всё.​

Многоячеечная формула массива в Excel

​ часть ФОМ);​ но мнения это​ но они не​ даже если начинается​ то автоматом, особо​ над каждой ячейкой.​ должен осуществляться через​Сейчас для меня​ т. д. Одномерный​

  1. ​ проблем, только без​Нам не нужно использовать​ перемножаются их соответствующие​ познакомимся с многоячеечной​Многоячеечная формула массива в Excel
  2. ​ в E1 без​ функцией yyy​ имеете в виду​Остальные же формулировки​3. =СУММПРОИЗВ(—(A1:A5=1)) -​Многоячеечная формула массива в Excel
  3. ​ не меняет.​ являются формулой.​ со знака «=».​ не задумываясь, -​Многоячеечная формула массива в Excel
  4. ​Думаю, для начала​ ctrl+shift+enter.​ это инфа к​ массив нестрого соответствует​ всяких кавычек)​ вспомогательный диапазон в​Многоячеечная формула массива в Excel
  5. ​ элементы (B2 с​ формулой массива, разберем​ регуляркиПро UDF,например,Джон Уокенбах,2014,с.278″​в ячейке C1​ — выделение в​​ являются личными мнениями,​​ не ФМ, но​vikttur​Например, часто, но​Формула может включать​​ Ctrl+Shift+Enter. Если что-то​​ работы с массивами​суммпроизв(a1:b2+1), который делает​ размышлению, но по-моему​ вектору в математике,​Если надо ввести​ столбце​ C2, B3 с​Многоячеечная формула массива в Excel

​ наглядный пример ее​ Excel2013 Профессиональное программирование​ в файл- примере​ этом диапазоне или​ основанными на, в​ ФОМ (внутри функция​: Владимир четко описал​

  1. ​ не всегда, вместо​ функции, операторы (сложения,​ появилось, то перепроверяю​ этих знаний более​ по сути то​ я на верном​ двумерный — матрице.​ формулу как формулу​Многоячеечная формула массива в Excel
  2. ​D​ C3, B4 с​ применения в Excel,​ на VBA»)​Function yyy(t$) With​ скобки в этом​ принципе, правильных представлениях​Многоячеечная формула массива в Excel
  3. ​ с обработкой массива​ терминологию (кстати, не​ формулы массива может​ вычитания и т.п.)​​ пару позиций вручную..​​ чем достаточно.​Многоячеечная формула массива в Excel

​ же самое, вводится,​ пути, пример The_Prist​ Чаще всего применяются​ массива, то выделите​. Excel может хранить​ C4 и т.д.).​ а также отметим​Код Function zzz(t$)​ CreateObject(«VBScript.RegExp»): .Pattern =​ диапазоне? Лучше приложите​ о внутреннем механизме​ данных);​ помню, чтобы в​ быть использована функция​

Преимущества многоячеечных формул массива

​ и прочую лабуду​ Но я до​Serge​ однако, enter’ом.​ даже не поверг​ массивы с одним​ вместе с вычисленной​

  1. ​ данные в своей​ В итоге образуется​ некоторые особенности использования.​ zzz = Split(Split(t,​ «[(d+)]» If .test(t)​
  2. ​ пример.​ обработки внутри формулы,​4. {=СУММ(ЕСЛИ(—(A1:A5=1);1))} -​ предыдущих обсуждениях было​ СУММПРОИЗВ(), внутри которой​ (числа, текст, массивы,​ сих пор не​: Как строгий, но​сумм({1;2;3}*{1:2:3}) так же​ меня в шок​ или двумя индексами,​ ячейкой смежные -​ памяти. Диапазон данных,​Многоячеечная формула массива в Excel
  3. ​ новый массив, который​ Если Вы мало​ «[«)(1), «]»)(0) End​ Then yyy =​2. Если эти​ но не учитывающими​ и ФМ, и​ так «культурно» разложено​ запускается обработка массивов,​ ссылки, разного рода​ понимаю, как они​

​ справедливый учитель :-)​ вводится enter’ом.​ :-)​ реже — с​ нажмите клавишу F2,​ сохранённый в памяти​ содержит результаты вычислений.​ знакомы с формулами​ Function​

  • ​ .Execute(t)(0).Submatches(0) End With​ автофигуры будут в​
  • ​ еще и тот​ ФОМ (обработка массива​
  • ​ «по полочкам»), но…​
  • ​ но результатом является​ скобки, именованные диапазоны​
  • ​ летают (Туполев.. про​Спасибо Саша, теперь​
  • ​И так далее.​Да и Dophin-а​

​ тремя, ещё большее​ а затем нажмите​
​ Excel, называется массивом​

​ Поэтому, чтобы получить​

office-guru.ru

Формулы массива в Excel

​ массивов, то советуем​grekh​ End Function​ ограниченном диапазоне (зависит​ факт, что результат​ данных);​А Баба Яга​

Без формулы массива

​ скалярное значение, общая​ и проч.).​ самолеты) :)​ переварить надо :)))​Заморачиваться не стоит,​ формулу вроде понимаю,​​ количество индексов встречается​​ клавиши CTRL+SHIFT+ВВОД.​

  1. ​ констант.​ корректный результат, размерности​ сначала обратиться к​Формулы массива в Excel
  2. ​: добавлю,ответ на #13,функция​​grekh​​ от п.1), можно​ формулы массива -​5. {=ТРАНСП(A1:A5)} -​​ против! :)​​ формула при этом​Формулы массива в Excel

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

​формулой массива является​Serge​de-tochka​​ со временем сами​​ с трудом пока,​ крайне редко.​Юрий шпекторов​Мы уже знаем, что​ всех трех массивов​ уроку, где описаны​

  1. ​ uuu в C1​: Вопрос не увидел!​ удалять автофигуры данного​ всегда массив, а​ и ФМ, и​Формулы массива в Excel
  2. ​Возможно, игра понятий,​ по определению не​ любая формула, ввод​: Да пусть говорят!​​: спасибо огромное! :)​​ поймёте, какие случаи​​ но я честно​​В высшей математике​​: Вопрос не понятен.​​ определить прогресс первого​​ должны быть соответствующими.​​ базовые принципы работы​​Function uuu#(r As​​ Почему то решил,​Формулы массива в Excel
  3. ​ типа из данного​​ не просто (скалярное)​​ ФОМ (хоть и​Формулы массива в Excel

​ жонглирование терминами и​​ является формулой массива,​ которой завершен одновременным​Только не надо​​ всем-всем​​ являются исключением из​ пока НИ РАЗУ​ — матрица.​ Для возможного ответа​

​ студента нам поможет​

  • ​Использовать в Excel единую​ с ними.​ Range) Dim x,​ что нужно избавиться​ диапазона.​ значение. В Excel​​ в одной ячейке,​​ проч. (с моей​
  • ​ её результат будет​​ нажатием Ctrl-Shift-Enter. Результатом​​ советовать >> спустя​​tarasso​ правила «производишь вычисления​ формулами массива не​​Serge​​ — более подробно​

Клавиша F9

​ формула, показанная на​ многоячеечную формулу массива​На рисунке ниже представлена​ z, i&: z​

  1. ​ только от скобок.​​А можно присваивать​​ не существует другого​ но хранит в​Формулы массива в Excel
  2. ​ стороны).​​ тоже скалярным значением,​​ формулы массива может​Формулы массива в Excel

​ почти три года​: Яркий пример массивов​ над несколькими значениями->нажимай​ пользовался…​: Всем огромное спасибо,​ в email​ рисунке ниже.​ в большинстве случаев​ таблица с наименованием​ = r.Value For​AleksSid​ этим автофигурам определенные​

​ способа для выдачи​ себе массив данных).​
​Наверное, формулы массива​
​ а не массивом.​

​ быть один или​

office-guru.ru

Скажите пожалуста как прописываются фигурные скобки в excel

​ после топика :-)​ — матрицы (но​ ctrl+shift+enter».​

​Сегодня первый раз​​ особенно vikttur, я​Себор​Чтобы из значений прогресса​ предпочтительнее, чем несколько​
​ товара, его ценой​ i = 1​: Профессионалы, подскажите, пожалуйста​ имена и удалять​ массива в качестве​
​ikki​ (ФМ) с фигурными​Применений формул массива​ несколько элементов массива​ikki​ не комплексные, поскольку​Касательно возвращения нескольких​ Саша мне помог​

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

​ To UBound(z) x​​ еще по этой​ по именам.​ результата формулы, кроме​: в подробном описании​ скобками обрабатываются в​ и функций, работающих​ как одномерного, так​: Сергей, а ты​

Формулы массивов, кто может объяснить что это такое?

​ Excel стандартными средствами​​ результатов. Написано неправильно,​ подобной формулой, вот​

​ человеческим языком :-)​ не используется для​ максимальное, мы добавляем​ основные преимущества, которые​ ячейках D2:D6 вычисляется​ = Split(z(i, 1))​ теме. В следующем​Doctorbol​ как нажатием CTRL-SHIFT-ENTER​ Владимира мне особенно​ программе по другому,​

​ с массивами, на​ и 2-мерного.​ воспринимаешь «учитесь и​ комплексные матрицы считать​
​ но, надеюсь, понятно.​ я и заинтересовался…​Буду вникать:)​ вычислений, то прописывать​ сюда функцию​ она предлагает:​ общая стоимость каждого​ uuu = uuu​

​ задании в столбике​

​: Чтобы таким способом​​ при вводе формулы.​

​ понравился этот момент:​​ поэтому они и​ форуме множество, как​Формула массива при​
​ пробуйте» как совет​ не умеет).​В экселе формула​Всем ОГРОМНОЕ СПАСИБО!!!​
​Dophin​
​ ее нужно как​МАКС​Используя многоячеечную формулу массива,​ вида товара (с​ + CDbl(x(UBound(x))) Next​
​ встречаются кроме семизначных​ можно было ставить​vikttur​:lol:​
​ выделены в отдельную​ и попыток их​ активации ячейки отображается​ только лично тебе?​Вот мой совет,​ может возвращать только​Саша​

​: вот может поможет​​ текст: =»{» (все,​

​(MAX) и заменяем​ Вы на 100%​ учетом количества).​ End Function​ и пятизначные коды,​ скобки только в​: Убедил окончательно.​Serge​ категорию (а не​ описания.​ с добавленными фигурными​

​ :)​ возьмите какой-то сборник​ 1 значение, т​: Много текста вроде​ понять.​ что написанно в​C2​ уверены, что все​В данном примере диапазон​grekh​ например, Золотой Стандарт​ данном диапазоне. (​Для себя оставляю​: Спасибо за ответы!​ из-за наличия скобок​Формулы массивов используются​ скобками в начале​

​имхо, тема хорошая.​ задач по высшей​

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

​ D2:D6 содержит пять​​: СУММЕСЛИМН() или сводная​ в/ст Сгущёнка [50315].​

​ в прилагаемом примере​ разграничение на ФМ​Теперь выражу своё​ и трехпальцевого ввода).​ не только в​ и в конце​ответы vikttur’a, The​ математике за I​ будет отображаться лишь​

​Массив сам по​​ не понимал что​ как текст)​
​C2:C6​ диапазоне введены правильно.​ формул. Многоячеечная формула​ таблица. Подробнее при​ При использовании формулы​ B1:B6)​ и ФОМ.​ мнение (не факт​ Т.е. разница не​ Excel. В пакете​
​ формулы. Эти фигурные​
​ Prist’a и Саши​
​ курс, например А.В.​
​ одно значение. Исключением​
​ себе-совокупность(«ряд») элементов(значений).​
​ такое массив и​
​Serge​
​, а​Формула массива в большей​ массива позволяет вычислить​ наличии файла с​ =ПСТР(ПРАВСИМВ(А1;8);1;7) остается теперь​Казанский​Юрий М​
​ что оно правильное,​ только в записи​
​ MATLAB, например, вообще​
​ скобки исчезают, если​ — «на пять».​ Ефимова, Б.П. Демидовича​ является присвоением имени​Массивы бывают:​ как с ним​: Вот что отвечает​B2​ степени защищена от​ тот же самый​ примером​ скобка слева от​: Доктор, пишите рецепты​
​: Владимир, привет! В​ это просто мнение)​ (=A1, {=A1}), но​
​ нет скалярных вычислений,​
​ войти в режим​и неплохо, что​ т.1 Глава 3.​ формуле в диспетчере​одномерные(т е есть​ работать, а после​ справка 2003-го Экса:​на​ случайного изменения, поскольку​ результат, используя одну​Не по теме:​ пятизначного кода [50315​ разборчиво!​ сообщении от 29.08.2012,​1. НЕ формула​ и в обработке.​ там любая операция​

​ редактирования формулы.​​ тема «всплыла».​ Определители и матрицы.​
​ имён.​ 1 вектор, т​ какого то поста​Формула массива- Формула,​B2:B6​ редактировать можно только​ единственную формулу. Чтобы​Только вот какое отношение​
​ а с семизначными​Я что-то сделал,​ 02:42 остался неосвещённым​ массива, т.к. массив​ В таком случае​ даже сложение 1+2​Формулу массива можно​
​и если бы​ Системы линейных уравнений.​Допустим, мы вводим​ е одна строка​

​ одного из гуру​

​ выполняющая несколько вычислений​​.​ весь массив в​
​ воспользоваться формулой массива​ имеет этот вопрос​
​ все красиво.​
​ но не уверен,​ пункт № 5​ она не возвращает​ ФМ должна трактоваться​ внутри пакета выполняется​
​ вводить сразу в​ на форуме было​
​Порешайте некоторые задачки​ в ячейку a1​ или один столбец​ прямо какое то​ над одним или​
​Завершаем редактирование формулы нажатием​
​ целом. Если Вы​
​ выполните следующие действия:​
​ к данной теме?​
​Svsh2015 то, что​ что это то,​
​ :-)​2. Формула массива,​ как ФМ, даже​ как сумма массивов​ несколько ячеек, предварительно​ что-то типа рубрикатора,​ из данной главы​

​ формулу =B1:b2+1 «enter’ом»​ значений)​ озарение снизошло)​
​ несколькими наборами значений,​Ctrl+Shift+Enter​
​ попробуете изменить часть​Выделите диапазон ячеек, где​
​grekh,действительно,необходим файл пример,подредактировал​ вы мне написали​ что нужно. С​Serge​

​ т.к. возвращает массив​ если {=1}.​
​ (матриц) с единичными​ выделив их. Для​
​ то эту тему​ — вычисление определителя,​Что происходит? Эксель​
​К примеру, 1​The_Prist​ а затем возвращающая​
​.​ массива, у Вас​ должны отображаться результаты.​
​ функцию в D1​
​ моему мозгу совершенно​
​ выделением скобка должна​
​: Секундочку! :-)​
​3. Формула массива,​
​Но, как я​
​ элементами.​

​ того, чтобы определить​ однозначно следовало бы​ обратной матрицы и​ запрашивает значения ячеек​ 2 3,​: Как это вижу​ один или несколько​
​Замечание:​ ничего не получится.​ В нашем случае​ ,например,когда t, Горская​
​ недоступно. Это использование​ быть связана, или​Например​ т.к. возвращает массив,​ понимаю, в конечном​Т.е. в понятии​ диапазон ячеек (для​
​ туда включить.​ т.п., а в​ b1:b2. Получает два​двумерными(т е 2​
​ я.​ результатов. Формулы массива​
​Формула массива в​
​ Например, при попытке​ это диапазон D2:D6.​Function uuu1#(r As​ VBA? Где этому​ теперь нет?​=СТРОКА(1:3) вернёт массив​ который сама же​

​ счете не важно,​ Excel это выглядит​ изменения/удаления формулу массива),​
​Serge​ конце свертесь с​ значения. Что с​ вектора, более одной​Формула массива приходит​ заключены в фигурные​ строке формул заключена​ удалить формулу из​Как и при вводе​

​ Range, t$) Dim​ можно научиться?​Doctorbol​
​ и без трёх​ и суммирует​ есть скобки или​ как формула массива​ в которые введена​: Ессно :-)​ ответами.​ ними делать «для​ строка и более​ на помощь тогда,​ скобки { }​ в фигурные скобки​ ячейки D4, Excel​ любой формулы в​
​ x, x1, t1,​grekh​: , отлично, все​ пальцев, а =A1​4. Формула массива,​ нет их. Для​ {={1}+{2}}.​
​ формула массива, нужно​Топик-то мой, значит​Уверен, это должно​ приведения к одному​ одного столбца, т​
​ когда мы не​ и вводятся нажатием​{}​ выдаст следующее предупреждение:​ Excel, первым делом​ x2, z, i&:​:​ как надо. Спасибо​ не вернёт массив​ т.к. возвращает массив,​ работы с формулами​Еще один нюанс​ активировать любую ячейку​ и ответы -​

​ помочь с практической​ значению» для проведения​ е «таблица».)​ может получить решение​ клавиш CTRL+SHIFT+ВВОД.)​. Не пытайтесь ввести​Вы не сможете вставить​ необходимо ввести знак​ z = r.Value​
​grekh​ большое.​ и при вводе​ который сама же​ важна сама суть.​ – в VBA​ внутри такого диапазона,​
​ мне​ точки зрения. Когда-то​ дальнейших расчётов он​К примеру,​ стандартной формулой(да еще​

​Для меня это​ их вручную, скобки​ новые строки или​ равенства.​ For i =​, используйте свою формулу​grekh​

​ CTRL-SHIFT-ENTER​ и суммирует​Для меня, как​ пользовательская функция (UDF),​

​ нажать Ctrl-G, нажать​​ЗЫ >>​ таким образом практиковался.​
​ не знает, а​1 2 3​

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

​ столбцы в диапазон,​​Выделите первый массив значений.​ 1 To UBound(z)​ из поста #6.​: Привет! Помогите, пожалуйста,​Разве не так?​5. Формула массива,​
​ пользователя, понятие «формула​ результатом которой являются​ кнопку «Выделить», выбрать​…но мне они​Такие функции, как​ вернуть два значения​4 5 6​ ячейке без доп.столбцов).​ самого определения массива​
​ отредактировать формулу.​ где введена формула​ В нашем случае​ x1 = Split(z(i,​Svsh2015​ довести дело до​Doctorbol​
​ т.к. возвращает массив,​ массива» было немного​ массив и введенная​ «Текущий массив» и​
​ не помогли тогда​ (найти можно в​ не может. По-этому​7 8 9​
​ К примеру нужно​
​ тут нет…​
​Пояснение:​
​ массива. Чтобы вставить​ это диапазон с​ 1), «,») t1​: Вариант Код =ПСТР(A1;НАЙТИ(«[«;A1)+1;ДЛСТР(A1)-НАЙТИ(«[«;A1)-1)​ ума-профан в программе.​: добрый день.​
​ несмотря на то​ иное. После пространного​ в диапазон ячеек​ нажать OK.​ :(​ справке в разделе​
​ превращает возвращённые два​многомерными(т е 3​

​ получить минимальное значение​​Кто-нибудь из знатоков​Диапазон данных (массив констант)​ новую строку или​ ценами товаров B2:B6.​ = x1(0) x2​Svsh2015​ Е​прошу подсказать как​ что ввели её​ объяснения Владимира пришло​ как формула массива,​Примеры формул:​Я понял что​ математические)​ значения в одно​ и более векторов.)​ из массива чисел:​ может человеческим языком​ хранится в памяти​ столбец, придется заново​Введите знак умножения и​ = Split(t1) If​

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

​1. Не формула​​ такое формула аррай​МОБР​ значение «#ЗНАЧ!»(ошибка).​Пример трёхмерного массива:​0​ объяснить что это​ Excel, не в​ перезадавать весь массив.​ выделите второй массив​ t = x2(UBound(x2))​Код =ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;1;ПОИСК(«[«;A1););»]»;)​ которого нужно выбрать​необходимо чтобы справа​Третий пункт очень​ нужно для себя​ чем обычная UDF,​ массива =1 -​

​ после подсказки DV​​МОПРЕД​
​Т е формула​ у вас есть​1​ такое? И чем​

​ диапазоне ячеек. Массив​​ Данный пункт можно​ значений. В нашем​ Then x =​Svsh2015​ только цифры в​

​ от выделенных подряд​
​ противоречив даже для​ разграничить понятия «формула​ введенная в каждую​
​ в A1 введите​ (за что ему​
​МУМНОЖ​ =ЕОШ(B1:B2)+1 ввёдённая enter’ом​ тетрадь, на каждой​2​ они отличаются от​ констант можно представить​

​ рассматривать как преимущество,​​ случае это диапазон​
​ Split(z(i, 1)) uuu1​: Спасибо!Получилось!Следующий вопрос по​ квадратных скобках. Пример,​

​ нескольких строк отдельным​
​ меня самого, так​ массива» и «формула,​ ячейку этого диапазона.​
​ =1 и нажмите​ ОГРОМНОЕ спасибо) на​являются ярким примером​ вполне будет работать​ страницы которой есть​4​
​ обычных формул, кроме​ в таком виде:​ так и недостаток.​

​ с количеством товаров​ = uuu1 +​
​ сложнее-в темах не​ Пирог яблочный [6789054].​ макросом ставилась фигурная​ ведь можно и​ работающая с массивом​ Разница в том.​

​ Enter​​ SQL.ru​ применения формул массивов​ и вернёт 2,​ по таблице. Первый​

​6​​ заключения в красивые​{19;33;63;48;13}​Итак, в данном уроке​ C2:C6.​ CDbl(x(UBound(x))) End If​ нашла такого.Подскажите, пожалуйста,​

​ Использовала формулу Код​
​ скобка из автофигур.​
​ СУММЕСЛИ к ФМ​
​ (обрабатывающая массив)». Для​
​ что медленное общение​
​2. Не формула​
​Мы разбирали МУМНОЖ​
​ и могут возвращать​ а при введении​
​ вектор-строки таблицы, второй-столбцы,​0​ скобки?​.​ Вы познакомились с​
​Если бы мы вводили​

​ Next End Functiongrekh,добавил​​ здесь или может​ =ПРАВСИМВ(С6;8) . При​

​Это возможно?​ причислить :-)​ чего?​ между объектной моделью​
​ массива ={1} -​ и МОБР вкупе​ как массив значений,​ оной в виде​ третий-«страницы».​2​

​Спасибо!​Функция​ многоячеечными формулами массивов​ обычную формулу в​ еще параметр d​ ссылку, где глянуть.​ этом получается 6789054].​anvg​

​MCH​Часто возникают вопросы​ VBA и Excel​ в A1 введите​ с СУММПРОИЗВ​ так и единственное​ массива(ctrl+shift+enter) вернёт 1.​Элементы массива(значения) в​Применив обычную формулу​

​Guest​М​ и разобрали небольшой​ Excel, то закончили​ для даты в​ Есть длинная таблица.3​ Не понимаю как​: Добрый день​: Не соглашусь с​

​ и недопонимания. Например,​ в 1-м случае​ формулу ={1} и​Для полноты картины​ значение.​Что происходит при​ формулах excel могут​ =МИН(A1:A7) мы получим​:​АКС​ пример. Если желаете​ бы ввод нажатием​ ячейке H1 для​ столбика.Нужно сложить данные​ избавится от скобки​

​Возможно. Запишите макрорекордером​

​ Сергеем по 1,2,3​ та же парочка:​ выполняется один раз,​ нажмите Enter;​ добавлю:​

​Например для МОБР​ при введении данных​ получаться из:​ ноль. Что будет​vikttur​
​(MAX) использует этот​ получить еще больше​ клавиши​ Горская,аналогично для Петухова,Калинина,​
​ в третьем столбике,​ в конце.​ свои действия для​ пункту, моя позиция​{=СУММ((A1:A5>2)*A1:A5)} и =СУММПРОИЗВ((A1:A5>2)*A1:A5)​ а во 2-м​здесь {1} –это​Не все формулы​ и МУМНОЖ практической​ формул в виде​1) констант массива(«постоянные»​ верным. Но если​: Тем, что без​ массив как аргумент​ информации о массивах​Enter​ Маркса и соответствующей​

​ если дата и​Спасибо заранее за​ вставки требуемой скобки​ полностью совпадает с​Результат работы -​ случае столько раз,​ одномерный массив с​ массива заключены в​

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

​ помощь!​ и доделайте получившийся​ позицией Александра.​
​ один и тот​ сколько ячеек.​ единственным элементом, равным​ {} и не​
​ массива значений, а​ используя ctrl+shift+enter?​2) ссылок на​ ноль учитывать не​ работают :)​63​ следующие статьи:​ формула массива, то​Function uuu2#(r As​ двух совпадают​AlexM​ макрос под себя.​Владимир подробно описал​ же, обработка массивов​

​ikki​ единице,​ все формулы заключённые​ для МОПРЕД как​Учитывая то, что​ другие ячейки/диапазоны/имена(«переменные» элементы)​

​ надо?​Простой пример -​.​Знакомство с формулами массива​ нужно нажать комбинацию​ Range, t$, d)​01.03.2011 Горская, 12​:​ Если что код​ чем отличается формула​ данных присутствует в​
​: как известно, в​но результатом формулы​ в {} являются​ правило единственного значения.​

​ данные формулы, при​3) А так​Мыможем ввести такую​ просуммировать значения в​При работе с формулами​ в Excel​ клавиш​ Dim x, x1,​ 4​grekh​ фигуры для левой​ массива от функций,​ обеих формулах (функция​ формулах я ничего​ будет не массив,​ формулами массива ;-)​Очень удобно обращаться​ введении их в​ же произведением каких-либо​ формулу:​

​ столбце, если в​​ массива можно использовать​Одноячеечные формулы массива в​Ctrl+Shift+Enter​ t1, x2, x3,​01.03.2011 Горская, 12​

​, если чуть поправить​ фигурной скобки msoShapeLeftBrace,​
​ работающих с массивом.​ в теле формулы​ не понимаю. но​ а скалярное значение​
​Ship​ с именоваными массивами.​ виде массива, возвращают​ вычислений над вышеперечисленными​=МИН(ЕСЛИ(A1:A7<>0;A1:A7))​ соседнем >х.​ режим просмотра содержимого​ Excel​. Этим мы укажем​ z, i&: z​
​ 16​ Вашу Код =ПСТР(ПРАВСИМВ(A1;8);1;7)​ координаты верней строки​Если рассуждать как​ — часть формулы).​ это не повод​ первого элемента массива.​: Вдруг понадобится кому-нибудь​vigor​
​ два значения, эксель​ группами внутри формулы.​Казалось бы условие​Простая СУММЕСЛИ.​ массива констант.​Массивы констант в Excel​ Excel, что это​

​ = r.Value For​01.03.2011 пл. Калинина,​ точно всегда 7​ выделения Selection.Top, Selection.Left,​ Сергей, то формулы​

​=СУММ(A1:A5), =СУММПРОИЗВ(—(A1:A5)), {=СУММ(A1:A5)}​​ смолчать!!!​ Вместо ={1} может​ примеры и легкие​: Учитесь и пробуйте.Очень​ вернёт лишь первое​Константы вводятся вот​
​ задано верно и​Усложним условия -​
​В формуле выделите​Редактирование формул массива в​ не обычная формула,​ i = 1​

​ 1 28​ цифр?​ высота выделения Selection.Height.​ где используются функции​Результат работы -​1. да. (скобки​ быть введен массив​ задачки на формулы​ удобная, гибкая и​ значение. Т е​ такими скобками {}.​ мы должны получить​ если а*в>х. Нужен​C2:C6-B2:B6​ Excel​ а формула массива,​ To UBound(z) x3​

​01.03.2011 Петухова, 6/1​AleksSid​ Успехов.​ ПРОСМОТР и ЧАСТОТА​ один и тот​ красивые есть)​ с несколькими элементами,​
​ массива.​ сильная штука.Очень часто​ то же значение,​К примеру, сумм({1;2;3})​ нужный результат, т.е.​ доп. столбец с​, как показано на​Применение формул массива в​ и он автоматически​ = Split(z(i, 1))​ 6​: Или так Код​
​Doctorbol​ также можно приравнять​ же, первая точно​
​2. нет. (вернет​
​ например, выделите A1:B1,​Serge​ использую в массиве​ что и получается​ или сумм({1:2:3}).​ 1. НО! Т.к.​ формулой а*в, создающий​
​ рисунке ниже.​
​ Excel​ заключит ее в​ d = x3(0)​01.03.2011 Горская, 12​ =ЛЕВБ(ПРАВБ(A1;8);7)​: anvg​ к формулам массива,​ не ФМ, во​

​ одно число -​ введите ={1;2} и​: Прошли годы, теперь​ имена диапазонов. Но​
​ в ходе расчётов​С помощью «;»​ это простая формула,​ массив (набор) значений.​Нажмите​Подходы к редактированию формул​ фигурные скобки.​ x1 = Split(z(i,​ 2​

​AlexM​Это понятно. проблема​ т.к. они не​
​ второй — дополнительная​ номер строки, в​ нажмите Ctrl-Enter (означает​ я могу (спасибо​ есть несколько «но»:​ формулы еош(b1)+1. В​
​ вводятся горизонтальные(т е​ она обрабатывает не​В формуле массива​F9​ массива в Excel​Excel автоматически заключает формулу​
​ 1), «,») t1​01.03.2011 Горская, 12​: Код =ПСТР(A1;2;7)​ у меня в​ нуждаются в трехпальцевом​
​ работа с массивом,​ которой находится формула)​ ввод формулы в​ форумчанам) рассуждать что​
​ если можно обойтись​ этот раз ошибки​ строка) одномерные массивы.​ массив значений, а​ можно создать такой​.​

​Урок подготовлен для Вас​​ массива в фигурные​ = x1(0) x2​ 11​

​grekh​

​ том, чтобы сделать​​ вводе, но способны​

​ третья как ФМ​3. нет. (функция,​ группу ячеек), в​ такое «формула массива»​

​ обычными формула -​ нет, поэтому получается​С помощью «:»​
​ только первое значение​ набор, не применяя​
​Отлично! Элементы вертикального массива​ командой сайта office-guru.ru​ скобки. Если Вы​ = Split(t1) If​
​01.03.2011 Петухова, 6/1​:​ так, что размер​ обработать и вернуть​
​ бессмысленна.​ используемая в формуле​ A1 и в​ и что ей​ обходитесь, формулы массивов​

​ 0+1=1.​ вводятся вертикальные(т е​ массива(A1:A7) из условия​ дополнительные ячейки:​ констант разделяются точкой​Автор: Антон Андронов​

​ вставите скобки вручную,​​ t = x2(UBound(x2))​ 12​AleksSid​ скобки бы соответствовал​ массив. На мой​
​»формула массива» (ФМ)-​ — функция, работающая​ B1 будет записан​ не является ;-)​
​ медленнее обычных, а​Эксель так же​ столбца) одномерные массивы.​ ЕСЛИ. Формула не​СУММ(ЕСЛИ(а*в>х;с)) — перебирает​ с запятой (в​Автор: Антон Андронов​ Excel воспримет это​ And d =​01.03.2011 Петухова, 6/1​, ваша формула вернет​ выделенным строкам.​ взгляд это не​

​ официальное название формул,​
​ с массивом, но​ результат равный единице,​

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

​ англоязычной версии Excel)​Эта статья поможет разобраться,​ выражение как обычный​ x3(0) Then x​ 5​ирог яб​ikki​ правильно.​

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

​ массив.​

​ и в и​ или двоеточием (в​ как работают формулы​ текст.​ = Split(z(i, 1))​02.03.2011 пл. Маркса,​Svsh2015​:​Тот же​ скобками.​ одно число, значит,​ 1-го элемента массива.​1. {=A1}​ то расчет занимает​ группу ячеек. Если​ одномерный на двумерный:​Но если ввести​ при выполнении условия​ русифицированной версии Excel).​

​ массива в Excel.​​Обратите внимание, что все​
​ uuu2 = uuu2​ 4 8​: Пока ждала ответ,​

​Казанский​​=ИНДЕКС(массив;0) — это​»формула, работающая с​ формула в целом​3. Формула массива​2. =СТРОКА()​

​ порядочно времени, особенно​​ выделить диапазон a1:a3,​
​=сумм({1;2;3}*{1:2:3})=​
​ её как формулу​ запоминает в массиве​ Элементы горизонтального массива​ Помещённая в одну​ ячейки диапазона D2:D6​ + CDbl(x(UBound(x))) End​
​Svsh2015​

planetaexcel.ru

Объединение нескольких строк фигурной скобкой.

​ намудрила очень сложно,​​: Принцип такой, добавьте​
​ формула массива?​ массивом(обрабатывающая массив)» (ФОМ)​
​ НЕ является формулой​ {=1} — в​3. =СУММПРОИЗВ(—(A1:A5=1))​ если формула массивов​ вставить формулу =ЕОШ(B1:B2)+1​
​Сумм(​

​ массива​​ значение с, которые​
​ констант разделяются запятой​ ячейку формула массива​ содержат абсолютно одинаковое​ If Next End​: grekh,добрый вечер,yyy -это​ но скобка исчезла​ константы, чтобы получить​ZVI​ — (сам придумал)​ массива; да и​ A1 введите =1​4. {=СУММ(ЕСЛИ(—(A1:A5=1);1))}​

​ достаточно большая.В Уокенбаха​​ и нажать ctrl+shift+enter,​
​1 2 3​{=МИН(ЕСЛИ(A1:A7<>0;A1:A7))}​ потом суммируются.​ (в англоязычной версии​ выполняет сразу несколько​ выражение. Фигурные скобки,​

​ FunctionСогласна, не по​​ обычная пользовательская функция(UDF),такие​

​ Код =ПСТР(A4;ПОИСК(«[«;A4)+1;ПОИСК(«]»;A4)-ПОИСК(«[«;A4)-1) Сейчас​​ зазор между скобкой​: Вопросы терминологии часто​ формулы, в которых​ скобок красивых нету)​ и нажмите Ctrl-Shift-Enter.​
​5. {=ТРАНСП(A1:A5)}​ в книги «Подробное​ то эксель вернёт​2 4 6​то в таком​

​VovaK​​ Excel) или точкой​

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

​ Пользы от такой​​введённые в одну​ руководство по использованию​ 3 значения:​3 6 9​ случае формула последовательно​: Википедия:​ с запятой (в​
​Не прибегая к помощи​ заключено, говорят о​вот ссылка​ формул,​ формулам. Спасибо!​ ширину скобки.​Но чем проше​
​ происходит дополнительная обработка​ СУММ, используемая в​ формулы массива мало,​ ячейку.​

​ формул» есть целая​​2 значения, соответствующие​)=​ просмотрит каждое значение​Массив — Упорядоченный​ русифицированной версии Excel).​ формулы массива, нам​

​ том, что это​​Сложение ячеек в​лучше всего смотреть​;)​Золотой Стандарт в/ст​With Selection.Columns(1).Offset(, Selection.Columns.Count)​ и однозначнее формулировка,​ массивов или которые​ формуле — функция,​ потому что результатом​Что по-вашему из​

​ глава «Магия формул​​ формулам =еош(b1)+1 и​36​ из массива на​

planetaexcel.ru

Выбрать из текста только цифры в квадратных скобках

​ набор данных, для​​Урок подготовлен для Вас​ потребуется выполнить следующую​ формула массива.​ столбце при совпадении​
​ примеры на форуме,находятся​ ГОСТ Пломбир 15%​ ‘столбец справа от​ тем лучше.​ хранят в себе​ работающая с массивом,​ ячейки будет единица.​ этих формул является​ массивов» почитайте очень​ еош(b2)+1, и 1​В принципе, даже​
​ предмет выполнения условия​ хранения данных одного​

​ командой сайта office-guru.ru​​ последовательность действий, чтобы​​Если бы мы при​​ ячеек в двух​ такие функции в​ [3514771] это исходный​ выделения ActiveSheet.Shapes.AddShape msoShapeRightBrace,​

​В данном случае​​ массив данных.​ но массив для​

​4. Формула массива​​ Formula Array, а​

​ будет полезно​​ значение «#Н/Д», т​​ обычная сумм(a1:b2) суммирует​​ и выполнит необходимые​​ типа, идентифицируемых с​

​Источник: http://www.excel-easy.com/functions/array-formulas.html​​ определить максимальное развитие​ вводе формулы массива​ соседних столбцах​ стандартном модуле( например​ текст для преобразования.​ .Left, .Top, .Width,​
​ идентификация формулы массива​Поэтому, как для​ этой функции получен​ {={1;2}} — выделите​
​ что нет и​Serge​
​ е значение Не​
​ значения массива. Вводится​ вычисления, заданные в​
​ помощью одного или​Перевел: Антон Андронов​ в столбце​ выделили меньший диапазон,​Ребята, я не​

​ в файл -примере​​Проще не получается​ .Height End With​ очень простая и​ «конечного пользователя», работающего​
​ с помощью ЕСЛИ;​ A1:B1, введите ={1;2}​
​ почему?​: tarasso и vigor​ Доступно, т к​ enter’ом. Просто здесь​ этой формуле, так​ нескольких индексов. В​

​Автор: Антон Андронов​​Progress​ например, D2:D4, то​ смогу так быстро​ ,там ,где​

​ по вашим формулам​​Doctorbol​ однозначная, она четко​ с формулами:​ да и скобки​ и нажмите Ctrl-Shift-Enter.​Спасибо​ Вы дату топика​ «значений не хватает».​ экселю подсказывать, что​ как будто бы​ простейшем случае массив​Как прописать фигурные скобки​.​ она вернула бы​
​ разобраться в макросах.Мне​макрос help).Функцию yyy​Добавлено через 3 минуты​: , спасибо огромное.​ прописана в справке​1. {=A1} -​

​ есть)​​ В A1 будет​​ZVI​​ видели?​Аналогичная ситуация и​

​ это массив, не​​ мы последовательно для​

​ имеет постоянную длину​​ в эксель(там где​
​Первым делом мы рассчитаем​

​ нам только первые​​ нужно быстро и​ можно вырезать ,копировать,вводить​Код =ЛЕВБ(ПРАВБ(A1;8);7) Спасибо​Doctorbol​ Excel в разделе​ ФМ, но не​5. да. (формула​ записан первый элемент​: Эта терминология когда-то​Или вам лишь​ с двумерными массивами​
​ нужно.​ какждой строки в​
​ и хранит единицы​ функции прописываются)?​
​ развитие для каждого​ 3 результата:​
​ доступно в формулах.Вложила​ вручную.Набираете в ячейке,например=yyy,выскакивает​
​ большое!​: не могли бы​
​ [Формулы массива и​ ФОМ, хотя красивые​
​ вернула массив, а​ массива равный 1,​
​ здесь уже обсуждалось.​ бы постить?​
​ при вводе их​Касательно ввода enter’ом​

​ отдельном столбце вывели​​ данных одного и​Пётр московских​ студента.​А если больший диапазон,​
​ образецSvsh2015 попробовала =uuu​ меню,выбираете функцию,заносите в​По этой получилось!!!А​ еще подсказать​ константы массива]:​ скобки на месте:​
​ то, что вы​ а в B1​Формулой в Excel​Владимир​ в двумерный диапазон​ и ctrl+shift+enter’ом существует​ результат выполнения заданного​ того же типа.​
​: Скорее всего здесь​Затем при помощи функции​ то в «лишних»​
​ как вы указали​ скобки адрес ячейки,например​ то оооочень длинная​1. как ограничить​»Формула массива создается​
​ где массив? какой​ использовали из этого​ – второй элемент​ считается выражение, начинающееся​

​: Да ладно, Серёж,​​ ячеек.​ много нюансов, в​
​ условия ЕСЛИ и​Количество используемых индексов​ идет речь -​МАКС​ ячейках оказалось бы​ во вложенном файле-не​ A1,вручную или мышью,закрываете​ и не понятная​ чтобы код работало​ так же, как​

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

​В расчётах в​

​ том числе:​ уже по этим​ массива может быть​

​ как ввести формулу​(MAX) мы найдём​ значение​
​ получилось, к сожалению.​ правую скобку,если ее​ формула получилась до​ только для range(«F17:F36»)?​ и другие формулы,​2. =СТРОКА(), =СТРОКА(1:1)​ значение — это​Следует различать формулу​ «=»​ даже спустя годы..​ целом всё просто​сумм(a1:b2+1) В данной​ результатам определили минимальное​ различным. Массивы с​ массива.​ наибольшее значение в​#Н/Д​ Не умею я​ нет,затем Enter.​ этого​2. как очищать​ с той разницей,​ — не ФМ,​
​ ваши проблемы).​ массива и функции,​Исключение – выражение​ Интересно, что же​ и соответствует логике,​ формуле вначале к​ значение.​ одним индексом называют​(Если надо фигурные​ столбце​(нет данных):​ так. Что-то делаю​Почитайте про регулярные​AleksSid​ лист именно от​ что для ввода​ не ФОМ; =СТРОКА(1:5)​пс. чувствую, что​ работающие с массивом.​ в ячейке, имеющей​ это такое, -​ описанной в примере​ значению каждой ячейки​
​Serge​
​ одномерными, с двумя​ скобки как текст​Progress​Когда мы умножаем первый​
​ не так​ выражения,например «Регулярные выражения»Джеффри​: grekh,добрый вечер,попробуйте вытягивать​ этих автофигур?​ такой формулы используются​ — не ФМ,​ своё мнение по​Функции (любые) могут​ текстовый формат, которое​ массивы? Пишу формулы.​ формулы «сумм({1;2;3}*{1:2:3})», т​ прибавляется единица, потом​

CyberForum.ru

​: И ещё раз​

На чтение 3 мин Опубликовано 20.01.2015

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

Применение многоячеечной формулы массива

На рисунке ниже представлена таблица с наименованием товара, его ценой и количеством. В ячейках D2:D6 вычисляется общая стоимость каждого вида товара (с учетом количества).

Многоячеечная формула массива в Excel

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

  1. Выделите диапазон ячеек, где должны отображаться результаты. В нашем случае это диапазон D2:D6.Многоячеечная формула массива в Excel
  2. Как и при вводе любой формулы в Excel, первым делом необходимо ввести знак равенства.Многоячеечная формула массива в Excel
  3. Выделите первый массив значений. В нашем случае это диапазон с ценами товаров B2:B6.Многоячеечная формула массива в Excel
  4. Введите знак умножения и выделите второй массив значений. В нашем случае это диапазон с количеством товаров C2:C6.Многоячеечная формула массива в Excel
  5. Если бы мы вводили обычную формулу в Excel, то закончили бы ввод нажатием клавиши Enter. Но поскольку это формула массива, то нужно нажать комбинацию клавиш Ctrl+Shift+Enter. Этим мы укажем Excel, что это не обычная формула, а формула массива, и он автоматически заключит ее в фигурные скобки.Многоячеечная формула массива в Excel

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

  1. Обратите внимание, что все ячейки диапазона D2:D6 содержат абсолютно одинаковое выражение. Фигурные скобки, в которые оно заключено, говорят о том, что это формула массива.Многоячеечная формула массива в Excel
  2. Если бы мы при вводе формулы массива выделили меньший диапазон, например, D2:D4, то она вернула бы нам только первые 3 результата:Многоячеечная формула массива в Excel
  3. А если больший диапазон, то в «лишних» ячейках оказалось бы значение #Н/Д (нет данных):Многоячеечная формула массива в Excel

Когда мы умножаем первый массив на второй, перемножаются их соответствующие элементы (B2 с C2, B3 с C3, B4 с C4 и т.д.). В итоге образуется новый массив, который содержит результаты вычислений. Поэтому, чтобы получить корректный результат, размерности всех трех массивов должны быть соответствующими.

Преимущества многоячеечных формул массива

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

  1. Используя многоячеечную формулу массива, Вы на 100% уверены, что все формулы в рассчитываемом диапазоне введены правильно.
  2. Формула массива в большей степени защищена от случайного изменения, поскольку редактировать можно только весь массив в целом. Если Вы попробуете изменить часть массива, у Вас ничего не получится. Например, при попытке удалить формулу из ячейки D4, Excel выдаст следующее предупреждение:Многоячеечная формула массива в Excel
  3. Вы не сможете вставить новые строки или столбцы в диапазон, где введена формула массива. Чтобы вставить новую строку или столбец, придется заново перезадавать весь массив. Данный пункт можно рассматривать как преимущество, так и недостаток.

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

  • Знакомство с формулами массива в Excel
  • Одноячеечные формулы массива в Excel
  • Массивы констант в Excel
  • Редактирование формул массива в Excel
  • Применение формул массива в Excel
  • Подходы к редактированию формул массива в Excel

Оцените качество статьи. Нам важно ваше мнение:

Excel is among the most powerful and widely used spreadsheet tools which eases organizing numbers and data within the sheets with pre-built formulas and functions. In this article, we are going to study Array Formulas. Arrays are one of them. Using Excel Array Formulas, make it super easy to handle a lot of data. Before understanding and using the Array formulas, let’s first understand what is Array in Excel?

Array in Excel

An Array in Excel is the structure that holds a collection of data. These data can be in the form of numbers or texts. There could be an array of 1-D or 2-D as well in Excel. For example, the array of fruits in excel would be written something like this:-

{“Apple”, “Banana”, “Grapes”, “Guava”}

We can directly enter it into the sheet by selecting the cells where you want to enter the data and then writing the array preceded by an “=” sign.  After these press Ctrl+Shift+Enter. For example, let’s enter these values in cells A1 to D1.

Array-in-excel

The array created here is a horizontal array. You can also create a vertical array by changing the selected cells. You can create an array by specifying the starting and the ending positions, for example, if you wish to make an array of elements between A1 to F1 then you can write A1:F1. Now. let’s move to array formulas.

Array formulas

Array formulas enable to process of several values and give several outputs. In a simple world, it can do multiple calculations and reduce a lot of human efforts. In other words, we can say that it solves array calculations and give an array as output too. Let’s understand more of them with an example, of students with their test marks,

Sample-data

Here, we have used a formula to evaluate the result in the ‘Total’ field. For inserting the formula, click on the cell where you want to store the answer and write the formula. Now, let’s try to calculate the same for all students

Using-Array-formula

For calculating the total for all the students, select the field where you want to store them, now select the range, and insert the formula. Array formulas are available in every version of Excel, so you don’t worry about your excel version. There are hundreds of operations possible using array formulas, which we will discuss in this article later. But before proceeding let’s understand what is the need to use an array formula.

Why use an Array Formula?

Array formulas are to most powerful yet most easy-to-use calculation tools which could be used to perform complex calculations and take place of hundreds of formulas with a single formula. You can further specify conditions for the calculation of data. Not just calculations you can also count the chars in cells, add date, day, or time, and even pick random data. 

How to insert an Array Formula?

Before entering the Array formula fir of all we understand some important points about the Array formula:

  • After typing the formula you have to press keys CTRL+SHIFT+ENTER together. It will automatically change the normal formula into an array formula. 
  • If you manually type braces around the formula then it will not convert the formula into an array formula. You have to use CTRL+SHIFT+ENTER keys to convert the formula into an array formula.
  • Whenever you edit the array formula the braces will disappear automatically and you have to again press the combination of CTRL+SHIFT+ENTER keys.
  • If you forget to press the CTRL+SHIFT+ENTER keys then your formula will work as the normal formula.

Now let’s understand inserting an array formula.

Single Cell Array formula

Every array formula returns the result in either single or in multiple cells. So when an array formula returns its result in the single-cell then such type of formula is known as a single-cell array formula. Such types of formulas are SUM, AVERAGE, AGGREGATE, MAX, MIN, etc. Follow the following steps to use the single-cell array formula:

Step 1: Select the cell where you want to store the answer.

Step 2: Now go to the formula bar and write an “=” sign.

Step 3: Now to formulas (highlighted below), and select the operation you want to perform.

Single-cell-array

Step 4: Here we want to perform the sum operation. Click on sum and a new popup will open. Write the cells you want to perform the operation with.

Function-arguments

Multi-Cell Array Formula

If you wish to perform the same calculation with more cells then you can use the multi-cell formula. You can implement it in two ways. Functions like TRANSPOSE, TREND, FREQUENCY, LINEST, etc are used for the multi-cell arrays. Implement the formula in single-cell by following the above steps. Now, drag the selection up to the cells you want to implement the formula. Below is the implementation of doing that.

Multi-cell-array-formula

Alternatively,

Specify the range of cells and an operator between them. For example, =(B1:B7 + C2:C7) and press Ctrl+Shift+Enter. 

Operator-in-multi-cell

Excel Array Constants

Excel array contacts are a set of static values and can’t be changed. These values remain constant regardless of the operations performed on them. Now we will see how to create Array Constants in Excel and will perform different actions on them. There are three types of array constant available:

1. Horizontal or Row Array constant

A horizontal constant is present in a row. To create a horizontal constant we have to type multiple values separated by a comma in the enclosed braces. To enter a row array follow these steps below:

Step 1: Select the cells you want to work with.

Step 2: Go to the formula bar and start with an equal sign. 

Step 3: Now enter the array you want to create in braces {}, separated by commas(,). Ex:- ={1,2,3,4,5}

Step 4: Now press Ctrl+Shift+Enter.

Horizontal-or-Row-Array-constant

2. Vertical or Column Array

Vertical array constants are generally present in Column Array. To create a vertical constant we have to type multiple values separated by a semicolon in the enclosed braces. To enter a column array follow these steps below:

Step 1: Select the cells you want to work with.

step 2: Go to the formula bar and start with an equal sign. 

Step 3: Now enter the array you want to create in braces {} separated with termination sign(;). Ex:- ={“Coding”;”GFG”;”GeeksforGeeks”}

Step 4: Now press Ctrl+Shift+Enter.

 Vertical-or-Column-Array

3. 2-D array

In Excel, you are allowed to create a 2-D array. So to create a 2-D array constant, we have to type multiple values in which rows are separated by semicolons and d columns are separated by commas. Let’s understand the implementation of a 2-d array. 

Step 1: Select the cells you want to work with.

Step 2: Go to the formula bar and start with an equal sign. 

Step 3: Now enter the array you want to create in braces {} separated with commas(,) for entering the values in same row, termination sign(;) for row change. Ex:- ={1,2,3;”Coding”,”GFG”,”GeeksforGeeks”}

Step 4: Now press Ctrl+Shift+Enter.

Working with Constant arrays

In the Excel formula, array constants are the important part. Some of the important concepts of Array constant are:

1. Elements: To create elements of array constant we have to follow the following points:

  1. The elements of an array constant must be of numeric, alphabetic, boolean, or scientific notation and each of them is separated by commas or semicolons.
  2. The elements of an array constant do not contain an array, cell reference, dates functions formulas, defined names, etc.
  3. You can also be allowed to use text in the array of the element but the text is surrounded by hyphens(“”). 

2. Naming Array Constants: You can name any array and use them as a variable for further references. For naming an array, follow the steps below:

  1. Go to the formula tab. and select Define Name.
  2. Write the array name in the name. You can also add some comments related to your array.
  3. Click on OK.

3. Common Errors: Following are the common errors that will happen while working with array constants:

  1. The use of delimiters in between the elements.
  2. The selection of range is also an important point to remember. 

Unary Operator in Excel Array Formulas

Using unary operators we can process the array using AND and OR operators. 

  1. AND: It is denoted by an asterisk(*) symbol. It returns true if and only if all conditions are true, 
  2. OR: It is denoted by a plus(+) symbol. It returns true if any of the statement is true.

These operators are more useful when you have the same variable with a different value. For example, let’s consider a case, where data of 3 sellers of different months are given and you have to how much Shyam sold potatoes.

Using-and-operator

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

Ранее я уже посвятил несколько заметок использованию формул массива:

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

Предлагаю вашему вниманию посвященный массивам фрагмент книги Джона Уокенбаха. Подробное руководство по созданию формул в Excel 2002. – М.: Издательский дом «Вильямс», 2002. – 624 с.

Скачать заметку в формате Word, примеры в формате Excel

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

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

Формула массива, возвращающая несколько значений

Рис. 1 демонстрирует рабочий лист, на котором производится расчет объема продаж товаров. Для этого вычисляют значение в столбце D (объем продаж каждого товара), используя формулу =В2*С2, а затем копируют ее в расположенные ниже ячейки.

Рис. 1. Диапазон D2:D6 содержит традиционные формулы произведения (в ячейках D2 и D3 различные формулы, хотя и похожие)

После копирования этой формулы рабочий лист содержит пять формул в столбце D. Альтернативный путь вычислений – использование единой формулы (формулы массива) для вычисления всех пяти значений в диапазоне D2:D6. Эта единственная формула занимает пять ячеек и возвращает массив из пяти значений. Для создания единой формулы массива нужно произвести следующие операции:

  1. Выделить диапазон, в котором будет сохраняться результат вычислений. В данном случае это диапазон D2:D6.
  2. Ввести формулу: =В2:В6*С2:С6
  3. Обычно после введения формулы нажимается клавиша , но только не в случае формулы массива. Так как введенная формула является формулой массива, нажимается комбинация клавиш .

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

Рис. 2. Диапазон D2:D6 содержит формулу массива (в ячейках D2 и D3 одна и та же формула)

Excel заключил формулу в фигурные скобки. Это говорит о том, что данная формула является формулой массива.

Эта формула производит вычисления и возвращает массив из пяти элементов. В данном случае формула массива производит операции над двумя другими массивами, оба из которых хранятся в диапазонах ячеек. Значения первого массива хранятся в диапазоне В2:В6, а второго — в С2:С6. Для отображения итогового массива требуется пять ячеек, потому что в одной ячейке нельзя отобразить более чем одно значение. Этим объясняется, зачем нужно выделять пять ячеек перед введением формулы.

Конечно, эта формула массива возвращает точно такие же значения, что и пять формул, введенных в соответствующие ячейки диапазона D2:D6

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

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

Формула массива, возвращающая одно значение

Обратимся к рис. 3. Следующая формула массива размещается в одной ячейке – D8:

Рис. 3. Сумма произведений в виде формулы массива

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

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

Эта формула оперирует значениями, находящимися в двух массивах. Оба массива хранятся в ячейках. Первый – в диапазоне ячеек В2:В6, второй – C2:С6. Формула перемножает соответствующие значения в этих двух массивах и создает новый массив (который существует только в памяти компьютера). Функция СУММ выполняет операцию над этим новым массивом и возвращает значение суммы его элементов.

Создание массива констант

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

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

Формула =СУММ(<1;0;1;0;1>) использует функцию СУММ, аргументом которой является массив констант. Формула возвращает значение суммы элементов массива, равное 3. Отметим, что эта формула использует массив в качестве аргумента, но при этом не является формулой массива. Поэтому не нужно использовать клавиши для ввода формулы.

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

Пока, возможно, трудно заметить, какие-либо преимущества использования массивов констант. Действительно, формула =СУММ(1;0;1;0;1) возвращает точно такое же значение, как и =СУММ(<1;0;1;0;1>).

Очевидные преимущества становятся ясны при дальнейшем рассмотрении. Следующая формула использует два массива констант: =СУММ(<1;2;3;4>*<5;6;7;8>). Эта формула создает в памяти новый массив, который состоит из произведения соответствующих элементов двух других массивов: <5;12;21;32>. Созданный массив используется впоследствии в качестве аргумента для функции СУММ, которая возвращает результат вычислений (70). Формула эквивалентна следующей формуле, которая не использует массивы: =СУММ(1*5;2*6;3*7;4*8)

Можно составлять формулы массивов для разных типов массивов. Например, можно составить формулу, в которой будет одновременно использоваться массив констант и массив, элементы которого хранятся в диапазоне ячеек (рис. 4). Для подсчета суммы значений, которые являются произведением элементов массива в диапазоне Al:D1 и соответствующих элементов массива констант, применяется следующая формула: =<СУММ((A1:D1*<1;2;3;4>)>. Эта формула эквивалентна следующей: =СУММ(А1*1;В1*2;С1*3;D1*4)

Рис. 4. Сумма произведений массива рабочего листа и массива констант

Элементы массива констант

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

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

Понятие размерности массива

Массивы могут быть одномерными или двумерными. Ориентация одномерного массива может быть горизонтальной или вертикальной.

Одномерные горизонтальные массивы

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

Для отображения этого массива в диапазоне необходимо пять последовательных ячеек в строке. Чтобы ввести этот массив в диапазон, выделите диапазон ячеек, состоящий из одной строки и пяти столбцов. Затем введите: = <1;2;3;4;5>и нажмите (рис. 5).

Рис. 5. Одномерный горизонтальный массив.

Обратите внимание, внутренние фигурные скобки обозначают массив констант; внешние фигурные скобки – формулу массива. Если ввести этот массив в горизонтальный диапазон, состоящий более чем из пяти ячеек, то лишние ячейки будут содержать #Н/Д (что указывает на недопустимые значения). Если ввести этот массив в вертикальный диапазон ячеек, то в каждой ячейке диапазона появится первый элемент (1) массива.

Ниже приведен пример другого горизонтального массива. Он состоит из семи элементов и создает текстовую последовательность: < » Понедельник » ; » Вторник » ; » Среда » ; » Четверг » ; » Пятница » ; » Суббота » ; » Воскресенье » >. Для ввода этого массива выделите семь элементов в строке и введите следующий текст: =< » Понедельник » ; » Вторник » ; » Среда » ; » Четверг » , » Пятница » ; » Суббота » ; » Воскресенье » >. Нажмите .

Одномерные вертикальные массивы

Элементы в одномерном вертикальном массиве разделяются двоеточием (точкой с запятой в английской версии программы). Ниже приведен пример вертикального массива констант, состоящего из шести элементов: <10:20:30:40:50:60>. Для отображения этого массива в диапазоне необходимо шесть ячеек в столбце. Чтобы ввести этот массив в диапазон, выделите диапазон ячеек, состоящий из шести строк и одного столбца. Затем введите: = <10:20:30:40:50:60>и нажмите .

Ниже приведен пример другого вертикального массива, состоящего из четырех элементов:

Двумерные массивы

В двумерных массивах используются точки с запятыми (запятые в английской версии программы) для разделения горизонтальных элементов и двоеточия (точки с запятой в английской версии программы) для разделения вертикальных элементов. Ниже приведен пример массива констант размерностью 3×4: <1;2;3;4:5;6;7;8:9;10;11;12>. Для отображения этого массива в диапазоне требуется двенадцать ячеек. Чтобы ввести этот массив в диапазон, выделите диапазон ячеек, состоящий из трех строк и четырех столбцов. Затем введите следующую формулу = <1;2;3;4:5;6;7;8:9;10;11;12>после чего нажмите (рис. 6).

Рис. 6. Двумерный массив

Если ввести массив в диапазон, состоящий из большего числа ячеек, Ехсеl отобразит #Н/Д в лишних ячейках (рис. 7).

Рис. 7. Показано, что получится, если ввести массив 3×4 в диапазон ячеек 10×5.

Каждая строчка двумерного массива должна содержать одинаковое количество элементов. Например, представленный ниже массив недопустимый, потому что его третья строка состоит только из трех элементов; <1;2;3;4:5;6;7;8:9;10;11>. Excel не даст возможности ввести формулу, в которой присутствует недопустимый формат массива.

Присвоение имени массивам констант

Excel позволяет создать массив констант, присвоить ему имя и затем использовать это имя в формулах. Фактически присвоение имени массиву заключается в присвоении имени формуле (рис. 8). Пройдите по меню: Формулы – Диспетчер имен.

Рис. 8. Показано, как присвоить имя массиву, используя диалоговое окно Создание имени.

Массиву присвоено имя ДеньНедели, которое соответствует следующему массиву констант: < » Понедельник » ; » Вторник » ; » Среда » ; » Четверг » ; » Пятница » ; » Суббота » ; » Воскресенье » >. Отметим, что в диалоговом окне Создание имени для задания массива необходимо использовать знак равенства (=) перед массивом констант. В противном случае массив будет воспринят как текстовая строка. Также необходимо самостоятельно взять элементы массива в фигурные скобки. Excel в этом случае не вводит скобки автоматически. После присвоения имени массиву, его имя можно использовать в формулах (рис. 9).

Рис. 9. Ввод поименованного массива в диапазон Al:G1

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

Рис. 10. Ввод горизонтального массива в вертикальный диапазон

При использовании функции Excel ИНДЕКС можно получить доступ к отдельному элементу массива. Например, ниже приведенная формула возвращает значение «Четверг», четвертого элемента массива ДеньНедели: =ИНДЕКС(ДеньНедели;4)

Пример как работать с формулой массива в таблице Excel

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

На этапе создания формула (или также функция) сама по себе не является ни формулой массива, ни обычной формулой. Это вы определяете, как 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) будет использоваться везде, где вы хотите, чтобы функция, которая обычно работает с отдельными значениями (ячейками), внезапно повела себя иначе и приняла в качестве аргумента и вернула в качестве результата массив значений (таблицу). Вернемся к уже упомянутой функции ЕСЛИ. В качестве аргумента она принимает логическое значение ИСТИНА или ЛОЖЬ. В классической форме:

Если значение в ячейке A1 больше нуля, в качестве аргумента функция получит значение ИСТИНА и в качестве результата вернет текстовую строку «больше». Однако, если бы вы хотели проверить несколько ячеек сразу и передать результат такой проверки другой функции, вы должны были бы использовать вышеуказанную формулу как формулу массива. Для этого при вводе нажмем сочитание клавиш CTRL+SHIFT+Enter, а не как обычно (просто Enter):

В качестве аргумента функция принимает целый диапазон $A$1:$A$4. В результате проверки каждой ячейки диапазона в памяти компьютера создается таблица значений в массиве. Схематически таблицу можно отобразить так:

А так выглядят эти значения в массиве:

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

Тоже самое что и:

Затем создается другая таблица, значения которой зависят непосредственно от значений в первой таблице. Если элемент в первом массиве имеет значение ИСТИНА, во втором массиве он примет значение «больше». Если он имеет значение ЛОЖЬ, элемент во второй таблице примет значение «меньше». После этой операции первая таблица удаляется из памяти компьютера, и в конечном счете, функция возвращает массив <«больше», «меньше», «больше», «больше»>. Схематически вторую таблицу можно отобразить так:

Так же ее можно прочитать функцией:

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

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

Примеры как использовать формулу массива в Excel

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

Разумеется, массив, возвращаемый функцией ЕСЛИ, может передаваться далее на «обработку» в качестве аргумента для другой функции.

Пример. Представим, что вы хотели бы найти сумму ячеек B7:B10, но только тех, которые имеют значение больше нуля. Конечно же, вы можете использовать функцию СУММЕСЛИ, однако в нашем примере мы хотим сделать это только с помощью формулы массива. Суммируя значения ячеек нашего диапазона, необходимо будет как-то избавиться от значения «-32». Функции СУММ необходимо передать массив, в котором содержатся только значения больше нуля. Везде там, где значение меньше нуля, мы заменяем его на ноль, что, конечно же, не повлияет на результат. Как вы уже знаете, временную таблицу с соответствующими значениями вы можете получить, используя функцию ЕСЛИ. В конечном итоге соответствующая формула будет выглядеть так:

0;$A$1:$A$4;0))’ class=’formula’>

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

То есть, созданный в памяти компьютера массив:

Пример 4: Просто перейдите на ячейку с формулой B1 и выберите инструмент «ФОРМУЛЫ»-«Зависимости формул»-«Вычислить формулу»

После чего нажмите на кнопку «Вычислить»:

В результате ссылка на диапазон ячеек в аргументе вложенной функции ЕСЛИ разложилась на массив значений. Снова нажмите на кнопку «Вычислить»:

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

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

Формула массива в Excel

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

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

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

Массив в Excel – это однородные данные, размещенные в нескольких ячейках столбца или строки или области. Данные, размещенные в ячейках одной строки или одного столбца – это одномерный массив. Данные, размещенные в нескольких строках и столбцах, то есть в таблице – это двумерный массив.

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

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

Формула массива вводится в ячейку после знака =, как и обычная формула, но если окончание ввода простой формулы подтверждается нажатием на клавишу Enter, то для окончания ввода формулы массива необходимо последовательно нажать на три клавиши – Ctrl+Shift+Enter. (Клавишу + нажимать не нужно, следует удерживать нажатыми предыдущие клавиши до момента нажатия на последнюю кнопку!)

Формула массива примет вид: .

Не стоит пробовать ввести фигурные скобки вручную напрямую с помощью клавиатуры. Для того чтобы программа Excel «поняла», что вы хотите ввести формулу массива нужно нажать на три вышеперечисленные клавиши!

Аргументами функций ФОРМУЛЫ могут быть как одиночные ячейки, так и диапазоны ячеек – все, как и в обычных формулах.

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

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

Ряд важных функций в Excel работают только с массивами и выводят результаты в массив. Это функции ЛИНЕЙН() ЛГРФПРИБЛ(), ТЕНДЕНЦИЯ() и другие.

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

Пример использования формул массивов для выборочного суммирования.

Требуется выборочно быстро найти и просуммировать некоторые значения из большой таблицы MS Excel.

Например, из обширной базы поставок изделий необходимо извлечь информацию о количестве и стоимости поставленных компании ООО «Оберон» изделий «Блок-СМ15».

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

1. Скопировать из таблицы «База поставок изделий» название фирмы-заказчика и вставить, например,

в ячейку B2: ООО «Оберон»

2. Скопировать название изделия и вставить

в ячейку B3: Блок-СМ15

3. Ввести формулу массива для подсчета количества изделий

4. Ввести формулу массива для подсчета общей стоимости поставленных изделий

в ячейку B5: <=СУММ((A9:A27=B2)*(B9:B27=B3)*E9:E27)>=420 000,00

Как работают формулы?

Формула в ячейке B4 суммирует построчно произведения: Σ( ai * bi * ci ).

Формула в ячейке B5 суммирует построчно произведения: Σ( ai * bi * ei ).

Если в строке диапазона A9:A27 Excel находит значение равное значению в ячейке B2, то ai =1. Если находит значение не равное значению в ячейке B2, то ai =0. Аналогично присваиваются значения bi . Значения ci и ei просто берутся построчно из ячеек указанных диапазонов.

Поставленную задачу можно решить и другим способом: при помощи объявления таблицы «База поставок изделий» списком, последовательного применения автофильтров к столбцам A и B и добавлением строки итогов.

Спектр задач, решаемых при помощи формул массивов.

Ниже приведен внушительный перечень задач, подробно рассмотренных в главе Применение формул массивов книги «Формулы в Excel 2013» Джона Уокенбаха. Изучив эти примеры и начав их использование на практике, можно серьезно повысить эффективность своей работы в Excel.

1. Суммирование в диапазоне, содержащем ошибки.

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

3. Суммирование n наибольших значений в диапазоне.

4. Вычисление среднего без учета нулевых значений.

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

6. Подсчет отличающихся значений в двух диапазонах.

7. Местоположение максимального значения диапазона.

8. Поиск номера строки, в которой находится n-е значение, совпадающее с заданным.

9. Получение самого длинного текста в диапазоне.

10. Определение допустимых значений диапазона.

11. Вычисление суммы цифр числа.

12. Суммирование округленных значений.

13. Суммирование каждого n-го значения в массиве.

14. Удаление нечисловых символов из текстовой строки.

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

16. Получение последнего значения в столбце.

17. Получение последнего значения в строке.

18. Извлечение положительных значений из диапазона.

19. Извлечение непустых ячеек из диапазона.

20. Изменение порядка следования элементов в диапазоне на противоположный.

21. Динамическая сортировка значений диапазона.

22. Возвращение списка уникальных значений диапазона.

23. Отображение календаря в диапазоне.

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

Комментарии пишите пожалуйста в блоке внизу страницы.

Формулы массива в MS EXCEL. Знакомство

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

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

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

В отличие от ввода обычных формул, после ввода формулы массива нужно нажать вместо ENTER комбинацию клавиш CTRL+SHIFT+ENTER (поэтому, иногда, формулы массива также называются формулами CSE — это первые буквы от названия клавиш, используемых для ввода Ctrl, Shift, Enter). После этого формула будет обрамлена в фигурные скобки < >(их не вводят с клавиатуры, они автоматически появляются после нажатия 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 необязательно.

Ссылки на статьи о формулах массива на сайте Microsoft:

2. Основы формул массива (на английском) из книги авторов Colin Wilcox и John Walkenbach

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

Что такое формула массива

Если Вы довольно много работаете в Excel то наверняка уже слышали выражение «формула массива«. Так же его часто можно встретить на форумах и сайтах, посвященных Excel. Но не все знают что это такое и тем более, как пользоваться. Главное это не путать формулы массива с функциями для работы с массивами и функциями для работы с базами данных. Итак, не буду затягивать.
Большинство уже наверняка знакомо с функцией СУММ (SUMM) . Она суммирует значения в заданных диапазонах ячеек. Теперь рассмотрим поближе. Запишем в ячейки А1:А5 числа от одного до пяти. В ячейке В1 запишем функцию: =СУММ(A1:A5) . Получим сумму этих чисел — 15. Все просто и понятно. И вроде бы — функция уже работает с массивами — ведь группа ячеек А1:А5 по сути уже массив ячеек. Но это не формула массива. А теперь изменим функцию на такую: =СУММ(A1:A5+1) . Что я хочу получить от такой функции? Чтобы суммировались значения ячеек А1:А5, но с прибавлением к каждому аргументу 1. Ввожу функцию и. Результат будет 2. Явно что-то не так. Верно, ведь при такой записи Excel произведет сложение ячейки А1 и 1. Все дело в том, что напрямую Excel не понимает, что необходимо производить подобные операции с массивами. Ему надо явно указать, что мы хотим это сделать и результат вернуть в одну ячейку. Чтобы ему указать это, надо при вводе функции нажать не Enter, как мы привыкли, а целую комбинацию клавиш — Ctrl+Shift+Enter. Т.е. записали функцию в ячейку и не жмем Enter, чтобы завершить ввод, а жмем Ctrl+Shift+Enter. Функция при таком вводе будет заключена в фигурные скобки — < =СУММ(A1:A5+1) > . Если Вы после ввода их увидели — значит все сделано верно и формула массива введена правильно. И результат будет 20.

Важно: не надо пытаться ввести фигурные скобки вручную с клавиатуры -результатом будет лишь текст в ячейке <=СУММ(A1:A5+1)>и ни о какой формуле и суммировании речи быть уже не может.

Что же происходит внутри функции в этот момент? Все очень просто. Мы в ячейки А1:А5 ввели поочередно цифры от 1 до 5. Т.е. получили: 1, 2, 3, 4, 5. В сумме они дают 15. Я разложу на слагаемые: =СУММ(1;2;3;4;5) . Теперь мы изменили функцию и ввели её как формулу массива: <=СУММ(A1:A5+1)>. И внутри происходит сначала прибавление к каждому числу 1, а затем сложение уже измененных аргументов: =СУММ(1+1;2+1;3+1;4+1;5+1) ⇒ =СУММ(2;3;4;5;6)

Рассмотрим еще один пример, когда формула массива может решить задачу непосильную стандартной формуле(да еще и в одной ячейке без доп.столбцов). Необходимо получить минимальное значение из массива чисел: 0;1;5;5;9;0;6;2;6;3
Применив обычную формулу =МИН(A1:A10) мы получим нуль. Что будет верным. Но если нам как раз нуль учитывать не надо? Мы можем ввести такую формулу:
=МИН(ЕСЛИ(A1:A10<>0;A1:A10)) Казалось бы условие задано верно и мы должны получить нужный результат, т.е. 1. Но! Т.к. это простая формула, она обрабатывает не массив значений, а только первое значение массива(A1:A10) из условия ЕСЛИ, т.е. только А1. Сама по себе функция ЕСЛИ не станет работать с массивом значений в данном случае. Это означает, что формула не просматривает весь заданный массив. Но если ввести её как формулу массива
<=МИН(ЕСЛИ(A1:A10<>0;A1:A10))> то в таком случае формула последовательно просмотрит каждое значение из массива на предмет выполнения условия и выполнит необходимые вычисления, заданные в этой формуле, так как будто бы мы последовательно для каждой строки в отдельном столбце вывели результат выполнения заданного условия ЕСЛИ и уже по этим результатам определили минимальное значение. И результат формулы будет — 1.

Так же формула массива может вернуть несколько значений. Очень наглядно это демонстрирует функция ТРАНСП (TRANSPOSE) . Функция преобразовывает вертикальный массив в горизонтальный и наоборот. Массив может быть многомерным. Как работает функция(на примере исходного диапазона A1:C10 ):

  • выделяете диапазон ячеек( D1:M3 ), равный по количеству ячеек исходному диапазону значений( A1:C10 ), которые необходимо транспонировать;
  • вписываете функцию ТРАНСП;
  • в качестве аргумента указываете ссылку на исходный диапазон значений: =ТРАНСП( A1:C10 ) ;
  • завершаете ввод функции сочетанием клавиш Ctrl+Shift+Enter.

В диапазоне D1:M3 получите транспонированную таблицу. При написании функции следует учитывать, что число строк в диапазоне функции( D1:M3 ) должно быть равно числу столбцов в исходном диапазоне( A1:C10 ), а число столбцов — числу строк. Если указать меньше — не все значения будут транспонированы. Если больше — то все лишние ячейки будут заполнены значениями #Н/Д

Какие особенности подобного применения функций массива:

  • во всех ячейках формула отображается совершенно одинаково, даже если ссылки на ячейки относительные. Это не должно вас пугать — так надо;
  • ячейки диапазона, в который подобным образом введена формула массива нельзя изменять по отдельности — только все вместе. В противном случае просто получите сообщение «Нельзя изменять часть массива!». Бывает очень удобно иногда в целях защиты формул от изменений.

Итак, что самое важное надо запомнить для использования формул массива:

  • ввод формулы завершается сочетанием клавиш Ctrl+Shift+Enter;
  • Если формулу массива записать сразу в несколько ячеек, то формула будет одна для всех ячеек и вернет для каждой ячейки свой результат

Статья помогла? Поделись ссылкой с друзьями!

Понравилась статья? Поделить с друзьями:
  • Excel массив в одной ячейке
  • Excel массивы поиск значений
  • Excel маска поиска файла
  • Excel массивы найти все
  • Excel маска для числа