Оглавление
Благодаря революционному обновлению механизма вычислений Excel 365 формулы массивов стали очень простыми и понятными для всех, а не только для суперпользователей. В учебнике объясняется концепция новых динамических массивов Excel и показывается, как они могут сделать ваши рабочие листы более эффективными и гораздо более простыми в настройке.
Формулы массивов Excel всегда считались прерогативой гуру и экспертов по формулам. Если кто-то говорит: "Это можно сделать с помощью формулы массива", немедленная реакция многих пользователей - "А разве нет другого способа?".
Введение динамических массивов - это долгожданное и долгожданное изменение. Благодаря их способности работать с несколькими значениями простым способом, без каких-либо ухищрений и причуд, формулы динамических массивов - это то, что каждый пользователь Excel может понять и с удовольствием создавать.
Динамические массивы Excel
Динамические массивы это изменяемые по размеру массивы, которые автоматически вычисляют и возвращают значения в несколько ячеек на основе формулы, введенной в одну ячейку.
За более чем 30-летнюю историю Microsoft Excel претерпел множество изменений, но одно оставалось неизменным - одна формула, одна ячейка. Даже при использовании традиционных формул массивов необходимо было вводить формулу в каждую ячейку, где вы хотите, чтобы появился результат. С динамическими массивами это правило больше не верно. Теперь любая формула, возвращающая массив значений, автоматически перетекает в соседние ячейки.ячейки, без необходимости нажимать Ctrl + Shift + Enter или делать какие-либо другие движения. Другими словами, работать с динамическими массивами становится так же просто, как и с отдельной ячейкой.
Позвольте мне проиллюстрировать эту концепцию на очень простом примере. Предположим, вам нужно перемножить две группы чисел, например, для вычисления различных процентов.
В додинамических версиях Excel приведенная ниже формула будет работать только для первой ячейки, если только вы не введете ее в несколько ячеек и не нажмете Ctrl + Shift + Enter, чтобы явно сделать ее формулой массива:
=A3:A5*B2:D2
Теперь посмотрите, что произойдет, если использовать ту же формулу в Excel 365. Вы вводите ее только в одну ячейку (в нашем случае B3), нажимаете клавишу Enter... и результаты сразу заполняют всю ярость:
Заполнение нескольких ячеек одной формулой называется проливание , а заполненный диапазон ячеек называется диапазоном разлива.
Важно отметить, что недавнее обновление - это не просто новый способ работы с массивами в Excel. На самом деле, это революционное изменение всего механизма вычислений. Благодаря динамическим массивам в библиотеку функций Excel была добавлена куча новых функций, а существующие стали работать быстрее и эффективнее. В конечном счете, новые динамические массивы должны полностьюзаменить старомодные формулы массивов, которые вводятся с помощью сочетания клавиш Ctrl + Shift + Enter.
Доступность динамических массивов Excel
Динамические массивы были представлены на конференции Microsoft Ignite в 2018 г. и выпущены для подписчиков Office 365 в январе 2020 г. В настоящее время они доступны в Подписки на Microsoft 365 и Excel 2021.
Динамические массивы поддерживаются в этих версиях:
- Excel 365 для Windows
- Excel 365 для Mac
- Excel 2021
- Excel 2021 для Mac
- Excel для iPad
- Excel для iPhone
- Excel для планшетов Android
- Excel для телефонов Android
- Excel для Интернета
Функции динамических массивов Excel
В рамках новой функциональности в Excel 365 были представлены 6 новых функций, которые нативно работают с массивами и выводят данные в диапазон ячеек. Вывод всегда динамичен - при любом изменении исходных данных результаты обновляются автоматически. Отсюда и название группы. функции динамических массивов .
Эти новые функции легко справляются с рядом задач, которые традиционно считаются трудными. Например, они могут удалять дубликаты, извлекать и подсчитывать уникальные значения, отфильтровывать пробелы, генерировать случайные целые и десятичные числа, сортировать по возрастанию или убыванию и многое другое.
Ниже вы найдете краткое описание работы каждой функции, а также ссылки на подробные руководства:
- UNIQUE - извлекает уникальные элементы из ряда ячеек.
- ФИЛЬТР - фильтрует данные по заданным вами критериям.
- SORT - сортирует диапазон ячеек по заданному столбцу.
- SORTBY - сортирует диапазон ячеек по другому диапазону или массиву.
- RANDARRAY - генерирует массив случайных чисел.
- SEQUENCE - генерирует список последовательных номеров.
- TEXTSPLIT - разделяет строки по заданному разделителю на столбцы или/и строки.
- TOCOL - преобразование массива или диапазона в один столбец.
- TOROW - преобразование диапазона или массива в одну строку.
- WRAPCOLS - преобразует строку или столбец в двумерный массив на основе заданного количества значений в строке.
- WRAPROWS - переформирование строки или столбца в двумерный массив на основе заданного количества значений в столбце.
- TAKE - извлекает заданное количество смежных строк и/или столбцов из начала или конца массива.
Кроме того, существуют две современные замены популярных функций Excel, которые официально не входят в группу, но используют все преимущества динамических массивов:
XLOOKUP - более мощный преемник VLOOKUP, HLOOKUP и LOOKUP, который может искать как в столбцах, так и в строках и возвращать несколько значений.
XMATCH - это более универсальный преемник функции MATCH, который может выполнять вертикальный и горизонтальный поиск и возвращать относительную позицию указанного элемента.
Формулы динамических массивов Excel
В современных версиях Excel поведение динамических массивов глубоко интегрировано и становится родным для все функции Даже те, которые изначально не были предназначены для работы с массивами. Проще говоря, для любой формулы, которая возвращает более одного значения, Excel автоматически создает изменяемый диапазон, в который выводятся результаты. Благодаря этой возможности существующие функции теперь могут творить волшебство!
Приведенные ниже примеры показывают новые формулы динамических массивов в действии, а также влияние динамических массивов на существующие функции.
Пример 1. Новая функция динамического массива
Этот пример демонстрирует, насколько быстрее и проще можно решить задачу с помощью функций динамического массива Excel.
Для извлечения списка уникальных значений из столбца традиционно используется сложная формула CSE, подобная этой. В динамическом Excel все, что вам нужно, - это формула UNIQUE в ее базовой форме:
=UNIQUE(B2:B10)
Вы вводите формулу в любую пустую ячейку и нажимаете Enter. Excel немедленно извлекает все различные значения в списке и выводит их в диапазон ячеек, начиная с ячейки, в которую вы ввели формулу (в нашем случае D2). При изменении исходных данных результаты пересчитываются и обновляются автоматически.
Пример 2. Объединение нескольких функций динамического массива в одной формуле
Если нет возможности выполнить задачу с помощью одной функции, соедините несколько! Например, чтобы отфильтровать данные по условию и расположить результаты в алфавитном порядке, оберните функцию SORT вокруг FILTER следующим образом:
=SORT(FILTER(A2:C13, B2:B13=F1, "Нет результатов"))
Где A2:C13 - исходные данные, B2:B13 - значения для проверки, а F1 - критерий.
Пример 3. Использование новых функций динамических массивов вместе с существующими
Поскольку новый механизм вычислений, реализованный в Excel 365, может легко превращать обычные формулы в массивы, ничто не мешает вам комбинировать новые и старые функции вместе.
Например, чтобы подсчитать, сколько уникальных значений находится в определенном диапазоне, вложите функцию динамического массива UNIQUE в старый добрый COUNTA:
=COUNTA(UNIQUE(B2:B10))
Пример 4. Существующие функции поддерживают динамические массивы
Если вы предоставите диапазон ячеек функции TRIM в более старой версии, такой как Excel 2016 или Excel 2019, она вернет единственный результат для первой ячейки:
=TRIM(A2:A6)
В динамическом Excel одна и та же формула обрабатывает все ячейки и возвращает несколько результатов, как показано ниже:
Пример 5. Формула VLOOKUP для возврата нескольких значений
Как всем известно, функция VLOOKUP предназначена для возврата одного значения на основе указанного вами индекса столбца. Однако в Excel 365 вы можете предоставить массив номеров столбцов, чтобы вернуть совпадения из нескольких столбцов:
=VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)
Пример 6. Простая формула TRANSPOSE
В ранних версиях Excel синтаксис функции ТРАНСПОЗИЦИЯ не оставлял места для ошибок. Чтобы повернуть данные в рабочем листе, нужно было подсчитать исходные столбцы и строки, выделить такое же количество пустых ячеек, но изменить ориентацию (умопомрачительная операция в огромных рабочих листах!), ввести формулу ТРАНСПОЗИЦИЯ в выделенном диапазоне и нажать Ctrl + Shift + Enter для правильного завершения. Фух!
В динамическом Excel достаточно ввести формулу в самую левую ячейку выходного диапазона и нажать Enter:
=TRANSPOSE(A1:B6)
Готово!
Диапазон разлива - одна формула, несколько ячеек
Сайт диапазон разлива это диапазон ячеек, который содержит значения, возвращаемые формулой динамического массива.
При выделении любой ячейки в диапазоне разлива появляется синяя рамка, показывающая, что все внутри нее вычисляется по формуле в левой верхней ячейке. Если удалить формулу в первой ячейке, все результаты исчезнут.
Диапазон разлива - это действительно замечательная вещь, которая значительно облегчает жизнь пользователей Excel. Раньше при использовании формул массива CSE приходилось угадывать, в какое количество ячеек их копировать. Теперь достаточно ввести формулу в первую ячейку, и пусть Excel позаботится обо всем остальном.
Примечание. Если какие-то другие данные блокируют диапазон разлива, возникает ошибка #SPILL. Как только мешающие данные будут удалены, ошибка исчезнет.
Для получения дополнительной информации см. раздел Диапазон разлива Excel.
Ссылка на диапазон разлива (символ #)
Чтобы сослаться на диапазон разлива, поставьте хэш-тег или символ фунта (#) после адреса верхней левой ячейки в диапазоне.
Например, чтобы узнать, сколько случайных чисел сгенерировано формулой RANDARRAY в A2, поставьте ссылку на диапазон разлива в функцию COUNTA:
=COUNTA(A2#)
Чтобы сложить значения в диапазоне разлива, используйте:
=SUM(A2#)
Советы:
- Чтобы быстро сослаться на диапазон разлива, просто выделите все ячейки внутри синего поля с помощью мыши, и Excel создаст для вас диапазон разлива.
- В отличие от обычной ссылки на диапазон, ссылка на диапазон разлива является динамической и реагирует на изменение размера диапазона автоматически.
- Извлечение уникальных ценностей: традиционные формулы
- Подсчет уникальных и отличных значений: традиционные формулы
- Сортировка столбцов по алфавиту: традиционные формулы
- Динамический Excel который полностью поддерживает динамические массивы, функции и формулы. В настоящее время это только Excel 365 и Excel 2021.
- Наследие Excel , он же традиционный или додинамический Excel, где поддерживаются только формулы массива Ctrl + Shift + Enter. Это Excel 2019, Excel 2016, Excel 2013 и более ранние версии.
- Динамическая формула массива вводится в одну ячейку и завершается обычным нажатием клавиши Enter. Для завершения старой формулы массива необходимо нажать Ctrl + Shift + Enter .
- Новые формулы массивов автоматически распространяются на многие ячейки. Формулы CSE должны быть скопированы в диапазон ячеек, чтобы вернуть несколько результатов.
- Вывод формул динамического массива автоматически изменяет размер при изменении данных в исходном диапазоне. Формулы CSE усекают вывод, если область возврата слишком мала, и возвращают ошибки в дополнительных ячейках, если область возврата слишком велика.
- Формулу динамического массива можно легко редактировать в одной ячейке. Чтобы изменить формулу CSE, необходимо выделить и отредактировать весь диапазон.
- Невозможно удалять и вставлять строки в диапазоне формул CSE - сначала нужно удалить все существующие формулы. С динамическими массивами вставка или удаление строк не является проблемой.
- Ошибка Excel #SPILL - причины и способы устранения
- Как исправить ошибку #SPILL! с помощью VLOOKUP, INDEX MATCH, SUMIF
Более подробную информацию см. в разделе Оператор диапазона разлива.
Неявное пересечение и символ @
В динамическом массиве Excel есть еще одно существенное изменение в языке формул - введение символа @, известного как неявный оператор пересечения .
В Microsoft Excel, неявное пересечение это поведение формулы, которая сводит множество значений к одному. В старом Excel ячейка могла содержать только одно значение, поэтому такое поведение было по умолчанию, и для него не требовался специальный оператор.
В новом Excel все формулы по умолчанию считаются формулами массивов. Неявный оператор пересечения используется для предотвращения поведения массива, если вы не хотите, чтобы он был в конкретной формуле. Другими словами, если вы хотите, чтобы формула возвращала только одно значение, поставьте @ перед именем функции, и она будет вести себя как формула без массива в традиционном Excel.
Чтобы увидеть, как это работает на практике, пожалуйста, посмотрите на скриншот ниже.
В C2 есть формула динамического массива, которая разливает результаты по многим ячейкам:
=UNIQUE(A2:A9)
В E2 функция снабжена префиксом @, который вызывает неявное пересечение. В результате возвращается только первое уникальное значение:
=@UNIQUE(A2:A9)
Для получения дополнительной информации см. раздел Неявное пересечение в Excel.
Преимущества динамических массивов Excel
Несомненно, динамические массивы - одно из лучших усовершенствований Excel за последние годы. Как и у любой новой функции, у них есть сильные и слабые стороны. К счастью для нас, сильные стороны новых формул динамических массивов Excel просто ошеломляют!
Простой и более мощный
Динамические массивы позволяют создавать более мощные формулы гораздо более простым способом. Вот несколько примеров:
Родина для всех формул
В динамическом Excel вам не нужно беспокоиться о том, какие функции поддерживают массивы, а какие нет. Если формула может возвращать несколько значений, она будет делать это по умолчанию. Это также относится к арифметическим операциям и унаследованным функциям, как показано в этом примере.
Вложенные функции динамических массивов
Для решения более сложных задач вы можете комбинировать новые функции динамических массивов Excel или использовать их вместе со старыми, как показано здесь и здесь.
Относительные и абсолютные ссылки менее важны
Благодаря подходу "одна формула, много значений", нет необходимости фиксировать диапазоны знаком $, поскольку технически формула находится только в одной ячейке. Поэтому, по большей части, не имеет значения, использовать ли абсолютные, относительные или смешанные ссылки на ячейки (что всегда было источником путаницы для неопытных пользователей) - формула динамического массива в любом случае даст правильные результаты!
Ограничения динамических массивов
Новые динамические массивы - это здорово, но, как и в случае с любой новой функцией, есть несколько предостережений и соображений, о которых вы должны знать.
Результаты не могут быть отсортированы обычным способом
Диапазон разливов, возвращаемый формулой динамического массива, не может быть отсортирован с помощью функции "Сортировка" Excel. Любая такая попытка приведет к появлению сообщения " Вы не можете изменить часть массива " ошибка. Чтобы расположить результаты от наименьшего к наибольшему или наоборот, оберните вашу текущую формулу в функцию SORT. Например, вот как вы можете фильтровать и сортировать одновременно.
Невозможно удалить ни одно значение в диапазоне разлива
Ни одно из значений в диапазоне разлива не может быть удалено по той же причине: вы не можете изменить часть массива. Такое поведение ожидаемо и логично. Традиционные формулы массивов CSE также работают таким образом.
Не поддерживаются в таблицах Excel
Эта функция (или ошибка?) является довольно неожиданной. Формулы динамических массивов не работают внутри таблиц Excel, только внутри обычных диапазонов. Если вы попытаетесь преобразовать диапазон разлива в таблицу, Excel сделает это. Но вместо результатов вы увидите только ошибку #SPILL!
Не работают с Excel Power Query
Результаты формул динамических массивов не могут быть загружены в Power Query. Например, если вы попытаетесь объединить два или более диапазонов разлива вместе с помощью Power Query, это не сработает.
Динамические массивы в сравнении с традиционными формулами массивов CSE
С введением динамических массивов мы можем говорить о двух типах Excel:
Само собой разумеется, что динамические массивы превосходят формулы массивов CSE по всем параметрам. Хотя традиционные формулы массивов сохраняются из соображений совместимости, отныне рекомендуется использовать новые формулы.
Вот наиболее существенные различия:
Обратная совместимость: динамические массивы в устаревшем Excel
При открытии рабочей книги, содержащей формулу динамического массива в старом Excel, она автоматически преобразуется в обычную формулу массива, заключенную в {курковые скобки}. При повторном открытии рабочего листа в новом Excel курковые скобки будут удалены.
В устаревшем Excel новые функции динамических массивов и ссылки на диапазон разлива получают префикс _xlfn, чтобы указать, что эта функциональность не поддерживается. Знак ссылки на диапазон разлива (#) заменяется функцией ANCHORARRAY.
Например, вот как формула UNIQUE отображается в разделе Excel 2013 :
Большинство формул динамических массивов (но не все!) будут продолжать отображать свои результаты в старом Excel, пока вы не внесете в них какие-либо изменения. Редактирование формулы немедленно нарушает ее и отображает одно или несколько значений ошибки #NAME?
Формулы динамического массива Excel не работают
В зависимости от функции могут возникать различные ошибки, если вы используете неправильный синтаксис или недопустимые аргументы. Ниже приведены 3 наиболее распространенные ошибки, с которыми вы можете столкнуться при использовании любой формулы динамического массива.
#SPILL! ошибка
Когда динамический массив возвращает несколько результатов, но что-то блокирует диапазон разлива, возникает ошибка #SPILL!
Чтобы исправить ошибку, нужно просто очистить или удалить все ячейки в диапазоне разлива, которые не являются полностью пустыми. Чтобы быстро обнаружить все ячейки, которые мешают, щелкните индикатор ошибки, а затем щелкните Выберите мешающие клетки .
Помимо непустого диапазона разлива, эта ошибка может быть вызвана несколькими другими причинами. Для получения дополнительной информации см:
#REF! ошибка
Из-за ограниченной поддержки внешних ссылок между рабочими книгами динамические массивы требуют, чтобы оба файла были открыты. Если исходная рабочая книга закрыта, отображается ошибка #REF!
#NAME? ошибка
Ошибка #NAME? возникает при попытке использовать функцию динамического массива в старой версии Excel. Помните, что новые функции доступны только в Excel 365 и Excel 2021.
Если эта ошибка появляется в поддерживаемых версиях Excel, перепроверьте имя функции в проблемной ячейке. Есть шанс, что оно введено неправильно :)
Вот как использовать динамические массивы в Excel. Надеюсь, вам понравится эта фантастическая новая функциональность! В любом случае, я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!