Изминаха осем дни от обявяването на формули за динамични масиви на конференцията Ignite 2018 в Орландо. Ето какво научих:
- Модерни масиви бяха обявени на Ignite на 24 септември 2018 г. и официално наречени Dynamic Arrays.
- Написах 60-странична електронна книга с 30 примера как да ги използвам и я предлагам безплатно до края на 2018 г.
- Въвеждането ще бъде много по-бавно, отколкото някой иска, което е разочароващо. Защо толкова бавно? Екипът на Excel направи промени в кода на Calc Engine, който е стабилен от 30 години. От особено значение: с добавки, които инжектират формули в Excel, които неволно са използвали неявно пресичане. Тези добавки ще се счупят, ако Excel сега върне диапазон на разливане.
- Има нов начин за препращане към диапазона, върнат от масив:
=E3#
но той все още няма име. В # се нарича Изтеклият Формула оператор . Какво мислите за име като Spill Ref (предложено от Excel MVP Jon Acampora) или The Spiller (предложено от MVP Ingeborg Hawighorst)?
Като съавтор на Свиване на данни на обобщената таблица, обичам добрата обобщена таблица. Но какво, ако имате нужда от вашите обобщени таблици за актуализация и не можете да се доверите на мениджъра на вашия мениджър да щракне върху Refresh? Техниката, описана днес, предлага поредица от три формули за замяна на обобщена таблица.
За да получите сортиран списък с уникални клиенти, използвайте =SORT(UNIQUE(E2:E564))
в I2.
![](https://cdn.wiki-base.com/6133197/replace_a_pivot_table_with_3_dynamic_array_formulas_-_excel_tips_2.jpg.webp)
За да поставите продукта отгоре, използвайте =TRANSPOSE(SORT(UNIQUE(B2:B564)))
в J1.
![](https://cdn.wiki-base.com/6133197/replace_a_pivot_table_with_3_dynamic_array_formulas_-_excel_tips_3.jpg.webp)
Тук има проблем: не знаете колко висок ще бъде списъкът с клиенти. Не знаете колко широка ще бъде продуктовата листа. Ако се позовавате на I2 #, Spiller автоматично ще се позовава на текущия размер на върнатия масив.
Формулата за връщане областта стойности на масата на въртене е единична формула масив в J2: =SUMIFS(G2:G564,E2:E564,I2#,B2:B564,J1#)
.
На английски това казва, че искате да добавите приходите от G2: G564, където клиентите в E съответстват на клиента на текущия ред от формулата на масива I2, а продуктите в B съответстват на текущата колона на формулата на масива в J1.
![](https://cdn.wiki-base.com/6133197/replace_a_pivot_table_with_3_dynamic_array_formulas_-_excel_tips_4.jpg.webp)
Какво ще стане, ако основните данни се променят? Добавих нов клиент и нов продукт, като промених тези две клетки в източника.
![](https://cdn.wiki-base.com/6133197/replace_a_pivot_table_with_3_dynamic_array_formulas_-_excel_tips_5.jpg.webp)
Отчетът се актуализира с нови редове и нови колони. Препратката към диапазона от масиви на I2 # и J1 # обработва допълнителния ред и колона.
![](https://cdn.wiki-base.com/6133197/replace_a_pivot_table_with_3_dynamic_array_formulas_-_excel_tips_6.jpg.webp)
Защо SUMIFS работи? Това е концепция в Excel, наречена Broadcasting. Ако имате формула, която се отнася до два масива:
- Масив едно е (27 реда) x (1 колона)
- Масив две е (1 ред) x (3 колони)
- Excel ще върне резултатен масив, който е толкова висок и широк, колкото най-високата и широка част от референтните масиви:
- Резултатът ще бъде (27 реда) x (3 колони).
- Това се нарича Излъчващи масиви.
Гледам видео
Изтеглете Excel файла
За да изтеглите файла на Excel: replace-a-pivot-table-with-3-dynamic-array-formulas.xlsx
Мисъл на деня в Excel
Помолих приятелите си в Excel Master за съвети относно Excel. Днешната мисъл за размисъл:
„Дръжте данните си близо и електронните си таблици по-близо“
Джордан Голдмайер