Масивни формули и функции в 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

    Да предположим, че в колона Б са записани някои артикули, в колона В - техните цени, и искате да изчислите общата сума на всички продажби.

    Разбира се, нищо не ви пречи първо да изчислите междинните суми във всеки ред с нещо толкова просто като =B2*C2 и след това съберете тези стойности:

    Формулата за масив обаче може да ви спести тези допълнителни натискания на клавиши, тъй като кара Excel да съхранява междинните резултати в паметта, а не в допълнителна колона. Така че е необходима само една формула за масив и 2 бързи стъпки:

    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, понякога те се наричат Формули на CSE .

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

    Когато работите с формули с масиви в Excel, можете да наблюдавате как те изчисляват и съхраняват елементите си (вътрешни масиви), за да покажат крайния резултат, който виждате в клетката. За да направите това, изберете един или няколко аргумента в скобите на функцията и след това натиснете клавиша F9. За да излезете от режима на оценяване на формулата, натиснете клавиша Esc.

    В горния пример, за да видите междинните суми на всички продукти, избирате B2:B6*C2:C6, натискате F9 и получавате следния резултат.

    Забележка: Обърнете внимание, че трябва да изберете част от формулата, преди да натиснете F9, в противен случай клавишът F9 просто ще замени вашата формула с изчислената стойност(и).

    Формули за едноклетъчни и многоклетъчни масиви в Excel

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

    Съществуват няколко функции за масиви на Excel, които са предназначени за връщане на многоклетъчни масиви, например TRANSPOSE, TREND, FREQUENCY, LINEST и др.

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

    Следващите примери показват как да използвате формула за едноклетъчен и многоклетъчен масив.

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

    Да предположим, че имате две колони с броя на продадените артикули през два различни месеца, например колони 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 и по-ранни версии. В Dynamic Array 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 с "Ябълки". Третият масив съдържа номерата на продажбите от диапазона C2:C9. Както всяка математическа операция, умножението превръща TRUE и FALSE съответно в 1 и 0. И тъй катоумножаването по 0 винаги дава нула, полученият масив има 0, когато едно от двете условия не е изпълнено или и двете не са изпълнени. Ако и двете условия са изпълнени, съответният елемент от третия масив влиза в крайния масив (напр. 1*1*C2 = 10). Така че резултатът от умножението е този масив: {10;0;0;30;0;0;0;0;0}. Накрая функцията SUM сумира елементите на масива и връща резултат 40.

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

    Следната формула за масиви с оператора OR (+) сумира всички продажби, при които продавачът е Mike OR продуктът е Ябълки:

    =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, които са разбираеми за функцията на масива.

    Предполагаме, че имате списък с дати в колона А и искате да знаете колко дати се срещат през януари, независимо от годината.

    Следната формула ще ви свърши работа:

    =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. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.