Динамічні масиви, функції та формули Excel

  • Поділитися Цим
Michael Brown

Зміст

Завдяки революційному оновленню в обчислювальному движку Excel 365 формули масивів стали дуже простими і зрозумілими для всіх, а не тільки для суперкористувачів. У посібнику пояснюється концепція нових динамічних масивів Excel і показується, як вони можуть зробити ваші робочі аркуші більш ефективними і набагато простішими в налаштуванні.

Формули масивів Excel завжди вважалися прерогативою гуру і знавців формул. Якщо хтось каже: "Це можна зробити за допомогою формули масиву", негайною реакцією багатьох користувачів є "А що, немає іншого способу?".

Впровадження динамічних масивів є довгоочікуваною і найбільш бажаною зміною. Завдяки своїй здатності працювати з декількома значеннями простим способом, без будь-яких хитрощів і хитрощів, формули динамічних масивів - це те, що зрозуміло кожному користувачеві Excel, і що він може створювати з задоволенням.

    Динамічні масиви Excel

    Динамічні масиви це масиви зі змінними розмірами, які автоматично обчислюють і повертають значення в декілька клітинок на основі формули, введеної в одну клітинку.

    За більш ніж 30-річну історію Microsoft Excel зазнав безліч змін, але одне залишалося незмінним - одна формула, одна комірка. Навіть з традиційними формулами масивів необхідно було вводити формулу в кожну комірку, де ви хочете, щоб з'явився результат. З динамічними масивами це правило вже не актуально. Тепер будь-яка формула, яка повертає масив значень, автоматично розливається в сусідніІнакше кажучи, робота з динамічними масивами стає такою ж простою, як і робота з однією коміркою.

    Дозвольте мені проілюструвати цю концепцію на дуже простому прикладі. Припустимо, вам потрібно перемножити дві групи чисел, наприклад, для того, щоб обчислити різні відсотки.

    У попередніх версіях 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 нових функцій, які нативно працюють з масивами і виводять дані в діапазон комірок. Висновок завжди динамічний - при будь-якій зміні вихідних даних результати оновлюються автоматично. Звідси і назва групи - "Висновок". функції динамічних масивів .

    Ці нові функції легко справляються з низкою завдань, які традиційно вважаються міцним горішком. Наприклад, вони можуть видаляти дублікати, витягувати і підраховувати унікальні значення, відфільтровувати пропуски, генерувати випадкові цілі і десяткові числа, сортувати за зростанням або спаданням і багато іншого.

    Нижче ви знайдете короткий опис того, що робить кожна функція, а також посилання на поглиблені навчальні посібники:

    1. UNIQUE - витягує унікальні елементи з діапазону комірок.
    2. ФІЛЬТР - фільтрує дані на основі визначених вами критеріїв.
    3. СОРТУВАННЯ - сортує діапазон комірок за вказаним стовпцем.
    4. СОРТУВАННЯ - сортує діапазон комірок за іншим діапазоном або масивом.
    5. RANDARRAY - генерує масив випадкових чисел.
    6. SEQUENCE - формує список порядкових номерів.
    7. TEXTSPLIT - розбиває рядки на стовпці та/або рядки за вказаним роздільником.
    8. TOCOL - перетворити масив або діапазон в один стовпець.
    9. TOROW - перетворити діапазон або масив в один рядок.
    10. WRAPCOLS - перетворює рядок або стовпець в 2D масив на основі вказаної кількості значень в рядку.
    11. WRAPROWS - переформує рядок або стовпець у 2D масив на основі вказаної кількості значень у стовпці.
    12. 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. Існуючі функції підтримують динамічні масиви

    Якщо ви надасте діапазон клітинок функції ОБМЕЖЕННЯ в старішій версії, наприклад, Excel 2016 або Excel 2019, вона поверне єдиний результат для першої клітинки:

    =TRIM(A2:A6)

    У динамічному Excel одна і та ж формула обробляє всі клітинки і повертає кілька результатів, як показано нижче:

    Приклад 5. Формула 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 відбулася ще одна суттєва зміна мови формул - введення символу @, відомого як неявний оператор перетину .

      У Microsoft Excel, неявний перетин це поведінка формули, яка зводить багато значень до одного значення. У старому Excel комірка могла містити тільки одне значення, тому це була поведінка за замовчуванням і для неї не було потрібно спеціального оператора.

      У новому Excel всі формули за замовчуванням розглядаються як формули масиву. Оператор неявного перетину використовується для того, щоб запобігти поведінці масиву, якщо він не потрібен у конкретній формулі. Іншими словами, якщо ви хочете, щоб формула повертала тільки одне значення, поставте @ перед ім'ям функції, і вона буде поводитися як формула, що не є масивом, у традиційному Excel.

      Щоб побачити, як це працює на практиці, будь ласка, подивіться на скріншот нижче.

      У С2 є формула динамічного масиву, яка розкидає результати по багатьом коміркам:

      =UNIQUE(A2:A9)

      В Е2 до функції додано префікс @, який викликає неявне перетинання. В результаті повертається тільки перше унікальне значення:

      =@UNIQUE(A2:A9)

      Для отримання додаткової інформації, будь ласка, дивіться Неявний перетин в Excel.

      Переваги динамічних масивів Excel

      Безсумнівно, динамічні масиви - одне з кращих удосконалень Excel за останні роки. Як і будь-яка нова функція, вони мають сильні та слабкі сторони. На щастя для нас, сильні сторони нових формул динамічних масивів Excel переважають!

      Простіше і потужніше

      Динамічні масиви дають можливість створювати більш потужні формули набагато простішим способом. Наведемо кілька прикладів:

      • Витяг унікальних значень: традиційні формули
      • Обчислюємо унікальні та відмінні цінності: традиційні формули
      • Сортування стовпців за алфавітом: традиційні формули

      Рідна мова для всіх формул

      У динамічному Excel не потрібно перейматися тим, які функції підтримують масиви, а які ні. Якщо формула може повертати кілька значень, вона буде робити це за замовчуванням. Це також стосується арифметичних операцій і успадкованих функцій, як продемонстровано в цьому прикладі.

      Вкладені функції динамічних масивів

      Для вирішення більш складних завдань ви можете комбінувати нові функції динамічних масивів Excel або використовувати їх разом зі старими, як показано тут і тут.

      Відносні та абсолютні згадки менш важливі

      Завдяки підходу "одна формула - багато значень" немає необхідності блокувати діапазони знаком $, оскільки технічно формула знаходиться всього в одній комірці. Таким чином, здебільшого не має значення, використовувати абсолютні, відносні або змішані посилання на комірки (що завжди викликало плутанину у недосвідчених користувачів) - формула динамічного масиву в будь-якому випадку видасть коректні результати!

      Обмеження динамічних масивів

      Нові динамічні масиви - це чудово, але, як і з будь-якою новою функцією, є кілька застережень і міркувань, про які вам слід знати.

      Результати не можуть бути відсортовані звичайним способом

      Діапазон розливу, що повертається формулою динамічного масиву, не може бути відсортований за допомогою функції Сортування Excel. Будь-яка така спроба призведе до того, що в результаті з'явиться символ " Не можна змінювати частину масиву "Щоб упорядкувати результати від найменшого до найбільшого або навпаки, оберніть поточну формулу у функцію СОРТУВАННЯ. Наприклад, таким чином можна одночасно фільтрувати і сортувати.

      Неможливо видалити жодне значення в діапазоні розливу

      Жодне із значень в діапазоні розливу не може бути видалене з тієї ж причини: не можна змінити частину масиву. Така поведінка є очікуваною і логічною. Традиційні формули масиву CSE також працюють таким чином.

      Не підтримуються в таблицях Excel

      Ця особливість (чи баг?) досить несподівана. Формули динамічних масивів не працюють всередині таблиць Excel, тільки всередині звичайних діапазонів. Якщо спробувати перетворити діапазон розливу в таблицю, Excel це зробить. Але замість результату ви побачите лише помилку #SPILL!

      Не працювати з Excel Power Query

      Результати формул динамічних масивів не можуть бути завантажені в Power Query. Скажімо, якщо ви спробуєте об'єднати два або більше діапазонів розливу за допомогою Power Query, це не спрацює.

      Динамічні масиви в порівнянні з традиційними формулами масивів CSE

      З введенням динамічних масивів можна говорити про два види Excel:

      1. Динамічний Excel який повністю підтримує динамічні масиви, функції та формули. Наразі це лише Excel 365 та Excel 2021.
      2. Застарілий Excel він же традиційний або додинамічний Excel, де підтримуються тільки масивні формули Ctrl + Shift + Enter. Це Excel 2019, Excel 2016, Excel 2013 і більш ранні версії.

      Зрозуміло, що динамічні масиви за всіма параметрами перевершують формули масивів CSE. Хоча традиційні формули масивів зберігаються з міркувань сумісності, відтепер рекомендується використовувати нові.

      Ось найбільш суттєві відмінності:

      • Формула динамічного масиву вводиться в одну комірку і завершується звичайним натисканням клавіші Enter. Для завершення формули масиву по-старому потрібно натиснути комбінацію клавіш Ctrl + Shift + Enter .
      • Нові формули масиву автоматично поширюються на багато клітинок. Формули CSE повинні бути скопійовані в діапазон клітинок, щоб отримати кілька результатів.
      • Висновок формул динамічних масивів автоматично змінює розмір при зміні даних у вихідному діапазоні. Формули CSE усікають висновок, якщо область повернення занадто мала, і повертають помилки в зайвих комірках, якщо область повернення занадто велика.
      • Формула динамічного масиву легко редагується в одній комірці. Для зміни формули CSE необхідно виділити і відредагувати весь діапазон.
      • У діапазоні формул CSE неможливо видаляти і вставляти рядки - спочатку потрібно видалити всі існуючі формули. У динамічних масивах вставка або видалення рядків не є проблемою.

      Зворотна сумісність: динамічні масиви в застарілому Excel

      При відкритті книги, що містить формулу динамічного масиву в старому Excel, вона автоматично перетворюється в звичайну формулу масиву, укладену в {фігурні дужки}. При повторному відкритті аркуша в новому Excel фігурні дужки будуть видалені.

      У застарілому Excel нові функції динамічних масивів та посилання на діапазон розливу отримують префікс _xlfn, щоб вказати, що ця функціональність не підтримується. Знак посилання на діапазон розливу (#) замінюється на функцію ANCHORARRAY (АНКОРЕКТОР).

      Наприклад, ось як виглядає УНІКАЛЬНА формула в Excel 2013 :

      Більшість формул динамічних масивів (але не всі!) продовжуватимуть відображати свої результати в застарілому Excel, поки ви не внесете в них будь-які зміни. Редагування формули негайно розриває її і відображає одне або кілька значень помилки #NAME?

      Не працюють формули динамічних масивів Excel

      В залежності від функції можуть виникати різні помилки при використанні неправильного синтаксису або недопустимих аргументів. Нижче наведено 3 найпоширеніші помилки, з якими можна зіткнутися при роботі з будь-якою формулою динамічного масиву.

      #SPILL! помилка

      Коли динамічний масив повертає декілька результатів, але щось блокує діапазон розливу, виникає помилка #SPILL!

      Для виправлення помилки потрібно просто очистити або видалити всі комірки в діапазоні розливу, які не є повністю порожніми. Щоб швидко помітити всі комірки, які заважають, клацніть по індикатору помилки, а потім натисніть Виберіть клітинки, що заважають .

      Крім непорожнього діапазону розливу, ця помилка може бути викликана кількома іншими причинами. Для отримання додаткової інформації, будь ласка, дивіться:

      • Помилка Excel #SPILL - причини та способи усунення
      • Як виправити помилку #SPILL! за допомогою VLOOKUP, INDEX MATCH, SUMIF

      #REF! помилка

      Через обмежену підтримку зовнішніх посилань між робочими книгами, динамічні масиви вимагають, щоб обидва файли були відкриті. Якщо вихідна робоча книга закрита, видається помилка #REF!

      #NAME? помилка

      Помилка #NAME? виникає при спробі використовувати функцію динамічного масиву в старій версії Excel. Пам'ятайте, що нові функції доступні тільки в Excel 365 і Excel 2021.

      Якщо ця помилка з'являється в підтримуваних версіях Excel, перевірте ще раз назву функції в проблемній комірці - можливо, вона набрана з помилкою :)

      Ось так можна використовувати динамічні масиви в Excel. Сподіваюся, вам сподобається ця фантастична нова функціональність! У будь-якому випадку, дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.