И Эксел, и Гугл Таблицы зарекомендовали себя как два мощных табличных редактора. Разработчики обеих программ предусмотрели множество функций и инструментов, при помощи которых пользователь реализовывает свои задумки. Одной из полезных «фишек», встроенных в эти редакторы, является формула массива. Но далеко не все пользователи программ знакомы с этим полезным инструментом.
Формула массива: что это и для чего нужно
Массивы данных представляют собой генеральную совокупность величин, которые были объединены в цельную группу.
Формула суммы массива присутствует и в Эксел, и в Гугл Таблицах. Это формулы -инструменты для работы с составляющими массива.
Использование этой функции в обоих редакторах преследует следующие цели:
- пересчет количества символов в выбранном диапазоне;
- сложить определенные показатели, соответствующие заданным условиям. В этом случае результат выполнения формулы массива представляет собой, к примеру, сумму минимальных или самых больших в массиве чисел;
- сложить числа, находящиеся в конкретном табличном диапазоне.
Ввести и заполнить значение массива по формуле можно только при нажатии «Ctrl», «Enter» и «Shift» одновременно. Пользователь сразу увидит фигурные скобки, в которые нужно вводить данные. При этом нельзя ввести этот символ вручную, с клавиатуры. Он не будет распознан программами как формула.
Типы и состав формул в Экселе
В программу Эксель встроено четыре базовых формата формул. Это арифметический, текстовый, сравнительный оператор, а также оператор ссылок. По своему составу экселевские формулы, в том числе и для массива, включают в себя три «комплектующих» — это символ «Равно», непосредственно оператор (один из четырех доступных) и синтаксис нужной функции.
Функции, входящие в состав экселевских формул, могут складывать, вычитать, перемножать числа. Помимо арифметических расчетов, они могут выполнять задачи по форматированию и оформлению, поиску, замене символов, округлению и т. д.
Если пользователь откорректирует исходные значения формулы, Эксель автоматически произведет перерасчет результата. Это актуально и для формул массивов.
Типы и состав формул в Гугл Таблицах
В Гугл Таблицах – облачном табличном сервисе – формулы могут быть простыми и комплексными. Первая группа состоит из постоянных величин, ссылок и оператора. Вторая группа формул может быть более широкой по составу: содержать сразу несколько функций, постоянных величин, операторов и т. д.
Постоянные величины – это показатели, имеющие фиксированное значение. К примеру, какая-либо цифра. Оператором в Гугл Таблицах называется непосредственно символ, выражающий тип операции – знак вычитания, знак умножения и т. п. Ссылки в Гугл Sheets могут быть относительными, абсолютными и комбинированными (смешанными).
В Гугл Таблице пользователь также может задать наименование табличному диапазону. Это упрощает вычислительные операции. Функции в сервисе от Гугл аналогичны Экселю.
Как ввести формулу массива
Формула массива в Excel может быть двух разновидностей:
- Первая категория – формулы, исполняющие множество вычислений ради одного ответа.
- Вторая категория – формулы, исполняющие множество вычислений.
В первом случае ввод формулы осуществляется по следующему алгоритму:
- Выбирается табличная ячейка, в которую надо ввести формулу.
- Вводится соответствующая формула. В случае массивов синтаксис точно такой же, как и при стандартных функциях. В начале текста всегда проставляется символ «Равно».
- Нажимается «Ввод» (клавиша на клавиатуре – «Enter»).
Во втором случае ввод производится по похожей схеме:
- Пользователь выбирает диапазон табличных ячеек, куда будет вводиться формула.
- Вводится синтаксис. В самом начале также проставляется равенство.
- Нажимается «Ввод».
В некоторых версиях Экселя для активации формулы нужно зажать другую комбинацию кнопок на клавиатуре – «Ctrl», «Enter», «Shift».
Формула массива в Гугл таблицах
ArrayFormula в Гугл Sheets – это прямой аналог рассматриваемой формулы массива в Эксел. Формула вычисления массива в облачных Гугл Таблицах, по аналогии с Экселем, начинается с символа «Равно».
Ее работу можно описать на конкретном примере. Допустим, перед пользователем находится таблица, содержащая несколько тысяч строк. При этом она постоянно обновляется и расширяется. Ему необходимо искать соответствия в этих сведениях. ArrayFormula в этом случае преобразует и объединит эти несколько сотен тысяч формул. В результате получится одна, которая на автомате будет обновляться при расширении.
Формула массива может иметь два разных формата. Так, формула, отраженная в формате «1; 2», считается «вертикальной». Единица – элемент, расположенный сверху, двойка – элемент нижний. Формат «1/2» — «горизонтальный», т. е. обе цифры – это правый и левый элемент соответственно.
Как быстро овладеть формулами массива в Эксел
Формула массива в Экселе – удобный инструмент, облегчающий исполнение необходимых расчетов и операций с набором цифровых данных. Массивы могут быть одномерными, двухмерными и даже трехмерными. А индекс массива – это элемент, указывающий на конкретную его составляющую. Сам Excel является мощнейшим табличным процессором, который пригодится и в работе, и дома.
О том, как упростить и ускорить работу в Excel и Google Таблицах, можно говорить долго. Но гораздо удобнее и эффективнее записаться на уроки Эксель онлайн. Дистанционный формат их прохождения представляется наиболее комфортным в современном ритме жизни. Емкая теоретическая часть и углубленная практика дадут гораздо больше результатов, чем чтение нудных сложных лекций.
Использование формул массива при решении стандартных и продвинутых задач – одна из рассматриваемых на курсе тематик. Обучение специально поделено на несколько обособленных модулей, что позволяет погрузиться в каждую тему глубже.
Сайт использует куки-файлы, чтобы включить основные функции веб-сайта, предложить вам лучший опыт, анализировать трафик и обслуживать целевую рекламу. Для получения дополнительной информации о файлах cookie, см. Нашу политику конфиденциальности
#Руководства
- 25 июл 2022
-
0
Как с помощью массивов ускорить расчёты в таблицах с тысячами значений? Как поменять местами столбцы и строки? Разбираемся на примерах.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Часто новичкам в Excel кажется, что массивы — это высший пилотаж в работе с таблицами. На деле всё гораздо проще.
Массивы в Excel — это данные из двух и более смежных ячеек таблицы, которые используют в расчётах как единую группу, одновременно. Массивом может быть одна строка или столбец, несколько строк или столбцов и даже целые таблицы.
Операции с массивами — не основная функциональность Excel, но они делают работу с большими диапазонами значений удобнее и быстрее. С помощью массивов можно проводить расчёты не поочерёдно с каждой ячейкой диапазона, а со всем диапазоном одновременно. Или создать формулу, которая выполнит сразу несколько действий с любым количеством ячеек.
В статье разберёмся:
- какие виды массивов есть в Excel;
- что такое формула массива и как она работает.
Подробно покажем на примерах, как выполнить четыре базовые операции с помощью формул массивов и операторов Excel:
- построчно перемножить значения двух столбцов;
- умножить одно значение сразу на весь столбец;
- выполнить два действия одной формулой;
- поменять местами положение столбцов и строк таблицы.
В конце расскажем, как создать формулу массива в «Google Таблицах».
Массивы в Excel бывают одномерными и двумерными.
В одномерных массивах все данные расположены в одной строке или в одном столбце. В зависимости от этого их делят на горизонтальные и вертикальные.
Скриншот: Excel / Skillbox Media
Скриншот: Excel / Skillbox Media
В двумерных массивах данные расположены сразу в нескольких столбцах и строках. Такие массивы могут образовывать целые таблицы, а иногда занимают даже несколько листов.
Скриншот: Excel / Skillbox Media
Работа с массивами в Excel похожа на стандартную работу с одиночными ячейками. Отличие в том, что расчёты и операции проводят одновременно для всех значений диапазонов, а не для одного. Для этого используют формулы массивов.
Формула массива — формула, где в качестве входящих параметров используют диапазоны значений, а не одиночные ячейки. Диапазоны значений обозначаются через двоеточие :. Например, A1:A10 или А1:В10.
С формулами массива можно выполнить несколько математических действий одновременно. Например, чтобы перемножить значения двух столбцов и затем суммировать полученные числа, понадобится одна формула массива и одно действие.
В целом формулы массивов работают так же, как и обычные формулы. В них можно использовать любые математические действия.
Формулы массивов можно использовать как для одной ячейки, так и для нескольких одновременно. Например, можно посчитать в одной ячейке сумму значений из нескольких столбцов. Такая формула массива называется одноячеечной. Или можно перемножить значения двух столбцов построчно, а результат вывести в третий. Формула массива будет называться многоячеечной.
В следующих разделах покажем четыре примера, как создавать и использовать формулы массивов.
Допустим, нужно рассчитать смету устройства фундаментов. У нас есть перечень необходимых работ, их объёмы и цена единиц измерения объёмов.
Скриншот: Excel / Skillbox Media
Определим стоимость каждой работы.
Можно пойти классическим путём — перемножить первые ячейки столбцов «Количество» и «Цена ед., руб.», а затем растянуть результат вниз на все остальные виды работ. Но если видов будет несколько сотен или тысяч, этот вариант может быть неудобен.
Формула массивов выведет результаты одновременно для всего диапазона — никаких дополнительных действий выполнять не потребуется. Рассмотрим, как это сделать.
Шаг 1. Выделяем столбец, в котором хотим получить результат расчёта, — в нашем случае это диапазон E2:E9. В строке ссылок вводим знак равенства.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем первый массив, который участвует в расчётах, — все значения столбца «Количество». Одновременно с этим в строке ссылок появляется выбранный диапазон: B2:B9.
Скриншот: Excel / Skillbox Media
Шаг 3. Ставим знак умножения в строке ссылок и выбираем второй массив — все значения столбца «Цена ед., руб.».
Строка ссылок принимает вид: fx=B2:B9*D2:D9. Это значит, что значения первого массива должны умножиться на значения второго массива.
Скриншот: Excel / Skillbox Media
Шаг 4. Нажимаем Enter — в столбце «Стоимость, руб.» появляется результат расчёта. Так, в один клик, формула сработала сразу для всех строк.
Скриншот: Excel / Skillbox Media
По такому же принципу можно проводить разные арифметические вычисления для одного массива.
Допустим, для нашей сметы нужно рассчитать дополнительные расходы, составляющие долю в общей стоимости работ.
Скриншот: Excel / Skillbox Media
Как и в первом случае, можно перемножить первую ячейку столбца «Доля от стоимости работ» и ячейку с общей стоимостью работ. Затем растянуть результат вниз на все остальные расходы. А можно, для удобства и ускорения процесса, воспользоваться формулой массивов. Она позволит одним действием посчитать сумму всех расходов.
Шаг 1. Выделяем столбец для результата расчёта: С13:С16. В строке ссылок вводим знак равенства.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем массив, который участвует в расчётах, — все значения столбца «Доля от стоимости работ». В формуле строки ссылок появляется выбранный диапазон: B13:B16. Добавляем к нему знак умножения и выбираем ячейку с общей стоимостью работ: E10.
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter. Во всём столбце «Стоимость, руб.» появляются результаты расчётов.
Скриншот: Excel / Skillbox Media
Вернёмся к нашему первому примеру со сметой. Там мы рассчитывали стоимость каждой работы отдельно. Общую стоимость работ в этом случае было проще определить путём сложения всех полученных значений.
Скриншот: Excel / Skillbox Media
Предположим, нам нужно получить общую стоимость устройства фундаментов одним действием, а стоимость каждой работы отдельно при этом не важна.
Для этого воспользуемся формулой массивов и оператором СУММ. Они выполнят одновременно два математических действия: перемножат столбцы и суммируют полученные результаты.
Шаг 1. Выделяем ячейку, в которой хотим получить результат расчёта. В строке ссылок вводим знак равенства и оператор СУММ и открываем скобку.
Скриншот: Excel / Skillbox Media
Шаг 2. По аналогии с алгоритмом из предыдущего раздела, выделяем первый массив — значения столбца «Количество» и второй массив — значения столбца «Цена ед., руб.». Ставим между ними знак умножения и закрываем скобку.
Строка ссылок принимает вид: fx=СУММ(B2:B9*D2:D9). Это значит, что значения первого массива должны перемножиться со значениями второго массива, а все полученные результаты — суммироваться.
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter. В выбранной ячейке появляется результат расчёта. Формула рассчитала одновременно два действия: перемножила значения ячеек двух массивов и суммировала полученные результаты.
Скриншот: Excel / Skillbox Media
По такой же схеме в формулах массивов можно использовать и другие функции Excel. Отличие от их классического применения будет в том, что аргументами будут не отдельные ячейки, а массивы таких ячеек.
Иногда при работе в Excel нужно поменять положение столбцов или строк — транспортировать их. Например, перевести шапку таблицы из горизонтального положения в вертикальное. Делать это вручную долго — особенно, когда ячеек очень много. Ускорить процесс помогут массивы и оператор ТРАНСП:
Шаг 1. Выделяем ячейку, в которой хотим получить результат операции. В строке ссылок вводим знак равенства и оператор ТРАНСП и открываем скобку.
Скриншот: Excel / Skillbox Media
Шаг 2. Выделяем шапку таблицы и закрываем скобку. Строка ссылок принимает вид: fx=ТРАНСП(A1:E1).
Скриншот: Excel / Skillbox Media
Шаг 3. Нажимаем Enter — функция меняет положение шапки таблицы на вертикальное.
Скриншот: Excel / Skillbox Media
Как создать формулу массива в «Google Таблицах»? Всё точно так же, как в Excel, но нужно добавить оператор ARRAYFORMULA. Его ставят перед всей формулой массива в строке ссылок. Например, если вы хотите перемножить данные в двух столбцах, формула в готовом виде будет выглядеть так:
fx=ARRAYFORMULA(B2:B9*D2:D9).
Скриншот: Google Таблицы / Skillbox Media
Другие материалы Skillbox Media по Excel
- Как сделать сводные таблицы в Excel — детальная инструкция со скриншотами
- Руководство: как сделать ВПР в Excel и перенести данные из одной таблицы в другую
- Руководство по макросам для новичков — для чего нужны и как их сделать
- Инструкция: как закреплять строки и столбцы в Excel
- Руководство по созданию выпадающих списков в Excel — как упростить заполнение таблицы повторяющимися данными
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Пример из практики. Понадобилось разобрать вот такие строки из 0 и 1, что на фото 1 в ячейке A2.
Это кусочки BMP, что, впрочем, неважно.
Каждая последовательность длиной 4 байта, т.е. 32 бит. Нужно было извлечь из таких последовательностей серии единиц и измерить длину этих серий.
Для данного примера нужно было получить на выходе 1 2 1 2 7.
Можно было начать с распределения символов по столбцам, использовав штатную Экселевскую приблуду Данные/Текст по столбцам. Однако, это требует ручной установки 31 разделителя, что, конечно же, влом. Хотелось, чтобы было так: загрузил на лист кучку байт и сразу получил результат.
Поэтому пришлось нагородить набор костыликов.
В ячейке B2 избавился от лишних нулей формулой СЖПРОБЕЛЫ. Предварительно пришлось нули заменить на пробелы формулой ПОДСТАВИТЬ, а после сжатия вернуть их на место этой же формулой.
В C2 заехал 0. Это чисто служебный нолик, для дальнейшего копирования формул вправо и вниз.
В D2 — формула (видна на фото 2).
Находит позицию первого нуля. В E2 — второго и т.д. Как видим, в сжатой последовательности (B2) первый ноль — в позиции 2, второй — в 5-й, третий — в 7-й и 4-й ноль — в 10-й. В последовательности всего 4 нуля, и поэтому в H2 отобразилась бы ошибка #ЗНАЧ, если бы не обработка этой ошибки формулой ЕСЛИОШИБКА. Она заменяет #ЗНАЧ на 99. «Почему 99?» — вы можете спросить. Это число нам понадобится в дальнейших расчетах, терпение.
Переходим к фото 3.
Здесь в ячейках AK2:AZ2 собираются в кучку серии единиц. Фактически это аналог того самого Текст по столбцам.
Формула ПСТР выводит в ячейку определённое количество символов из B2, начиная с заданной позиции. Эта позиция определяется позицией найденного на предыдущем шаге нуля плюс 1. Количество символов для вывода вычисляется как разность позиций соседних найденных нулей минус 1.
Формула обернута в другую, обрабатывающую ошибку и заменяющую её пустотой («»).
На фото 4 видно, как подсчитывается количество единиц в каждой серии.
Для этого использована формула ДЛСТР (ячейка BB). Как видите, она тоже не одна в поле воин. Ей помогает формула ЕСЛИ, подавляющая нули.
ОК, глянем на фото 5 — там монстр.
Формула СЦЕПИТЬ не умеет соединять значения из диапазона ячеек, поэтому пришлось вручную тыкать в ячейки, чтоб задать адреса, и вводить & и » «. Копипаст, конечно, облегчил это дело, но всё равно неприятно.
Также задействовал формулу СЖПРОБЕЛЫ, чтобы осталось только по одному пробелу между сериями единиц.
Ну, ладно, в итоге после всех этих манипуляций в ячейке BR2 появились заветные 1 2 1 2 7.
Вы можете спросить: «А при чём здесь Таблицы Гугл?». А при том, что в них вот это вот всё делается одной формулой:
=ARRAYFORMULA(JOIN(» «,LEN(SPLIT(A1;«0»))))
Вполне возможно, что представленный выше алгоритм не оптимален для решения этой задачи, и кто-то подскажет более короткий путь. Более того, буду очень признателен, если кто-то покажет, что и в Excel можно решить её одной формулой. Но мне кое-что непонятно.
Почему в Таблицах Гугл есть формула SPLIT, а в Excel приходится городить огород с ПСТР?
Текст по столбцам не беру в расчёт, потому что там юзер должен кучу кнопок нажимать для получения результата.
Почему в Таблицах Гугл есть формула JOIN, а в Excel СЦЕПИТЬ не умеет работать с диапазоном, а также не позволяет задать унивесальный соединитель?
Почему в Excel только три формулы для работы с массивами, а в Таблицах Гугл достаточно в одной ячейке обернуть предыдущие вычисления в функцию ARRAYFORMULA, и результаты будут выведены в массив ячеек? Кроме того, она позволяет использовать массивы в функциях, не предназначенных для этого.
Будет когда-нибудь в Excel аналог ARRAYFORMULA?
Люблю и Excel (давно), и Таблицы Гугл (недавно), и от несовершенства могучего старичка больно.
Есть ли способ использовать функцию Arrayformula, используемую в таблицах Google в Excel?
Например:
A B
1 | 23
2 | 45
3 | 56
Если я напишу в b1 = Arrayformula (A1: A3 * 2)
Я получу
A B
1 | 23 | 46
2 | 45 | 90
3 | 56 | 112
Как я могу получить тот же результат в Excel 2007, используя 1 формулу (без перетаскивания / копирования / двойного щелчка)
Впереди спасибо!
3 ответа
Лучший ответ
Выберите диапазон, в котором вы хотите получить ответы.
В вашем примере выберите диапазон "B1:B3"
Тип =A1:A3*2
Теперь уловка заключается в том, чтобы нажать Ctrl + Shift + Enter
вместо Enter
.
PS: Ctrl + Shift + Enter делает формулу как формулу массива
0
Vasim
7 Май 2015 в 08:50
Не формула массива, но может быть хорошим решением — поместите данные в таблицу в Excel, выбрав ее и нажав Ctrl
+ L
(Excel изменит размер таблицы, чтобы заполнить ячейки данными).
Затем введите формулу в столбец справа, таблица расширится, чтобы включить ее, и формула будет повторяться для каждой строки в таблице.
Если вы добавите дополнительную строку, формула также будет обновлена автоматически.
(Я хотел бы отметить, что вам нужен Excel 2006+, чтобы иметь эту функцию, это одна из моих любимых)
0
CaptainNemo
7 Май 2015 в 22:04
Просто выделите диапазон B1: B3 и введите формулу
=A1:A3*2
За которым следует Ctrl Shift Enter
Обратите внимание, что формула будет «заблокирована» для B1: B3, и вы не сможете изменить отдельную ячейку в диапазоне, не изменив другие ячейки.
0
Tom Sharpe
7 Май 2015 в 08:56
I’ve got Google form survey data I’d like to analyse. In my example doc,
Sheet 1 contains the survey responses and sheet 2 references the data in sheet 1. Sheet 2 is where I am using this array formula under the column called Behaviour:
=ArrayFormula(if(len(A3:A),if(Sheet1!Question3="Yes","Excluded ",)&if(Sheet1!Question5="Yes","Arrested ",)&if(Sheet1!Question6="Yes","Alcohol ",)))
The issue is that I need to be able to download this Google spreadsheet as a Microsoft Excel doc but whenever I do that, of course the Google spreadsheet =ArrayFormula() function is not supported in Microsoft Excel.
My question is how could I replicate this array function’s behaviour using another method in Google spreadsheet so that I get the same result when it’s downloaded to Microsoft Excel?
What I’ve been able to find in the forum so far are questions on how you can manually copy formulas to multiple rows in Excel. The trouble with these methods are that the user has to do it by either clicking and dragging the bottom right-hand corner of the cell or by using shortcuts. I’d like my process to work so that the user doesn’t have to manually do anything.
Many thanks in advance.
Терминология
Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице 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
- Массивы в Excel
- Отличие массивов от диапазонов в Excel
- Размерность массивов
- Виды массивов
- Методы создания массивов
- Массив констант, созданный вручную
- Именованный массив констант
- С помощью функций
- С помощью математических операторов
- С помощью операторов сравнения
- С помощью других массивов
- С помощью комбинаций указанных методов
- Вывод массива на лист
- Взаимодействие функций Excel с массивами
- Формулы массива – примеры формул
Формулы массива – загадочная и, казалось бы, сложнейшая сущность в Excel. Но на практике все очень просто, нужно только понять принцип их работы и рассмотреть несколько примеров.
Не знаю, новичок вы в Excel или уже опытный пользователь, но коль судьба привела вас на эту страницу, в ходе прочтения вы:
- узнаете все о формулах массива;
- увидите множество примеров таких формул;
- сможете начать активно их применять на практике.
Поехали!
Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.
Будьте на 100% уверены: если формула
- принимает массив на вход,
- создает его как промежуточную сущность
- или выводит как результат вычислений
– это формула массива.
Слишком очевидно и все еще непонятно? Не беда – читаем далее.
На деле, прежде, чем говорить о формулах массива, нужно упомянуть сами массивы и их отличие от диапазонов. Т.к. многие не до конца понимают разницу.
Массивы в Excel
Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.
Отличие массивов от диапазонов в Excel
В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.
Между ячейками диапазона можно вставить дополнительные столбцы и строки, сделав его длиннее и шире, а ссылка на такой диапазон изменится автоматически.
Содержимое диапазона также можно свободно сортировать, если в нем нет объединенных ячеек.
Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.
При попытке изменения порядка элементов массива Excel выдаст ошибку. К сожалению, она не очень информативна и не сообщает, какой массив или массивы имеются в виду. Текст ошибки:
Нельзя изменить часть массива.
Размерность массивов
Как массивы, так и диапазоны в Excel могут быть одномерными (вектор), двумерными (таблица) и трехмерными (многослойная таблица).
Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.
Трехмерные массивы – довольно редко используемая на практике сущность.
Виды массивов
По типам элементов в них:
По типу данных –
- числовой массив (массив чисел)
- строковый массив (текстовые значения)
- булевый массив (значения ИСТИНА-ЛОЖЬ)
- смешанного типа
По изменяемости элементов –
- массив констант,
- вычисляемый массив
Методы создания массивов
Создать массив в Excel можно множеством способов. Ниже – подробнее с примерами. Все перечисленные выражения в них являются формулами массива, даже если не содержат в себе функций.
Массив констант, созданный вручную
Одномерные и двумерные массивы констант можно создавать вручную и сразу выводить на лист безо всяких дополнительных операций над ними.
При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.
Двумерные массивы вводятся построчно, т.е. сначала первая строка через точку с запятой, далее двоеточие, вторая строка через точку с запятой, и так далее.
Именованный массив констант
Если приходится один и тот же набор сущностей использовать часто в формулах, его можно сохранить в книге как именованный массив.
Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.
Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.
С помощью функций
Указанные выше методы создания массивов довольно редки на практике. Чаще всего массивы создаются автоматически при обращении различных функций к диапазонам в Excel.
Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.
На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:
Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.
С помощью математических операторов
Достаточно применить любую из математических операций к диапазону – и будет создан массив, аналогичный по размерам.
С помощью операторов сравнения
Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.
С помощью других массивов
В двух предыдущих примерах массивы создавались на основе взаимодействия диапазона ячеек и некой константы.
Но можно создать массив и по принципу наоборот – на основе одной ячейки, произведя ее взаимодействие (операторами или функциями) с массивом констант.
Размер результирующего массива в таком случае будет аналогичен размеру массива констант.
Еще раз обратите внимание на разделители строк и столбцов в массивах. Столбцы разделяются точкой с запятой, строки – двоеточием.
С помощью комбинаций указанных методов
Как вы уже догадались, возможности фантазии безграничны – можно строить какие угодно комбинации перечисленных выше методов, производя операции над массивами и диапазонами.
Вывод массива на лист
Для корректного вывода массива на лист нужно выделить диапазон ячеек эквивалентной размерности и размера, использовать метод создания массива (вручную или формулой), и нажать
Ctrl+Shift+Enter
Если выделить недостаточное количество ячеек – будут выведены не все элементы массива, а только те, что соответствуют по порядку.
Если выделить избыточное количество – лишние ячейки выдадут ошибку #Н/Д.
На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.
Взаимодействие функций Excel с массивами
Как мы уже выяснили чуть ранее, некоторые функции могут создавать массивы, если их применить к диапазону ячеек. Они обычно обращаются к одной ячейке, и таких функций в Excel большинство.
Однако, есть ряд функций, называемых агрегирующими. Если им на вход подается диапазон или массив, они возвращают единственное результирующее значение. Самая популярная – функция СУММ. Но есть и множество других.
Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.
Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.
Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.
Ну и особняком можно выделить функции поиска. Их нельзя в полной мере назвать агрегирующими, но их взаимодействие с массивами весьма похоже. Ведь они тоже:
- учитывают весь массив
- выводят одно значение
ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.
Формулы массива – примеры формул
Ну что ж, теперь, когда основной понятийный аппарат рассмотрен, приступим к практическому этапу. Я покажу на нескольких задачках из реальной жизни, как их решать, используя комбинации функций и массивов, которые они создают и обсчитывают.
Приступаем к практическим шагам:
Учимся формулам массива 1/4:
Как создать алфавит в Excel