Работа с массивами в excel полезные функции
Массив функций Excel позволяет решать сложные задачи в автоматическом режиме одновременно. Те, которые выполнить посредством обычных функций невозможно.
Фактически это группа функций, которые одновременно обрабатывают группу данных и сразу выдают результат. Рассмотрим подробно работу с массивами функций в Excel.
Виды массивов функций Excel
Массив – данные, объединенные в группу. В данном случае группой является массив функций в Excel. Любую таблицу, которую мы составим и заполним в Excel, можно назвать массивом. Пример:
В зависимости от расположения элементов различают массивы:
- одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
- двумерные (НЕСКОЛЬКО строк и столбцов, матрица).
Одномерные массивы бывают:
- горизонтальными (данные – в строке);
- вертикальными (данные – в столбце).
Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).
Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.
С помощью формул массива реально:
- подсчитать количество знаков в определенном диапазоне;
- суммировать только те числа, которые соответствуют заданному условию;
- суммировать все n-ные значения в определенном диапазоне.
Когда мы используем формулы массива, Excel видит диапазон значений не как отдельные ячейки, а как единый блок данных.
Синтаксис формулы массива
Используем формулу массива с диапазоном ячеек и с отдельной ячейкой. В первом случае найдем промежуточные итоги для столбца «К оплате». Во втором – итоговую сумму коммунальных платежей.
- Выделяем диапазон Е3:Е8.
- В строку формул вводим следующую формулу: =C3:C8*D3:D8.
- Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:
Формула после нажатия Ctrl + Shift + Enter оказалась в фигурных скобках. Она подставилась автоматически в каждую ячейку выделенного диапазона.
Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:
Рассмотрим другие примеры использования функций массива Excel – рассчитаем итоговую сумму коммунальных платежей с помощью одной формулы.
- Выделяем ячейку Е9 (напротив «Итого»).
- Вводим формулу вида: =СУММ(C3:C8*D3:D8).
- Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:
Формула массива в данном случае заменила две простые формулы. Это сокращенный вариант, вместивший всю необходимую информацию для решения сложной задачи.
Аргументы для функции – одномерные массивы. Формула просматривает каждый из них по отдельности, совершает заданные пользователем операции и генерирует единый результат.
Рассмотрим ее синтаксис:
Функции работы с массивами Excel
Предположим, в следующем месяце планируется увеличение коммунальных платежей на 10%. Если мы введем обычную формулу для итога =СУММ((C3:C8*D3:D8)+10%), то вряд ли получим ожидаемый результат. Нам нужно, чтобы каждый аргумент увеличился на 10%. Чтобы программа поняла это, мы используем функцию как массив.
- Посмотрим, как работает оператор «И» в функции массива. Нам нужно узнать, сколько мы платим за воду, горячую и холодную. Функция: . Итого – 346 руб.
- Функция «Сортировки» в формуле массива. Отсортируем суммы к оплате в порядке возрастания. Для списка отсортированных данных создадим диапазон. Выделим его. В строке формул вводим . Жмем сочетание Ctrl + Shift + Enter.
- Транспонированная матрица. Специальная функция Excel для работы с двумерными массивами. Функция «ТРАНСП» возвращает сразу несколько значений. Преобразует горизонтальную матрицу в вертикальную и наоборот. Выделяем диапазон ячеек, где количество строк = числу столбцов в таблице с исходными данными. А количество столбцов = числу строк в исходном массиве. Вводим формулу: . Получается «перевернутый» массив данных.
- Поиск среднего значения без учета нулей. Если мы воспользуемся стандартной функцией «СРЗНАЧ», то получим в результате «0». И это будет правильно. Поэтому вставляем в формулу дополнительное условие: . Получаем:
Скачать примеры массива функций
Распространенная ошибка при работе с массивами функций – НЕ нажатие кодового сочетания «Ctrl + Shift + Enter» (никогда не забывайте эту комбинацию клавиш). Это самое главное, что нужно запомнить при обработке больших объемов информации. Правильно введенная функция выполняет сложнейшие задачи.
Источник
В Экселе есть замечательный инструмент, который называется формулой массива. Он позволяет выполнять действия не с отдельными значениями, а с целыми массивами данных, что значительно расширяет возможности Excel.
Пример применения формулы массива
Наиболее простой задачей, которой можно проиллюстрировать мощь формулы массива, является простой товарный чек. То есть у нас есть наименование товаров, их количество и цена за единицу. На выходе мы должны получить общую сумму покупки.
Товарный чек
Как бы мы решали данную задачу стандартным образом?
Во-первых, мы бы получили итоговую сумму по каждому товару, перемножив количество товара на его цену.
Подсчет суммы заказа
Ну а затем просуммировали бы получение суммы, для получения итоговой. То есть нам бы потребовался дополнительный столбец для промежуточных вычислений.
Расчет общей суммы покупки
Ту же самую задачу можно решить с помощью простейшей формулы массива.
Нам нужно получить сумму, поэтому воспользуемся соответствующей функцией СУММ. А вот суммировать мы должны произведение цены товара на его количество, что мы и сделаем — выбираем диапазон значений из столица B и умножаем его на аналогичный диапазон значений столбца C.
Формула массива
Если сейчас нажать Enter, то появится ошибка.
Ошибка при нажатии Enter
Так как мы в формуле использовали диапазоны (массивы) данных, то и формула должна быть формулой массива. Для этого нужно нажать сочетание клавиш Ctrl + Shift + Enterи получим результат.
Формула массива
Что произошло и как работает формула массива? Это важно понять, так как в дальнейшем можно будет применять формулы массива для решения намного более заковыристых задач…
Итак, при вычислении формулы массива Excel произвел попарное умножение значений диапазонов B2:B5 и C2:C5. В результате получился массив значений который был просуммирован соответствующей функцией. Мы получили только одно значение итоговой суммы без вспомогательных вычислений.
Обратите внимание на формулу в строке формул. Она заключена в фигурные скобки, которые указывают нам, что мы имеем дело с формулой массива.
Скобки формулы массива
Это не текстовые скобки, то есть нельзя их ввести с клавиатуры, чтобы сделать формулу формулой массива. Они появляются автоматически при нажатии сочетания клавиш Ctrl + Shift + Enter. Если после создания формулы массива вам необходимо ее отредактировать, то в конце необходимо вновь нажать сочетание клавиш, а не просто клавишу Enter.
Анализ данных с помощью формулы массива
Формулы массива очень удобно применять для анализа массивов данных, например, когда нужно получить информацию, соответствующую определенному критерию. Давайте разберем еще один пример, который наглядно продемонстрирует мои слова.
Довольно стандартная ситуация, когда нужно сделать выборку по определенному критерию, например, рассмотрим таблицу, в которой учитываются продажи. В ней есть три менеджера и три товара, а также общая сумма продажи по каждой сделке.
Анализ массива данных
Нам нужно определить эффективность менеджеров, при этом нужно учитывать определенный товар.
В соответствующих ячейках укажем интересующие нас исходные данные — менеджера и товар.
Критерии выборки
Решить задачу можно довольно простой формулой массива.
Так как в итоге нужно получить сумму, то будем использовать соответствующую функцию — СУММ. Также мы будем использовать условие, ведь у нас есть критерии. Сейчас я создам формулу, а потом объясню принцип ее работы.
Анализ данных с помощью формулы массива
Итак, у нас в функцию суммирования подставлено три множителя.
Первый множитель (A2:A14=G3) позволяет выбрать из столбца с именами менеджеров то, которое мы указали в критериях поиска.
Второй множитель (B2:B14=G4) аналогичным образом позволяет определить необходимый товар.
Ну и третий (С2:С14) выводит соответствующую сумму заказа.
Как это работает?
Формула массива проходит построчно в указанных диапазонах с именами менеджеров и товарами и проверяет выполнение условий. Если условие выполняется, то в возвращается 1, если же не выполняется, то 0.
Работа формулы массива
Соответственно, произведение трех множителей в случае, если хотя бы одно из двух условий не выполняется будет равно 0. Ну а если выполняются два условия, то мы получаем произведение двух единиц и соответствующей суммы заказа.
Далее все полученные значения суммируются и на выходе мы получаем общую сумму по определенному товару и определенному менеджеру.
Результат работы формулы массива
Вот так одной простой формулой можно решить довольно сложную на первый взгляд задачу.
Ну и данный отчет можно несколько улучшить, сделав выпадающий список с товарами и менеджерами, чтобы можно было получать быстрый отчет по каждому из них. И о том, как создать такой выпадающий список я расскажу в отдельном видео.
Источник
- 22.05.2020
- Чтение занимает 4 мин
- Применяется к:
Excel 2007, Excel 2003, Excel 2002
В этой статье
Примечание
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Аннотация
В версиях Microsoft Excel, перечисленных в разделе «информация в этой статье применима к», в разделе «требования к расчету» перечислены ограничения для работы с массивом. В этой статье описываются ограничения для массивов в Excel.
Дополнительная информация
В Excel массивы на листах ограничены доступной оперативной памятью, общим количеством формул массива и правилом «весь столбец».
доступная память;
Версии Excel, перечисленные в разделе «информация в этой статье применима к», не накладывают ограничение на размер массивов листов. Вместо этого доступ к памяти ограничивается только объемом доступной памяти на вашем компьютере. Таким образом, вы можете создавать очень большие массивы, содержащие сотни тысяч ячеек.
Правило «весь столбец»
Несмотря на то, что в Excel можно создавать очень большие массивы, невозможно создать массив, использующий целый столбец или несколько столбцов ячеек. Так как перерасчет формулы массива, использующей весь столбец ячеек, занимает много времени, Excel не позволяет создавать этот тип массива в формуле.
Примечание
В столбце в Microsoft Office Excel 2003 и более ранних версиях Excel есть 65 536 ячеек. В столбце в Microsoft Office Excel 2007 есть 1 048 576 ячеек.
Максимальные формулы массива
В Excel 2003 и более ранних версиях Excel один лист может содержать не более 65 472 формул массива, ссылающихся на другой лист. Если вы хотите использовать больше формул, разделите их на несколько листов, чтобы на один лист было менее 65 472 ссылок.
Например, на листе Sheet1 книги можно создать следующие элементы:
- 65 472 формулы массива, которые ссылаются на Лист2
- 65 472 формулы массива, ссылающихся на Sheet3
- 65 472 формулы массива, ссылающихся на Sheet4
Если вы попытаетесь создать более 65 472 формул массива, ссылающихся на определенный лист, формулы массива, введенные после формулы массива с номером 65 472, могут исчезнуть при вводе.
Примеры формул массива
Ниже приведен список примеров формул массивов. Чтобы использовать эти примеры, создайте новую книгу, а затем введите каждую формулу как формулу массива. Для этого введите формулу в строку формул, а затем нажмите клавиши CTRL + SHIFT + ВВОД, чтобы ввести формулу.
Excel 2007
A1: = SUM (ЕСЛИ (B1: B1048576 = 0, 1, 0))
Формула в ячейке a1 возвращает результат 1048576. Это правильный результат.
A2: = SUM (ЕСЛИ (Б:Б = 0, 1, 0))
Формула в ячейке A2 возвращает результат 1048576. Это правильный результат.
A3: = SUM (ЕСЛИ (B1: J1048576 = 0, 1, 0))
Формула в ячейке A3 возвращает результат 9437184. Это правильный результат.
Примечание
Вычисление формулы может занять много времени, так как формула проверяет более 1 000 000 ячеек.
A4: = SUM (ЕСЛИ (Б:Ж = 0, 1, 0))
Формула в ячейке A4 возвращает результат 9437184. Это правильный результат.
Примечание
Вычисление формулы может занять много времени, так как формула проверяет более 1 000 000 ячеек.
A5: = SUM (ЕСЛИ (B1: DD1048576 = 0, 1, 0))
При вводе этой формулы в ячейку A5 может появиться одно из следующих сообщений об ошибке:
Excel исчерпал ресурсы при попытке вычислить одну или несколько формул. В результате эти формулы невозможно оценить.
Чтобы определить уникальный номер, связанный с получаемым сообщением, нажмите клавиши CTRL + SHIFT + I. В правом нижнем углу этого сообщения отображается следующее число:
101758
В этом случае размер массива листа слишком велик для доступной памяти. Поэтому не удается вычислить формулу.
Кроме того, Excel может перестать отвечать на запросы в течение нескольких минут. Это связано с тем, что в других формулах, которые вы ввели, необходимо пересчитать результаты.
После пересчета результатов Excel реагирует ожидаемым образом. Формула в ячейке A5 возвращает значение 0 (ноль).
Excel 2003 и более ранние версии Excel
A1: = SUM (ЕСЛИ (B1: B65535 = 0, 1, 0))
Формула в ячейке a1 возвращает результат 65535. Это правильный результат.
A2: = SUM (ЕСЛИ (Б:Б = 0, 1, 0))
Формула в ячейке a2 Возвращает #NUM! ошибка, так как формула массива ссылается на целый столбец ячеек.
A3: = SUM (ЕСЛИ (B1: J65535 = 0, 1, 0))
Формула в ячейке A3 возвращает результат 589815. Это правильный результат.
Примечание
Вычисление формулы может занять много времени, так как формула выполняет проверку почти 600 000 ячеек.
A4: = SUM (ЕСЛИ (Б:Ж = 0, 1, 0))
Как и формула в ячейке A2, формула в ячейке A4 Возвращает #NUM! ошибка, так как формула массива ссылается на целый столбец ячеек.
A5: = SUM (ЕСЛИ (B1: DD65535 = 0, 1, 0))
При вводе формулы в ячейке A5 может появиться одно из следующих сообщений об ошибке:
Недостаточно памяти. Продолжить без отмены?
Недостаточно памяти.
В этом случае размер массива листа слишком велик для доступной памяти. Поэтому не удается вычислить формулу.
Кроме того, Excel может перестать отвечать на запросы в течение нескольких минут. Это связано с тем, что в других формулах, которые вы ввели, необходимо пересчитать результаты.
После пересчета результатов Excel реагирует ожидаемым образом. Формула в ячейке A5 возвращает значение 0 (ноль).
Обратите внимание на то, что ни одна из этих формул не работает в более ранних версиях Excel. Это связано с тем, что массивы, создаваемые формулами, полностью превышают максимальные ограничения в более ранних версиях Excel. Ниже приведен список некоторых функций Excel, использующих массивы.
- ЛИНЕЙН ()
- МДЕТЕРМ ()
- МИНВЕРСЕ ()
- ММУЛТ ()
- SUM (ЕСЛИ ())
- SUMPRODUCT ()
- ТРАНСПОНИРОВАТЬ ()
- ТЕНДЕНЦИЯ ()
Примечание
Следующие факты о функциях удобно запомнить.
- Если какие бы то ни было ячейки массива пусты или содержат текст, МИНВЕРСЕ возвращает #VALUE! значение ошибки.
- МИНВЕРСЕ также возвращает #VALUE! значение ошибки, если массив не имеет равное количество строк и столбцов.
- МИНВЕРСЕ возвращает #VALUE! ошибка, если возвращаемый массив превышает 52 столбцов по 52 строк.
- Функция ММУЛТ возвращает #VALUE! Если выходные данные превышают 5460 ячеек.
- Функция МДЕТЕРМ возвращает #VALUE! значение, если размер возвращаемого массива превышает 73 строк по 73 столбцам.
Источник
Во время работы с таблицами Excel довольно часто приходится оперировать с целыми диапазонами данных. При этом некоторые задачи подразумевают, что вся группа ячеек должна быть преобразована буквально в один клик. В Экселе имеются инструменты, которые позволяют проводить подобные операции. Давайте выясним, как можно управлять массивами данных в этой программе.
Операции с массивами
Массив – это группа данных, которая расположена на листе в смежных ячейках. По большому счету, любую таблицу можно считать массивом, но не каждый из них является таблицей, так как он может являться просто диапазоном. По своей сущности такие области могут быть одномерными или двумерными (матрицы). В первом случае все данные располагаются только в одном столбце или строке.
Во втором — в нескольких одновременно.
Кроме того, среди одномерных массивов выделяют горизонтальный и вертикальный тип, в зависимости от того, что они собой представляют – строку или столбец.
Нужно отметить, что алгоритм работы с подобными диапазонами несколько отличается от более привычных операций с одиночными ячейками, хотя и общего между ними тоже много. Давайте рассмотрим нюансы подобных операций.
Создание формулы
Формула массива – это выражение, с помощью которого производится обработка диапазона с целью получения итогового результата, отображаемого цельным массивом или в одной ячейке. Например, для того, чтобы умножить один диапазон на второй применяют формулу по следующему шаблону:
=адрес_массива1*адрес_массива2
Над диапазонами данных можно также выполнять операции сложения, вычитания, деления и другие арифметические действия.
Координаты массива имеют вид адресов первой её ячейки и последней, разделенные двоеточием. Если диапазон двумерный, то первая и последняя ячейки расположены по диагонали друг от друга. Например, адрес одномерного массива может быть таким: A2:A7.
А пример адреса двумерного диапазона выглядит следующим образом: A2:D7.
- Чтобы рассчитать подобную формулу, нужно выделить на листе область, в которую будет выводиться результат, и ввести в строку формул выражение для вычисления.
- После ввода следует нажать не на кнопку Enter, как обычно, а набрать комбинацию клавиш Ctrl+Shift+Enter. После этого выражение в строке формул будет автоматически взято в фигурные скобки, а ячейки на листе будут заполнены данными, полученными в результате вычисления, в пределах всего выделенного диапазона.
Изменение содержимого массива
Если вы в дальнейшем попытаетесь удалить содержимое или изменить любую из ячеек, которая расположена в диапазоне, куда выводится результат, то ваше действие окончится неудачей. Также ничего не выйдет, если вы сделаете попытку отредактировать данные в строке функций. При этом появится информационное сообщение, в котором будет говориться, что нельзя изменять часть массива. Данное сообщение появится даже в том случае, если у вас не было цели производить какие-либо изменения, а вы просто случайно дважды щелкнули мышью по ячейке диапазона.
Если вы закроете, это сообщение, нажав на кнопку «OK», а потом попытаетесь переместить курсор с помощью мышки, или просто нажмете кнопку «Enter», то информационное сообщение появится опять. Не получится также закрыть окно программы или сохранить документ. Все время будет появляться это назойливое сообщение, которое блокирует любые действия. А выход из ситуации есть и он довольно прост
- Закройте информационное окно, нажав на кнопку «OK».
- Затем нажмете на кнопку «Отмена», которая расположена в группе значков слева от строки формул, и представляет собой пиктограмму в виде крестика. Также можно нажать на кнопку Esc на клавиатуре. После любой из этих операций произойдет отмена действия, и вы сможете работать с листом так, как и прежде.
Но что делать, если действительно нужно удалить или изменить формулу массива? В этом случае следует выполнить нижеуказанные действия.
- Для изменения формулы выделите курсором, зажав левую кнопку мыши, весь диапазон на листе, куда выводится результат. Это очень важно, так как если вы выделите только одну ячейку массива, то ничего не получится. Затем в строке формул проведите необходимую корректировку.
- После того, как изменения внесены, набираем комбинацию Ctrl+Shift+Esc. Формула будет изменена.
- Для удаления формулы массива нужно точно так же, как и в предыдущем случае, выделить курсором весь диапазон ячеек, в котором она находится. Затем нажать на кнопку Delete на клавиатуре.
- После этого формула будет удалена со всей области. Теперь в неё можно будет вводить любые данные.
Функции массивов
Наиболее удобно в качестве формул использовать уже готовые встроенные функции Excel. Доступ к ним можно получить через Мастер функций, нажав кнопку «Вставить функцию» слева от строки формул. Или же во вкладке «Формулы» на ленте можно выбрать одну из категорий, в которой находится интересующий вас оператор.
После того, как пользователь в Мастере функций или на ленте инструментов выберет наименование конкретного оператора, откроется окно аргументов функции, куда можно вводить исходные данные для расчета.
Правила ввода и редактирования функций, если они выводят результат сразу в несколько ячеек, те же самые, что и для обычных формул массива. То есть, после ввода значения обязательно нужно установить курсор в строку формул и набрать сочетание клавиш Ctrl+Shift+Enter.
Урок: Мастер функций в Excel
Оператор СУММ
Одной из наиболее востребованных функций в Экселе является СУММ. Её можно применять, как для суммирования содержимого отдельных ячеек, так и для нахождения суммы целых массивов. Синтаксис этого оператора для массивов выглядит следующим образом:
=СУММ(массив1;массив2;…)
Данный оператор выводит результат в одну ячейку, а поэтому для того, чтобы произвести подсчет, после внесения вводных данных достаточно нажать кнопку «OK» в окне аргументов функции или клавишу Enter, если ввод выполнялся вручную.
Урок: Как посчитать сумму в Экселе
Оператор ТРАНСП
Функция ТРАНСП является типичным оператором массивов. Она позволяет переворачивать таблицы или матрицы, то есть, менять строки и столбцы местами. При этом она использует исключительно вывод результата в диапазон ячеек, поэтому после введения данного оператора обязательно нужно применять сочетание Ctrl+Shift+Enter. Также нужно отметить, что перед введением самого выражения нужно выделить на листе область, у которой количество ячеек в столбце будет равно числу ячеек в строке исходной таблицы (матрицы) и, наоборот, количество ячеек в строке должно равняться их числу в столбце исходника. Синтаксис оператора следующий:
=ТРАНСП(массив)
Урок: Транспонирование матриц в Excel
Урок: Как перевернуть таблицу в Экселе
Оператор МОБР
Функция МОБР позволяет производить вычисление обратной матрицы. Все правила ввода значений у этого оператора точно такие же, как и у предыдущего. Но важно знать, что вычисление обратной матрицы возможно исключительно в том случае, если она содержит равное количество строк и столбцов, и если её определитель не равен нулю. Если применять данную функцию к области с разным количеством строк и столбцов, то вместо корректного результата на выходе отобразится значение «#ЗНАЧ!». Синтаксис у этой формулы такой:
=МОБР(массив)
Для того чтобы рассчитать определитель, применяется функция со следующим синтаксисом:
=МОПРЕД(массив)
Урок: Обратная матрица в Excel
Как видим, операции с диапазонами помогают сэкономить время при вычислениях, а также свободное пространство листа, ведь не нужно дополнительно суммировать данные, которые объединены в диапазон, для последующей работы с ними. Все это выполняется «на лету». А для преобразования таблиц и матриц только функции массивов и подходят, так как обычные формулы не в силах справиться с подобными задачами. Но в то же время нужно учесть, что к подобным выражениям применяются дополнительные правила ввода и редактирования.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Источник