Формулы массива в Excel
Терминология
Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице 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:h21 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.
Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:h21 в нашем случае)
Пример 3. Таблица умножения
Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:
При помощи формул массива она вся делается в одно движение:
- выделяем диапазон B2:K11
- вводим формулу =A2:A11*B1:K1
- жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива
и получаем результат:
Пример 4. Выборочное суммирование
Посмотрите как при помощи одной формулы массива красиво и легко выбираются данные по определенному товару и заказчику:
В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.
Ссылки по теме
www.planetaexcel.ru
Работа с массивами в Excel
Во время работы с таблицами 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
Как видим, операции с диапазонами помогают сэкономить время при вычислениях, а также свободное пространство листа, ведь не нужно дополнительно суммировать данные, которые объединены в диапазон, для последующей работы с ними. Все это выполняется «на лету». А для преобразования таблиц и матриц только функции массивов и подходят, так как обычные формулы не в силах справиться с подобными задачами. Но в то же время нужно учесть, что к подобным выражениям применяются дополнительные правила ввода и редактирования.
Мы рады, что смогли помочь Вам в решении проблемы.Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Да Нетlumpics.ru
5 основных функции для работы с массивами
Доброго времени суток друзья!
Сегодня я бы хотел затронуть тему массивов, так как частенько возникает ситуация, когда нужно найти значение в большом массиве данных. Для этих целей в Excel существует целый раздел функции для работы с массивами, которые помогают нам выполнять работы с массивами, но сейчас мы рассмотрим самые распространенные.
Обратите внимание, на эти функции, так как работа с огромными массивами данных, одна из самых распространенных и правильное использование этих функции позволит вам значительно упростить и облегчить работу с таблицами Excel.
Ну, что же, изучим необходимые функции для работы с массивами:
Позволит вам выбрать значение из общего списка по указанному номеру позиции:
=ВЫБОР(2;»Стул»;»Стол»;»Шкаф»;»Диван»)
Эта функция возвращает указанное значение из одно- или двумерного диапазона:
=ИНДЕКС(A1:C6;4;3)
Как видно с примера, полученное значение 37, в указанном диапазоне стоит на пересечении строки №4 и столбика №3 в диапазоне A1:C6 указанном в формуле. В более простом примере показано как в диапазоне С1:С6, на 2 месте находится значение 15:
=ИНДЕКС(С1:С6;2)
Эта функция вернет позицию значения, которое вы будете искать в указанном диапазоне:
=ПОИСКПОЗ(B3;B2:B5;0)
С примера вы можете видеть что слово «Стол» занимает 2 позицию в указанном диапазоне. Замечу, что третий аргумент в функции не является обязательным. При введенном значении 0, функция вернет ту позицию элемента массива, которое точно совпадает со значением, которое мы ищем. В случае, когда точное совпадение отсутствует, функция выдаст ошибку #Н/Д (#N/A).
Ищет значение в указанном диапазоне и возвращает значение ячейки, которая находится в указанной строке того же столбца: =ГПР(C1;$B$1:$E$2;1;ЛОЖЬ). Как видите с примера, функция ГПР ищет в указанном диапазоне $B$1:$E$2 (знаком $ я указал абсолютную ссылку) и согласно условию возвращает искомое значение из первой строки, а аргумент «ЛОЖЬ» означает, что-либо, будет найдено нужное значение, либо мы получим ошибку #Н/Д.
Во многом, даже очень во многом, похожа на функцию ГПР, но используется не для горизонтальных массивов, а вертикальных, что наиболее распространено в использовании.
=ВПР(B4;$B$2:$C$5;2;ЛОЖЬ)
Как видим, формула идентична предыдущей функции ГПР и так же ищет указанный номер «B4» в диапазоне $B$2:$C$5 со знаком $ (это сделано для создания абсолютной ссылки, что бы при копировании формулы на диапазон, аргумент не будет изменен), в третьем столбце, так как аргумент функции равен 2. Ну и четвёртый аргумент равен значению «ЛОЖЬ», это означает, что-либо будет найдено совпадение значений, либо будет получено сообщение об ошибке #Н/Д. Теперь при необходимости, мы копируем формулу, и она перенесёт все правильные аргументы по всему диапазону вычислений. Это возможно стало из-за абсолютной ссылки на массив значений, а вот первый аргумент на B4, при копировании, должен измениться на B5 и так далее.
А на этом у меня всё! Я очень надеюсь, что описание 5 основных функций для работы с массивами вам стали ближе и понятнее. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!
Не забудьте поблагодарить автора!
Деньги для людей умных составляют средство, для глупцов — цель. А. Декурсель
Статья помогла? Поделись ссылкой с друзьями, твитни или лайкни!
topexcel.ru
Формулы массива в Excel — Microsoft Excel для начинающих
Эта статья поможет разобраться, как работают формулы массива в Excel. Помещённая в одну ячейку формула массива выполняет сразу несколько вычислений.
Без формулы массива
Не прибегая к помощи формулы массива, нам потребуется выполнить следующую последовательность действий, чтобы определить максимальное развитие в столбце Progress.
- Первым делом мы рассчитаем развитие для каждого студента.
- Затем при помощи функции МАКС (MAX) мы найдём наибольшее значение в столбце Progress.
С формулой массива
Нам не нужно использовать вспомогательный диапазон в столбце D. Excel может хранить данные в своей памяти. Диапазон данных, сохранённый в памяти Excel, называется массивом констант.
- Мы уже знаем, что определить прогресс первого студента нам поможет формула, показанная на рисунке ниже.
- Чтобы из значений прогресса всех студентов найти максимальное, мы добавляем сюда функцию МАКС (MAX) и заменяем C2 на C2:C6, а B2 на B2:B6.
- Завершаем редактирование формулы нажатием Ctrl+Shift+Enter.
Замечание: Формула массива в строке формул заключена в фигурные скобки {}. Не пытайтесь ввести их вручную, скобки исчезнут при попытке отредактировать формулу.
Пояснение:
- Диапазон данных (массив констант) хранится в памяти Excel, не в диапазоне ячеек. Массив констант можно представить в таком виде: {19;33;63;48;13}.
- Функция МАКС (MAX) использует этот массив как аргумент и возвращает результат 63.
Клавиша F9
При работе с формулами массива можно использовать режим просмотра содержимого массива констант.
- В формуле выделите C2:C6-B2:B6, как показано на рисунке ниже.
- Нажмите F9.
Отлично! Элементы вертикального массива констант разделяются точкой с запятой (в англоязычной версии Excel) или двоеточием (в русифицированной версии Excel). Элементы горизонтального массива констант разделяются запятой (в англоязычной версии Excel) или точкой с запятой (в русифицированной версии Excel).
Оцените качество статьи. Нам важно ваше мнение:
office-guru.ru
Массивы Excel
Умение работать с массивами является заключительным этапом изучения функций Excel, т.к. они целиком раскрывают их возможности и обеспечивают гибкость расчетов.
Содержание статьи:
Определение массива
Чтобы понять, что такое массив, необходимо вспомнить, что такое переменная.
Переменная — область памяти, за которой закреплено определенной имя, например «x = 5» или «Имя = “Андрей”». Переменная всегда содержит только одно значение, т.е. не может быть разделена на более мелкие части. Данное определение больше подходит для переменных в языках программирования. Чтобы не отходить от темы Excel, переопределим его.
Каждый лист Excel является таблицей, за которой закреплена область в памяти компьютера. Таблица состоит из ячеек, которые имеют свой уникальный адрес. Сама ячейка не может быть разделена на более мелкие части, поэтому ее можно назвать переменной. Массив содержит набор переменных и имеет имя. То, что называют в Excel диапазоном, по своей сути является массивом: строка листа, столбец листа, количество ячеек >1, все это массивы данных. НО! Чтобы не вносить путаницу в определения функций и т.п. данные понятия необходимо разделять, т.к. приложение по-разному обрабатывает диапазоны и массивы.
Чтобы дать программе понять, что формула содержит массив, нужно после ввода данных в строку формул одновременно нажать клавиши клавиатуры Ctrl + Shift + Enter. Все ее содержимое заключится в фигурные скобки {}.
Далее будет подробнее описана работа с массивами.
Измерения массива
Массивы могут содержать несколько измерений вплоть до измерений в несколько десятков и даже больше, но хорошо это или плохо, в формулах Excel используются максимум 2 измерения, поэтому массив в Excel может быть:
- Одномерным – 1 измерение;
- Двумерным – 2 измерения.
Одномерный массив состоит из одного ряда значений. Это может быть строка или столбец.
Двумерный массив состоит из столбцов и из строк, т.е. представляется собой таблицу.
На рисунке ниже представлены оба вида массивов. Обратите внимание, что разные измерения имеют разные разделители («;» — для столбцов и «:» — строк).
Массив констант
Константа это та же переменная, только не меняющая значение. Если значение переменной можно поменять в любое время, то константа задается один раз и больше не меняется. Наверное, самая известная константа – число Пи.
Массив констант отличается от обычного массива тем, что обычный массив ссылается на диапазон ячеек, а массив констант задается пользователем вручную:
- {=A3:A7} – это обычный массив;
- {1: 2: 3: 4: 5} – это массив констант.
Представьте, что Вам необходимо использовать в расчетах большой массив, состоящий из сотни констант, и использовать его нужно многократно. Набивать константы каждый раз для каждой формулы ручками – дело «неблагодарное». Поэтому, создайте синоним массива с помощью функции присвоения имен, расположенной на вкладке «Формулы» -> раздел «Определенные имена» -> кнопка «Диспетчер имен». В появившемся окне нажмите на кнопку «Создать», после чего появиться следующая форма:
- Имя – имя диапазона;
- Область – место, где данное имя будет доступно;
- Примечание – комментарий. Текст, введенный здесь, будет высвечиваться при выборе имени массива из определенной для него области;
- Диапазон – сам массив в виде ссылки на диапазон либо массив констант «={…}».
После заполнения формы, нажмите «OK».
Теперь данный массив доступен по заданному имени в ячейках из определенной для него области.
О том, как их применять рассказывается дальше.
Операции с массивами
Перейдем, наконец, к примерам использования массивов.
Название авто | Литраж бака, л | Расход, л на 100 км |
Авто1 | 50 | 6 |
Авто2 | 60 | 7 |
Авто3 | 70 | 10 |
Авто4 | 80 | 12 |
Необходимо рассчитать, сколько километров сможет проехать каждый автомобиль, используя только один полный бак (скопируйте таблицу в книгу).
При стандартных вычислениях формула составлялась бы так: =B2/C2*100. Затем ее необходимо протянуть. Мы получили готовый результат.
Повторим расчет, только с использованием массивов.
Сначала выделяем ячейки, в которых необходимо произвести расчет. Далее записываем в строку формул: =B2:B5/C2:C5*100, где “B2:B5” диапазон всех ячеек для литража, “C2:C5” диапазон всех ячеек для расхода. На данный момент это именно диапазоны, чтобы они превратились в массивы, нажмите одновременно клавиши Ctrl + Shift + Enter. Формула автоматически будет заключена в фигурные скобки, а расчет появиться во всех предварительно выделенных ячейках. Результат тот же, что и в первом варианте.
Следовательно, уже навязывается вопрос о смысле использования массивов.
В данном конкретном примере, что использовать – разницы нет, если только Вы не хотите защитить ячейки от случайного или намеренно изменения. Поясним. Когда к какому-то диапазону применяется массив, то затем никакой элемент этого массива не может быть отдельно изменен либо удален. Если попробовать произвести эти действия, приложение Excel выдаст ошибку. Чтобы избежать ее, выделите весь диапазон, к которому применен массив, а затем измените строку формул либо удалите ее полностью, после подтвердите изменения для всех элементов нажатием Ctrl + Shift + Enter.
Только на защите ячеек плюсы использования массивов не заканчиваются. Рассмотрим пример с той же таблицей, но подсчитываем сумму общего возможного километража.
Используя стандартные формулы, подсчет производиться двумя действиями:
- Рассчитать километраж для каждого авто;
- Просуммировать все имеющиеся результаты.
При этом необходимо создавать дополнительный столбец для первого действия, что не всегда удобно. Поэтому в таких случаях массив более уместен.
Выберите ячейку, в которую хотели бы записать результат. В нее впишите уже применяемую формулу, но в качестве аргумента функции СУММ. Подтвердите использование массива нажатие Ctrl + Shift + Enter . Должно получиться следующее: {=СУММ(B2:B5/C2:C5*100)}.
Согласитесь, что в данном примере плюсы массивов куда более заметные.
На данный момент, когда Вы знаете, как создавать массивы, пришло время более подробно изучить процесс их обработки приложением.
Применим массив, который мы создавали в начале урока: Имя_диапазона.
Данный массив является одномерным и имеет размерность 5, т.к. содержит пять элементов. Перенесем значения массива в ячейки книги. Для этого выделим диапазон A1:E1, в строку формул введем имя массива и нажмем Ctrl + Shift + Enter. Получим результат:
В данном случае программа поочередно будет вытаскивать значения из массива для каждой ячейки. Если ячеек окажется больше, чем элементов есть в массиве, то для последних ячеек будет выдана ошибка #Н/Д, т.е. элемент не найден. Если ячеек, наоборот окажется меньше, то массив будет задействован частично, а именно в количестве заданных ячеек.
Теперь поступим по-другому. Выделите вертикальный диапазон A1:A5 и введите в него массив. Во все ячейки диапазона загрузиться только первый элемент массива. Это произошло от того, что созданный нами массив является горизонтальным, а не вертикальным.
Для создания горизонтального массива его элементы разделяются «;», для создания вертикального используется «:». Для создания двумерных массивов используются оба символа. Имейте в виду, иногда, где и какой символ использовать, задается настройками, чтобы проверить, какие разделители использовать именно Вам, поступите следующим образом:
- Заполните числами несколько ячеек подряд по горизонтали и вертикали;
- Создайте функцию СУММ;
- Для первого аргумента функции укажите горизонтальный диапазон, для второго вертикальный;
- Нажмите на кнопку «вставить функцию» рядом со строкой формул;
- В окне аргументов функции посмотрите предварительные результаты для каждого аргумента. Те разделите, которые использует программа, необходимо использовать и Вам.
Рассмотрим еще один пример операций с массивами, а именно совместное использование горизонтальных, вертикальных и двумерных массивов.
Для начала создадим одномерный вертикальный массив ={1: 1: 1} и умножим его на 5, после чего узнаем сумму произведений его элементов.
Здесь все просто, программа умножила каждый элемент массива на 5, затем их просуммировала.
Теперь умножим тот же диапазон на горизонтальный массив ={5; 5}.
Программа подставила к каждому элементу горизонтального массива вертикальный, после чего перемножила их, как в первом варианте.
Снова изменим условия и из вертикального массива сделаем двумерный массив ={1; 1: 1; 1: 1; 1}. Перемножим на ={5; 5}. И вот оно! Результат не поменялся. Почему? Потому что в случае использования двумерных массивов их элементы сопоставляются другим элементам массива по их порядковым номерам в равных измерениях.
А если размерность одного массива в определенном измерении будет превышать размерность другого массива в том же измерении, то элементам первого будет сопоставлена ошибка #Н/Д, т.к. для них отсутствуют сопоставляемые элементы второго, в результате чего, вся формула может вернуть данную ошибку.
Принцип сопоставления элементов массива друг другу важно понять с самого начала, чтобы не получить «неожиданного» результата при расчетах в дальнейшем.
Имейте в виду, что к массивам можно применять все формулы, которые применяются в стандартных ситуациях, включая логические. Например, в случае, описанном выше, когда перемножаются массивы с разными размерностями в одинаковых измерениях, чтобы избежать возврата ошибки, необходимо изменить формулу – {=СУММ(ЕСЛИОШИБКА(A1:C3*E1:F1;0))}.
Резюме
- Горизонтальный массив – это массив, ссылающийся на ячейки одной сроки либо содержащий константы, разделенные символом «;».
- Вертикальный массив – массив, ссылающий на ячейки одного столбца либо содержащий константы, разделенные символом «:».
- Размерность массива – количество элементов массива в одном измерении.
- Одномерный массив – либо горизонтальный либо вертикальный массив;
- Двумерный массив – вертикальный массив, содержащий в себе горизонтальные массивы одной размерности.
- Ввод массива ВСЕГДА необходимо подтверждать нажатием клавиш Ctrl + Shift + Enter.
- Нельзя изменить отдельный элемент массива. Изменению подлежать сразу все его элементы.
- В случае применения к массиву переменной, переменная будет сопоставлена каждому элементу массива.
- В случае применения к горизонтальному массиву вертикального массива, все их элементы будут сопоставлены друг другу.
- В случае применения массивов друг к другу, когда хоть один из них является двумерным, элементы массивов сопоставляются между собой по порядковым номера в равных измерениях (одинаковому расположению в массиве).
- При применении массивов друг к другу, в случае, когда хоть один из них является двумерным, размерности массивов должны совпадать.
- < Назад
- Вперёд >
Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.
У Вас недостаточно прав для комментирования.
office-menu.ru
Формула массива в Excel | Блог Александра Воробьева
Опубликовано 24 мая 2015
Рубрика: Справочник Excel | 7 комментариев
Для решения любой задачи почти всегда есть несколько способов или подходов. Большинство из нас будет использовать чаще всего на практике самый простой, быстрый и понятный метод. Однако знание различных вариантов решения одной и той же задачи позволяет специалисту…
…более гибко и квалифицированно реагировать на нюансы ситуаций и выбирать из имеющегося арсенала знаний наиболее эффективное в каждом конкретном случае.
Для обработки данных, хранящихся в таблицах баз данных в Excel, наряду с фильтрами и сводными таблицами есть малоизвестный широкому кругу пользователей инструментарий – формулы массивов.
Массив в Excel – это однородные данные, размещенные в нескольких ячейках столбца или строки или области. Данные, размещенные в ячейках одной строки или одного столбца – это одномерный массив. Данные, размещенные в нескольких строках и столбцах, то есть в таблице – это двумерный массив.
Формулы массивов имеют и иное, менее распространенное в последнее время, но более понятное русскоговорящему человеку название – табличные формулы. Эти формулы работают с блоками ячеек (массивами) так, как обычные формулы с одиночными ячейками.
Табличная формула позволяет «элегантно просеять» массив данных, отделить нужные пользователю значения, применить к этим значениями любые арифметические, алгебраические или логические функции и вывести результат в ячейку или область, в которой она и записана.
Формула массива вводится в ячейку после знака =, как и обычная формула, но если окончание ввода простой формулы подтверждается нажатием на клавишу Enter, то для окончания ввода формулы массива необходимо последовательно нажать на три клавиши – Ctrl+Shift+Enter. (Клавишу + нажимать не нужно, следует удерживать нажатыми предыдущие клавиши до момента нажатия на последнюю кнопку!)
Формула массива примет вид: {=ФОРМУЛА}.
Не стоит пробовать ввести фигурные скобки вручную напрямую с помощью клавиатуры!!! Для того чтобы программа Excel «поняла», что вы хотите ввести формулу массива нужно нажать на три вышеперечисленные клавиши!
Аргументами функций ФОРМУЛЫ могут быть как одиночные ячейки, так и диапазоны ячеек – все, как и в обычных формулах.
Формула массива может возвращать результат не только в одну ячейку, но и в группу ячеек. Для этого перед вводом формулы нужно выделить массив ячеек предназначенных для отображения результатов и затем ввести формулу.
При работе с большими таблицами применение формул массива позволяет избежать создания блоков промежуточных результатов и ускоряет получение конечного результата
Ряд важных функций в Excel работают только с массивами и выводят результаты в массив. Это функции ЛИНЕЙН() ЛГРФПРИБЛ(), ТЕНДЕНЦИЯ() и другие.
Полностью разделяя мнение о том, что примеры полезнее правил (Ньютон), предлагаю рассмотреть задачу, при решении которой применение формул массивов целесообразно, а так же понять смысл и синтаксис этих формул.
Пример использования формул массивов для выборочного суммирования.
Требуется выборочно быстро найти и просуммировать некоторые значения из большой таблицы MS Excel.
Например, из обширной базы поставок изделий необходимо извлечь информацию о количестве и стоимости поставленных компании ООО «Оберон» изделий «Блок-СМ15».
Для решения задачи следует выполнить ниже перечисленную последовательность действий.
1. Скопировать из таблицы «База поставок изделий» название фирмы-заказчика и вставить, например,
в ячейку B2: ООО «Оберон»
2. Скопировать название изделия и вставить
в ячейку B3: Блок-СМ15
3. Ввести формулу массива для подсчета количества изделий
в ячейку B4: {=СУММ((A9:A27=B2)*(B9:B27=B3)*C9:C27)}=12
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. Отображение календаря в диапазоне.
Для получения информации о выходе новых статей на блоге прошу вас, уважаемые читатели, подписаться на анонсы в окне, расположенном в конце статьи или в окне вверху страницы.
Комментарии пишите пожалуйста в блоке внизу страницы.
Другие статьи автора блога
На главную
Статьи с близкой тематикой
Отзывы
al-vo.ru
Высший пилотаж: массивы в Excel
Дата: 22 декабря 2016 Категория: ExcelПоделиться, добавить в закладки или распечатать статью
Друзья, в предыдущем посте о об округлении чисел я обещал рассказать о формулах массивов. Это мощный и сложный инструмент, о котором знают и пользуются не многие. Такие формулы позволяют выполнять расчеты, которые нельзя выполнить другими средствами Эксель, снизить громоздкость таблиц, исключив промежуточные расчеты. Давайте же не буду томить Вас ожиданием, переходим к изучению материала.
Как следует из самого названия, формулы массивов – это вычисления, связанные с обработкой массивов (матриц) данных. Некоторые операции с массивами можно выполнить с помощью функций, а некоторые, можно посчитать только с применений формул массивов.
Например, чтобы посчитать среднее значение чисел в диапазоне А1:А10, можно использовать функцию СРЗНАЧ(Диапазон)
Среднее значение в ExcelКак известно, функция СРЗНАЧ игнорирует пустые ячейки, но учитывает нулевые. А что если их не нужно учитывать? Вот тогда поможет формула массива. И мы с Вами посчитаем правильное среднее значение прямо сейчас! Вам необходимо понимать один факт: в формулах массивов вместо одного значения для расчетов можно указать целый диапазон.
Давайте запишем формулу: =СРЗНАЧ(ЕСЛИ(A1:A10=0;»»;A1:A10)) и нажмем Ctrl+Shift+Enter. Такой комбинацией мы сигнализируем Excel, что применяется формула массива. Программа обернет формулу в фигурные скобки, обозначая применение именно формулы массива. Не дописывайте фигурные скобки сами, это не сработает, нужно именно нажать комбинацию клавиш. Как же работает эта формула:
- Обычно первым аргументом функции «ЕСЛИ» записывается условие. Например, «A1=0», и если значение в ячейке А1 равно нулю, выполняется второй аргумент, в противном случае – третий. Мы же передали функции ссылку не на одну ячейку, а на массив из десяти значений (А1:А10). Функция «ЕСЛИ» проверит каждое из них и все нулевые заменит пустой строкой. Результатом будет массив из десяти чисел или пустых значений. Такой список функция СРЗНАЧ уже отработает правильно;
- Полученный массив передается в функцию СРЗНАЧ, и теперь она считает среднее значение чисел без учета нулей, т.к. их уже нет.
Как видите, результат вычисления получился другой. Несложно проверить, что именно это число мы ожидали получить.
Рассмотрим еще один пример, похожий на предыдущий.
У нас есть ежедневные продажи за 20 дней. Нужно посчитать сумму продаж в те дни, когда касса превысила 5000. В обычных условиях нам понадобится промежуточный расчет. Так, в колонке С мы проверяем, если продажи выше пяти тысяч – возвращаем эту сумму, если ниже – записываем ноль. Далее, в ячейке С23 суммируем все числа столбца С и получаем искомый результат.
Теперь посмотрите, как мы сделали все эти действия одновременно в одной лишь ячейке Е4 и получили такой же результат! Обратите внимание на простую формулу в строке формул:
Получается, промежуточный расчет делать и не нужно было, он лишь засоряет таблицу, усложняя структуру страницы. Очевидное преимущество за формулой массива, правда?
Отличный способ применения формул массивов – сложить числа в массиве, содержащем ошибки. Пусть в массиве В2:F5 у нас результаты вычислений, среди которых встречаются ошибки. Как сложить эти числа, игнорируя ошибки? Очень просто, вот вам формула: =СУММ(ЕСЛИОШИБКА(B2:F5;0)). Здесь функция ЕСЛИОШИБКА проверит содержание каждой ячейки и заменит (в памяти компьютера, не на листе) ошибки на нули. Далее, функция СУММ просуммирует все обработанные значения и выдаст результат без учета ошибок.
Общий смысл применения формул таков, что Вы заменяете одно значение на массив, а Excel выполняет вычисления для каждого из элементов массива. Это нужно понимать и осознавать, тогда формулы массивов Вам будут по плечу. Очень практичными получаются формулы массивов с применением поименованных диапазонов вместо обычных ссылок.
Эксперты MS Excel выстраивают из подобных формул огромные комбинации, выполняя в одной ячейке столько операций, сколько обычные пользователи умещают на несколько листов. Так что, экспериментируйте, пробуйте разные варианты применения, и не забывайте: для завершения ввода нажимаем Ctr+Shift+Enter, вместо клавиши «Ввод».
Если что-то из темы статьи вам непонятно или не получается, задавайте вопросы в комментариях, будем разбираться вместе!
А в следующей публикации мы с вами будем рисовать диаграммы, а это слишком важная тема, чтобы ее пропустить, подписывайтесь на электронную рассылку и читайте свежие статьи пока горячи!
Поделиться, добавить в закладки или распечатать статью
officelegko.com