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 автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Этот тип формулы позволяет упростить модель листа благодаря замене нескольких отдельных формул.
-
Щелкните ячейку, в которую нужно ввести формулу массива.
-
Введите необходимую формулу.
В формулах массива используется синтаксис обычных формул. Все они начинаются со знака равенства (=), и вы можете использовать любую из встроенных функций Excel в формулах массива.
Например, эта формула вычисляет общее значение массива цен на акции и общих папок и помещает результат в ячейку рядом с «Итоговая стоимость».
Формула сначала умножает общие папки (ячейки B2 – F2) на их цены (ячейки B3 – F3), а затем добавляет эти результаты, чтобы создать общий итог в 35 525. Это пример формулы массива с одной ячейкой, так как она находится только в одной ячейке.
-
Нажмите клавишу ВВОД (если у вас есть текущая Microsoft 365 подписки); в противном случае нажмите клавиши CTRL+SHIFT+ВВОД.
При нажатии клавиш CTRL+SHIFT+ВВОД Excel автоматически вставляет формулу между { } (пара открывающих и закрывающих фигурных скобок).
Примечание: Если у вас есть текущая версия Microsoft 365, можно просто ввести формулу в левую верхнюю ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Чтобы вычислить несколько результатов с помощью формулы массива, введите массив в диапазон ячеек с одинаковым количеством строк и столбцов, которые будут использоваться в аргументах массива.
-
Выделите диапазон ячеек, в который нужно ввести формулу массива.
-
Введите необходимую формулу.
В формулах массива используется синтаксис обычных формул. Все они начинаются со знака равенства (=), и вы можете использовать любую из встроенных функций Excel в формулах массива.
В следующем примере формула многократно использует общие ресурсы по цене в каждом столбце, а формула находится в выделенных ячейках в строке 5.
-
Нажмите клавишу ВВОД (если у вас есть текущая 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 |
Создание формулы массива с несколькими ячейками
-
В образце книги выделите ячейки E2–E11. Эти ячейки будут содержать результаты.
Перед вводом формулы всегда выделите ячейку или ячейки, которые будут содержать результаты.
И всегда это означает 100 процентов времени.
-
Введите эту формулу. Чтобы ввести его в ячейку, просто начните вводить текст (нажмите знак равенства), и формула появится в последней выбранной ячейке. Вы также можете ввести формулу в строке формул:
=C2:C11*D2:D11
-
Нажмите клавиши CTRL+SHIFT+ВВОД.
Создание формулы массива с одной ячейкой
-
В образце книги щелкните ячейку B13.
-
Введите эту формулу с помощью любого из методов из шага 2 выше:
=СУММ(C2:C11*D2:D11)
-
Нажмите клавиши 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 при желании можно найти один или несколько таких массивов:
Формулы массива в Excel — это специальные формулы для обработки данных из таких массивов. Формулы массива делятся на две категории — те, что возвращают одно значение и те, что дают на выходе целый набор (массив) значений. Рассмотрим их на простых примерах…
Пример 1. Классика жанра — товарный чек
Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:
- выделяем ячейку С7
- вводим с клавиатуры =СУММ(
- выделяем диапазон B2:B5
- вводим знак умножения (звездочка)
- выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:
- чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter
Вуаля!
Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.
Обратите внимание на фигурные скобки, появившиеся в формуле — отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно — они автоматически появляются при нажатии Ctrl + Shift + Enter.
Пример 2. Разрешите Вас… транспонировать?
При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.
Допустим, имеем двумерный массив ячеек, который хотим транспонировать.
- Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
- вводим функцию транспонирования =ТРАНСП(
- в качестве аргумента функции выделяем наш массив ячеек A1:B8
жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:
Редактирование формулы массива
Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.
Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.
Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)
Пример 3. Таблица умножения
Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:
При помощи формул массива она вся делается в одно движение:
- выделяем диапазон B2:K11
- вводим формулу =A2:A11*B1:K1
- жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива
и получаем результат:
Пример 4. Выборочное суммирование
Посмотрите как при помощи одной формулы массива красиво и легко выбираются данные по определенному товару и заказчику:
В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.
Ссылки по теме
- Формула массива для извлечения непустых ячеек из диапазона
- Формула массива для извлечения уникальных ячеек из диапазона
- Формула массива для извлечения данных из списка (многоразовый ВПР)
Многоячеечные формулы массива в Excel
Смотрите также Фридл,2015. произвольное количество цифрКазанский клавиши CTRL+SHIFT+ENTER» но ФОМ (или п.4 пояснил паршиво, входить в формулу, не является формулой, Если выдаёт #ЗНАЧ, е операции проводятся значения суммируются. Ввод спасибо!!! — двумерными и
Применение многоячеечной формулы массива
— то без. массив на второй,В данном уроке мыВариант функции zzz из квадратных скобок: 1. Что ВыИ всё.
часть ФОМ); но мнения это но они не даже если начинается то автоматом, особо над каждой ячейкой. должен осуществляться черезСейчас для меня т. д. Одномерный
- проблем, только безНам не нужно использовать перемножаются их соответствующие познакомимся с многоячеечной
- в E1 без функцией yyy имеете в видуОстальные же формулировки3. =СУММПРОИЗВ(—(A1:A5=1)) -
- не меняет. являются формулой. со знака «=». не задумываясь, -
- Думаю, для начала ctrl+shift+enter. это инфа к массив нестрого соответствует всяких кавычек) вспомогательный диапазон в
- элементы (B2 с формулой массива, разберем регуляркиПро UDF,например,Джон Уокенбах,2014,с.278″в ячейке C1 — выделение в являются личными мнениями, не ФМ, ноviktturНапример, часто, ноФормула может включать Ctrl+Shift+Enter. Если что-то работы с массивамисуммпроизв(a1:b2+1), который делает размышлению, но по-моему вектору в математике,Если надо ввести столбце C2, B3 с
наглядный пример ее Excel2013 Профессиональное программирование в файл- примере этом диапазоне или основанными на, в ФОМ (внутри функция: Владимир четко описал
- не всегда, вместо функции, операторы (сложения, появилось, то перепроверяю этих знаний более по сути то я на верном двумерный — матрице. формулу как формулу
- D C3, B4 с применения в Excel, на VBA»)Function yyy(t$) With скобки в этом принципе, правильных представлениях
- с обработкой массива терминологию (кстати, не формулы массива может вычитания и т.п.) пару позиций вручную.. чем достаточно.
же самое, вводится, пути, пример The_Prist Чаще всего применяются массива, то выделите. Excel может хранить C4 и т.д.). а также отметимКод Function zzz(t$) CreateObject(«VBScript.RegExp»): .Pattern = диапазоне? Лучше приложите о внутреннем механизме данных); помню, чтобы в быть использована функция
Преимущества многоячеечных формул массива
и прочую лабуду Но я доSerge однако, enter’ом. даже не поверг массивы с одним вместе с вычисленной
- данные в своей В итоге образуется некоторые особенности использования. zzz = Split(Split(t, «[(d+)]» If .test(t)
- пример. обработки внутри формулы,4. {=СУММ(ЕСЛИ(—(A1:A5=1);1))} - предыдущих обсуждениях было СУММПРОИЗВ(), внутри которой (числа, текст, массивы, сих пор не: Как строгий, носумм({1;2;3}*{1:2: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+ВВОД.
- констант. корректный результат, размерности сначала обратиться к
- : добавлю,ответ на #13,функцияgrekh от п.1), можно формулы массива -5. {=ТРАНСП(A1:A5)} - против! :) формула при этом
С формулой массива
формулой массива являетсяSergede-tochka со временем сами с трудом пока, крайне редко.Юрий шпекторовМы уже знаем, что всех трех массивов уроку, где описаны
- uuu в C1: Вопрос не увидел! удалять автофигуры данного всегда массив, а и ФМ, и
- Возможно, игра понятий, по определению не любая формула, ввод: Да пусть говорят!: спасибо огромное! :) поймёте, какие случаи но я честноВ высшей математике: Вопрос не понятен. определить прогресс первого должны быть соответствующими. базовые принципы работыFunction uuu#(r As Почему то решил,
- типа из данного не просто (скалярное) ФОМ (хоть и
жонглирование терминами и является формулой массива, которой завершен одновременнымТолько не надо всем-всем являются исключением из пока НИ РАЗУ — матрица. Для возможного ответа
студента нам поможет
- Использовать в Excel единую с ними. Range) Dim x, что нужно избавиться диапазона. значение. В Excel в одной ячейке, проч. (с моей
- её результат будет нажатием Ctrl-Shift-Enter. Результатом советовать >> спустяtarasso правила «производишь вычисления формулами массива неSerge — более подробно
Клавиша F9
формула, показанная на многоячеечную формулу массиваНа рисунке ниже представлена z, i&: z
- только от скобок.А можно присваивать не существует другого но хранит в
- стороны). тоже скалярным значением, формулы массива может
почти три года: Яркий пример массивов над несколькими значениями->нажимай пользовался…: Всем огромное спасибо, в email рисунке ниже. в большинстве случаев таблица с наименованием = r.Value ForAleksSid этим автофигурам определенные
способа для выдачи себе массив данных).
Наверное, формулы массива
а не массивом.
быть один или
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}.
(матриц) с единичными выделив их. Для
то эту тему — вычисление определителя,Что происходит? Эксель
К примеру, 1The_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: , отлично, все пальцев, а =A14. Формула массива, нет их. Для {={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) x2Svsh2015 Епрошу подсказать как что ввели её объяснения Владимира пришло как формула массива,Примеры формул:Я понял что математические) значения в одно и более векторов.) из массива чисел: может человеческим языком хранится в памяти столбец, придется зановоВведите знак умножения и = 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, 4grekh фигуры для левой массива от функций, обеих формулах (функция формулах я ничего будет не массив, формулами массива ;-)Очень удобно обращаться введении их в же произведением каких-либо формулу:
столбце, если в массива можно использоватьОдноячеечные формулы массива в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 For01.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/1AleksSid Успехов. ПРОСМОТР и ЧАСТОТА один и тот красивые есть) с несколькими элементами,
массива. сильная штука.Очень часто то же значение,К примеру, сумм({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 массива в ExcelExcel автоматически заключает формулу
1), «,») t101.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)) 12AleksSid скобки бы соответствовал массив. На мой
»формула массива» (ФМ)- — функция, работающая 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 введите =14. {=СУММ(ЕСЛИ(—(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 вычисляется общая стоимость каждого вида товара (с учетом количества).
В данном примере диапазон D2:D6 содержит пять формул. Многоячеечная формула массива позволяет вычислить тот же самый результат, используя одну единственную формулу. Чтобы воспользоваться формулой массива выполните следующие действия:
- Выделите диапазон ячеек, где должны отображаться результаты. В нашем случае это диапазон D2:D6.
- Как и при вводе любой формулы в Excel, первым делом необходимо ввести знак равенства.
- Выделите первый массив значений. В нашем случае это диапазон с ценами товаров B2:B6.
- Введите знак умножения и выделите второй массив значений. В нашем случае это диапазон с количеством товаров C2:C6.
- Если бы мы вводили обычную формулу в Excel, то закончили бы ввод нажатием клавиши Enter. Но поскольку это формула массива, то нужно нажать комбинацию клавиш Ctrl+Shift+Enter. Этим мы укажем Excel, что это не обычная формула, а формула массива, и он автоматически заключит ее в фигурные скобки.
Excel автоматически заключает формулу массива в фигурные скобки. Если Вы вставите скобки вручную, Excel воспримет это выражение как обычный текст.
- Обратите внимание, что все ячейки диапазона D2:D6 содержат абсолютно одинаковое выражение. Фигурные скобки, в которые оно заключено, говорят о том, что это формула массива.
- Если бы мы при вводе формулы массива выделили меньший диапазон, например, D2:D4, то она вернула бы нам только первые 3 результата:
- А если больший диапазон, то в «лишних» ячейках оказалось бы значение #Н/Д (нет данных):
Когда мы умножаем первый массив на второй, перемножаются их соответствующие элементы (B2 с C2, B3 с C3, B4 с C4 и т.д.). В итоге образуется новый массив, который содержит результаты вычислений. Поэтому, чтобы получить корректный результат, размерности всех трех массивов должны быть соответствующими.
Преимущества многоячеечных формул массива
Использовать в Excel единую многоячеечную формулу массива в большинстве случаев предпочтительнее, чем несколько отдельных формул. Рассмотрим основные преимущества, которые она предлагает:
- Используя многоячеечную формулу массива, Вы на 100% уверены, что все формулы в рассчитываемом диапазоне введены правильно.
- Формула массива в большей степени защищена от случайного изменения, поскольку редактировать можно только весь массив в целом. Если Вы попробуете изменить часть массива, у Вас ничего не получится. Например, при попытке удалить формулу из ячейки D4, Excel выдаст следующее предупреждение:
- Вы не сможете вставить новые строки или столбцы в диапазон, где введена формула массива. Чтобы вставить новую строку или столбец, придется заново перезадавать весь массив. Данный пункт можно рассматривать как преимущество, так и недостаток.
Итак, в данном уроке Вы познакомились с многоячеечными формулами массивов и разобрали небольшой пример. Если желаете получить еще больше информации о массивах в 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.
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,
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
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.
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.
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.
Alternatively,
Specify the range of cells and an operator between them. For example, =(B1:B7 + C2:C7) and press Ctrl+Shift+Enter.
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.
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.
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:
- 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.
- The elements of an array constant do not contain an array, cell reference, dates functions formulas, defined names, etc.
- 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:
- Go to the formula tab. and select Define Name.
- Write the array name in the name. You can also add some comments related to your array.
- Click on OK.
3. Common Errors: Following are the common errors that will happen while working with array constants:
- The use of delimiters in between the elements.
- 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.
- AND: It is denoted by an asterisk(*) symbol. It returns true if and only if all conditions are true,
- 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.
Excel. Введение в формулы массива
Ранее я уже посвятил несколько заметок использованию формул массива:
Полученные комментарии подсказали мне, что пользователи не часто используют формулы массива. Более того мало кто знаком с ними.
Предлагаю вашему вниманию посвященный массивам фрагмент книги Джона Уокенбаха. Подробное руководство по созданию формул в Excel 2002. – М.: Издательский дом «Вильямс», 2002. – 624 с.
Скачать заметку в формате Word, примеры в формате Excel
В Excel массивы могут быть одномерными (их еще называют векторами) или двумерными (матрицы). Размерность массива зависит от количества строк и столбцов в нем. Например, одномерный массив может храниться в диапазоне, состоящем из одной строки (горизонтальный массив) или столбце (вертикальный массив). Двумерный массив хранится в прямоугольном диапазоне ячеек. Excel (в отличие от языка программирования VBA) не поддерживает трехмерные массивы.
Однако, как будет показано далее, массивы вовсе не обязательно хранить в ячейках. Можно производить операции над массивами, которые существуют только в памяти Excel. Можно применять формулы массива для выполнения операций и получения результатов вычислений. Сама формула массива может находиться во многих ячейках или в одной единственной. Существует два вида формул массива: формула массива, которая возвращает несколько значений, и другая, которая возвращает только одно значение.
Формула массива, возвращающая несколько значений
Рис. 1 демонстрирует рабочий лист, на котором производится расчет объема продаж товаров. Для этого вычисляют значение в столбце D (объем продаж каждого товара), используя формулу =В2*С2, а затем копируют ее в расположенные ниже ячейки.
Рис. 1. Диапазон D2:D6 содержит традиционные формулы произведения (в ячейках D2 и D3 различные формулы, хотя и похожие)
После копирования этой формулы рабочий лист содержит пять формул в столбце D. Альтернативный путь вычислений – использование единой формулы (формулы массива) для вычисления всех пяти значений в диапазоне D2:D6. Эта единственная формула занимает пять ячеек и возвращает массив из пяти значений. Для создания единой формулы массива нужно произвести следующие операции:
- Выделить диапазон, в котором будет сохраняться результат вычислений. В данном случае это диапазон D2:D6.
- Ввести формулу: =В2:В6*С2:С6
- Обычно после введения формулы нажимается клавиша , но только не в случае формулы массива. Так как введенная формула является формулой массива, нажимается комбинация клавиш .
Формула добавляется во все пять выделенных ячеек (рис. 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;
- Если формулу массива записать сразу в несколько ячеек, то формула будет одна для всех ячеек и вернет для каждой ячейки свой результат
Статья помогла? Поделись ссылкой с друзьями!