Формулы и функции массива в Excel - примеры и рекомендации

  • Поделись Этим
Michael Brown

Оглавление

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

Формулы массива в Excel - чрезвычайно мощный инструмент и один из самых сложных для освоения. Одна формула массива может выполнять множество вычислений и заменять тысячи обычных формул. И все же 90% пользователей никогда не использовали функции массива в своих рабочих листах просто потому, что боятся начать их изучать.

Действительно, формулы массива - одна из самых запутанных функций Excel. Цель этого учебника - сделать кривую обучения максимально простой и гладкой.

    Что такое массив в Excel?

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

    Например, если вы поместите свой еженедельный список продуктов в массив Excel, он будет выглядеть следующим образом:

    {"Молоко", "Яйца", "Масло", "Кукурузные хлопья"}.

    Затем, если вы выделите ячейки с A1 по D1, введете в строку формул вышеуказанный массив, предваряемый знаком равенства (=), и нажмете CTRL + SHIFT + ENTER, вы получите следующий результат:

    Вы только что создали одномерный горизонтальный массив. Пока ничего страшного, верно?

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

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

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

    Формулы массива доступны во всех версиях Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 и ниже.

    И сейчас, похоже, самое время создать свою первую формулу массива.

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

    Предположим, у вас есть несколько товаров в столбце B, их цены в столбце C, и вы хотите подсчитать общую сумму всех продаж.

    Конечно, ничто не мешает вам сначала вычислить промежуточные итоги в каждой строке с помощью такого простого способа, как =B2*C2 а затем суммировать эти значения:

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

    1. Выберите пустую ячейку и введите в нее следующую формулу:

      =SUM(B2:B6*C2:C6)

    2. Нажмите сочетание клавиш CTRL + SHIFT + ENTER для завершения формулы массива.

      Как только вы это сделаете, Microsoft Excel окружит формулу {курчавыми скобками}, что является визуальным признаком формулы массива.

      Формула перемножает значения в каждой отдельной строке указанного массива (ячейки с B2 по C6), складывает промежуточные итоги и выводит общий итог:

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

    Зачем использовать формулы массивов в Excel?

    Формулы массива Excel - это самый удобный инструмент для выполнения сложных вычислений и решения сложных задач. Одна формула массива может заменить буквально сотни обычных формул. Формулы массива очень хорошо подходят для таких задач, как:

    • Суммировать числа, удовлетворяющие определенным условиям, например, суммировать N наибольших или наименьших значений в диапазоне.
    • Суммируйте каждую вторую строку или каждую N-ую строку или столбец, как показано в этом примере.
    • Подсчитывает количество всех или определенных символов в указанном диапазоне. Вот формула массива, которая подсчитывает все символы, и другая, которая подсчитывает любые заданные символы.

    Как ввести формулу массива в Excel (Ctrl + Shift + Enter)

    Как вы уже знаете, сочетание трех клавиш CTRL + SHIFT + ENTER - это волшебное прикосновение, которое превращает обычную формулу в формулу массива.

    При вводе формулы массива в Excel следует помнить о 4 важных моментах:

    1. Когда вы закончили вводить формулу и одновременно нажали клавиши CTRL SHIFT ENTER, Excel автоматически заключает формулу в {курковые скобки}. Когда вы выделяете такую ячейку (ячейки), вы можете увидеть скобки в строке формул, что дает вам подсказку, что там находится формула массива.
    2. Вручную набрать скобки вокруг формулы не получится. Для завершения формулы массива необходимо нажать сочетание клавиш Ctrl+Shift+Enter.
    3. Каждый раз, когда вы редактируете формулу массива, скобки исчезают, и вы должны снова нажать Ctrl+Shift+Enter, чтобы сохранить изменения.
    4. Если вы забудете нажать Ctrl+Shift+Enter, ваша формула будет вести себя как обычная формула и обрабатывать только первое значение (значения) в указанном массиве (массивах).

    Поскольку все формулы массивов Excel требуют нажатия Ctrl + Shift + Enter, их иногда называют Формулы ЕГЭ .

    Используйте клавишу F9 для оценки частей формулы массива

    Работая с формулами массивов в Excel, вы можете наблюдать, как они вычисляют и хранят свои элементы (внутренние массивы) для отображения конечного результата, который вы видите в ячейке. Для этого выделите один или несколько аргументов в круглых скобках функции, а затем нажмите клавишу F9. Чтобы выйти из режима оценки формулы, нажмите клавишу Esc.

    В приведенном выше примере, чтобы увидеть промежуточные итоги всех продуктов, вы выбираете B2:B6*C2:C6, нажимаете F9 и получаете следующий результат.

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

    Формулы массивов с одной и несколькими ячейками в Excel

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

    Существует несколько функций массивов Excel, предназначенных для возврата массивов из нескольких ячеек, например, ТРАНСПОЗИЦИЯ, ТРЕНД, ФРЕКВЕНЦИЯ, ЛИНЕЙН и т.д.

    Другие функции, такие как SUM, AVERAGE, AGGREGATE, MAX, MIN, могут вычислять выражения массива при вводе в одну ячейку с помощью Ctrl + Shift + Enter .

    Следующие примеры демонстрируют использование формулы массива с одной и несколькими ячейками.

    Пример 1. Формула массива из одной ячейки

    Предположим, у вас есть два столбца с перечнем количества товаров, проданных в 2 разных месяца, скажем, столбцы B и C, и вы хотите найти максимальный рост продаж.

    Обычно вы добавляете дополнительный столбец, скажем, столбец D, который рассчитывает изменение продаж для каждого продукта, используя формулу типа =C2-B2 , а затем найти максимальное значение в этом дополнительном столбце =MAX(D:D) .

    Формуле массива не нужен дополнительный столбец, поскольку она прекрасно сохраняет промежуточные результаты в памяти. Итак, вы просто вводите следующую формулу и нажимаете Ctrl + Shift + Enter :

    =MAX(C2:C6-B2:B6)

    Пример 2. Формула массива из нескольких ячеек в Excel

    В предыдущем примере SUM, предположим, вы должны платить налог 10% с каждой продажи и хотите рассчитать сумму налога для каждого продукта с помощью одной формулы.

    Выберите диапазон пустых ячеек, например D2:D6, и введите следующую формулу в строке формул:

    =B2:B6 * C2:C6 * 0.1

    После нажатия Ctrl + Shift + Enter Excel поместит экземпляр формулы массива в каждую ячейку выделенного диапазона, и вы получите следующий результат:

    Пример 3. Использование функции массива Excel для возврата массива из нескольких ячеек

    Как уже упоминалось, Microsoft Excel предоставляет несколько так называемых "функций массива", специально разработанных для работы с многоячеечными массивами. TRANSPOSE - одна из таких функций, и мы будем использовать ее для транспонирования приведенной выше таблицы, т.е. преобразования строк в столбцы.

    1. Выберите пустой диапазон ячеек, в который вы хотите вывести транспонированную таблицу. Поскольку мы преобразуем строки в столбцы, убедитесь, что вы выбрали такое же количество строк и столбцов, сколько столбцов и строк имеет ваша исходная таблица. В данном примере мы выбрали 6 столбцов и 4 строки.
    2. Нажмите F2, чтобы войти в режим редактирования.
    3. Введите формулу и нажмите Ctrl + Shift + Enter .

    В нашем примере формула выглядит следующим образом:

    =TRANSPOSE($A$1:$D$6)

    Результат будет выглядеть примерно так:

    Вот как использовать TRANSPOSE в качестве формулы массива CSE в Excel 2019 и более ранних версиях. В динамическом массиве Excel это также работает как обычная формула. Чтобы узнать другие способы транспонирования в Excel, ознакомьтесь с этим руководством: Как переключать столбцы и строки в Excel.

    Как работать с формулами массивов с несколькими ячейками

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

    1. Выберите диапазон ячеек, в который вы хотите вывести результаты до ввод формулы.
    2. На удалить формулу массива из нескольких ячеек, либо выделите все содержащие ее ячейки и нажмите DELETE , либо выделите всю формулу в строке формул, нажмите DELETE , а затем нажмите Ctrl + Shift + Enter .
    3. Вы не можете редактировать или перемещать содержимое отдельной ячейки в формуле массива, а также вставлять новые ячейки в формулу массива из нескольких ячеек или удалять существующие ячейки из формулы массива. При любой попытке сделать это Microsoft Excel выдаст предупреждение " Вы не можете изменить часть массива ".
    4. На сократить формулу массива, т.е. применить ее к меньшему количеству ячеек, необходимо сначала удалить существующую формулу, а затем ввести новую.
    5. На расширить формулу массива, т.е. применить ее к большему количеству ячеек, выделите все ячейки, содержащие текущую формулу, плюс пустые ячейки, где вы хотите ее разместить, нажмите F2 для перехода в режим редактирования, настройте ссылки в формуле и нажмите Ctrl + Shift + Enter для ее обновления.
    6. В таблицах Excel нельзя использовать формулы многоячеечных массивов.
    7. Формулу многоячеечного массива следует вводить в диапазон ячеек того же размера, что и возвращаемый формулой массив. Если формула массива Excel выдает массив больше, чем выбранный диапазон, лишние значения не появятся на рабочем листе. Если возвращаемый формулой массив меньше, чем выбранный диапазон, в лишних ячейках появятся ошибки #N/A.

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

    Константы массивов Excel

    В Microsoft Excel константа массива - это просто набор статических значений. Эти значения никогда не меняются при копировании формулы в другие ячейки или значения.

    В самом начале этого руководства вы уже видели пример массива-константы, созданного из списка продуктов. Теперь давайте посмотрим, какие еще типы массивов существуют и как их создавать.

    Существует 3 типа констант массива:

    1. постоянная горизонтальная решетка

    Константа горизонтального массива находится в строке. Чтобы создать константу массива строки, введите значения, разделенные запятыми, и заключите их в фигурные скобки, например {1,2,3,4}.

    Примечание. При создании константы массива открывающую и закрывающую скобки следует набирать вручную.

    Чтобы ввести горизонтальный массив в электронную таблицу, выделите соответствующее количество пустых ячеек в строке, введите формулу ={1,2,3,4} в строке формул и нажмите Ctrl + Shift + Enter. Результат будет выглядеть примерно так:

    Как видно на скриншоте, Excel заключает константу массива в другие скобки, точно так же, как это делается при вводе формулы массива.

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

    Константа вертикального массива располагается в столбце. Вы создаете его так же, как и горизонтальный массив, с той лишь разницей, что разграничиваете элементы, например, точкой с запятой:

    ={11; 22; 33; 44}

    3. константа двумерного массива

    Чтобы создать двумерный массив, отделите каждую строку точкой с запятой, а каждый столбец данных - запятой.

    ={"a", "b", "c"; 1, 2, 3}

    Работа с константами массивов Excel

    Константы массива являются одним из краеугольных камней формулы массива Excel. Следующая информация и советы помогут вам использовать их наиболее эффективным образом.

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

      Константа массива может содержать числа, текстовые значения, булевы (TRUE и FALSE) и значения ошибок, разделенные запятыми или точкой с запятой.

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

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

    2. Именование констант массива

      Чтобы константу массива было легче использовать, дайте ей имя:

      • Переключитесь на Вкладка Формулы> Определенные имена группу и нажмите кнопку Определить имя Также нажмите Ctrl + F3 и нажмите кнопку Новый .
      • Введите имя в поле Имя
      • В Относится к введите элементы константы вашего массива, заключенные в скобки с предшествующим знаком равенства (=). Например:

        ={"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}

      • Нажмите OK, чтобы сохранить именованный массив и закрыть окно.

      Чтобы ввести именованную константу массива в лист, выделите столько ячеек в строке или столбце, сколько элементов в вашем массиве, введите имя массива в строке формул перед знаком = и нажмите Ctrl + Shift + Enter .

      Результат должен выглядеть следующим образом:

    3. Предотвращение ошибок

      Если константа массива работает неправильно, проверьте наличие следующих проблем:

      • Разделите элементы константы массива соответствующим символом - запятой в горизонтальных константах массива и точкой с запятой в вертикальных.
      • Выбран диапазон ячеек, точно соответствующий количеству элементов в константе вашего массива. Если вы выберете больше ячеек, в каждой дополнительной ячейке будет ошибка #N/A. Если вы выберете меньше ячеек, будет вставлена только часть массива.

    Использование констант массива в формулах Excel

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

    Пример 1. Сумма N наибольших / наименьших чисел в диапазоне

    Вы начинаете с создания вертикальной константы массива, содержащей столько чисел, сколько вы хотите сложить. Например, если вы хотите сложить 3 наименьших или наибольших числа в диапазоне, константа массива будет {1,2,3}.

    Затем, вы берете функцию LARGE или SMALL, указываете весь диапазон ячеек в первом параметре и включаете константу массива во второй. Наконец, встраиваете ее в функцию SUM, вот так:

    Суммируйте наибольшие 3 числа: =SUM(LARGE(range, {1,2,3}))

    Суммируйте 3 наименьших числа: =SUM(SMALL(range, {1,2,3}))

    Не забудьте нажать Ctrl + Shift + Enter, так как вы вводите формулу массива, и вы получите следующий результат:

    Аналогичным образом можно вычислить среднее значение N наименьших или наибольших значений в диапазоне:

    Среднее из 3 верхних чисел: =AVERAGE(LARGE(range, {1,2,3}))

    Среднее значение 3 нижних чисел: =AVERAGE(SMALL(range, {1,2,3}))

    Пример 2. Формула массива для подсчета ячеек с несколькими условиями

    Предположим, у вас есть список заказов, и вы хотите узнать, сколько раз данный продавец продал данный товар.

    Самый простой способ - использовать формулу COUNTIFS с несколькими условиями. Однако если вы хотите включить много продуктов, ваша формула COUNTIFS может стать слишком большой. Чтобы сделать ее более компактной, вы можете использовать COUNTIFS вместе с SUM и включить константу массива в один или несколько аргументов, например:

    =SUM(COUNTIFS(range1, "criteria1", range2, {"criteria1", "criteria2"}))

    Реальная формула может выглядеть следующим образом:

    =SUM(COUNTIFS(B2:B9, "sally", C2:C9, {"яблоки", "лимоны"}))

    Наш пример массива состоит только из двух элементов, поскольку целью является демонстрация подхода. В формулы реальных массивов вы можете включать столько элементов, сколько требует ваша бизнес-логика, при условии, что общая длина формулы не превышает 8 192 символов в Excel 2019 - 2007 (1 024 символов в Excel 2003 и ниже) и ваш компьютер достаточно мощный для обработки больших массивов. Просьбаподробнее см. в разделе ограничения формул массивов.

    А вот пример расширенной формулы массива, которая находит сумму всех совпадающих значений в таблице: SUM и VLOOKUP с константой массива.

    Операторы AND и OR в формулах массивов Excel

    Оператор массива сообщает формуле, как вы хотите обработать массивы - используя логику AND или OR.

    • Оператор AND представляет собой звездочку (*), которая является символом умножения. Он предписывает Excel возвращать TRUE, если ВСЕ условия оцениваются как TRUE.
    • Оператор OR - это знак плюс (+). Он возвращает TRUE, если ЛЮБОЕ из условий в данном выражении оценивается как TRUE.

    Формула массива с оператором AND

    В этом примере мы находим сумму продаж, где торговым агентом является Майк И продукт Яблоки :

    =SUM((A2:A9="Майк") * (B2:B9="Яблоки") * (C2:C9))

    Или

    =SUM(IF(((A2:A9="Майк") * (B2:B9="Яблоки")), (C2:C9))))

    Технически, эта формула перемножает элементы трех массивов в одинаковых позициях. Первые два массива представлены значениями TRUE и FALSE, которые являются результатами сравнения A2:A9 с Mike" и B2:B9 с "Apples". Третий массив содержит номера продаж из диапазона C2:C9. Как и любая математическая операция, умножение преобразует TRUE и FALSE в 1 и 0, соответственно. И посколькуУмножение на 0 всегда дает ноль, результирующий массив имеет 0, если не выполнены одно из условий или оба условия. Если оба условия выполнены, то соответствующий элемент из третьего массива попадает в конечный массив (например, 1*1*C2 = 10). Таким образом, результатом умножения будет этот массив: {10;0;0;30;0;0;0;0;0;0}. Наконец, функция SUM суммирует элементы массива и возвращает результат 40.

    Формула массива Excel с оператором OR

    Следующая формула массива с оператором OR (+) суммирует все продажи, где продавцом является Mike OR product is Яблоки:

    =SUM(IF(((A2:A9="Майк") + (B2:B9="Яблоки")), (C2:C9))))

    В этой формуле вы складываете элементы первых двух массивов (которые являются условиями, которые вы хотите проверить) и получаете TRUE (>0), если хотя бы одно условие оценивается в TRUE; FALSE (0), если все условия оцениваются в FALSE. Затем IF проверяет, больше ли результат сложения 0, и если да, то SUM складывает соответствующий элемент третьего массива (C2:C9).

    Совет. В современных версиях Excel нет необходимости использовать формулу массива для подобных задач - с ними прекрасно справляется простая формула SUMIFS. Тем не менее, операторы AND и OR в формулах массива могут оказаться полезными в более сложных сценариях, не говоря уже об очень хорошей гимнастике ума : )

    Двойной унарный оператор в формулах массивов Excel

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

    Двойное тире, которое технически называется двойной унарный оператор, используется для преобразования нечисловых булевых значений (TRUE / FALSE), возвращаемых некоторыми выражениями, в 1 и 0, которые может понять функция массива.

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

    Следующая формула будет работать отлично:

    =SUM(--(MONTH(A2:A10)=1))

    Поскольку это формула массива Excel, не забудьте нажать Ctrl + Shift + Enter для ее завершения.

    Если вас интересует какой-то другой месяц, замените 1 на соответствующее число. Например, 2 означает февраль, 3 - март и т.д. Чтобы сделать формулу более гибкой, вы можете указать номер месяца в какой-нибудь ячейке, как показано на скриншоте:

    А теперь давайте проанализируем, как работает эта формула массива. Функция MONTH возвращает месяц каждой даты в ячейках с A2 по A10, представленный порядковым номером, который порождает массив {2;1;4;2;12;1;2;12;1}.

    После этого каждый элемент массива сравнивается со значением в ячейке D1, которая в данном примере является числом 1. Результатом сравнения является массив булевых значений TRUE и FALSE. Как вы помните, вы можете выделить определенную часть формулы массива и нажать F9, чтобы увидеть, чему равна эта часть:

    Наконец, необходимо преобразовать эти булевы значения в 1 и 0, понятные функции SUM. Для этого и нужен двойной унарный оператор. Первый унарный оператор преобразует TRUE/FALSE в -1/0 соответственно. Второй унарный оператор отрицает значения, то есть меняет знак, превращая их в +1 и 0, с которыми может работать большинство функций Excel. Если убрать двойной унарный оператор.из приведенной выше формулы, не будет работать.

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.