Excel SUMIFS и SUMIF с множество критерии - примери за формули

  • Споделя Това
Michael Brown

В този урок се обяснява разликата между функциите SUMIF и SUMIFS по отношение на техния синтаксис и употреба и се дават редица примери за формули за сумиране на стойности с множество критерии AND/ OR в Excel 365, 2021, 2019, 2016, 2013, 2010 и по-ниски.

Както всеки знае, Microsoft Excel предоставя набор от функции за извършване на различни изчисления с данни. Преди няколко статии разгледахме COUNTIF и COUNTIFS, които са предназначени за преброяване на клетките въз основа на едно условие и няколко условия, съответно. Миналата седмица разгледахме Excel SUMIF, която добавя стойности, отговарящи на зададените критерии. Сега е време да разгледаме версията за множествено число наSUMIF - Excel SUMIFS, който позволява сумиране на стойности по няколко критерия.

Тези, които са запознати с функцията SUMIF, може да си помислят, че преобразуването ѝ в SUMIFS изисква само едно допълнително "S" и няколко допълнителни критерия. Това изглежда съвсем логично... но "логично" не винаги е така, когато работим с Microsoft : )

    Функция SUMIF на Excel - синтаксис и употреба

    Функцията SUMIF се използва за условно сумиране на стойности въз основа на единични критерии . Синтаксисът SUMIF беше разгледан подробно в предишната статия, а тук само ще го опресним.

    SUMIF(обхват, критерии, [sum_range])
    • обхват - обхвата на клетките, които ще бъдат оценявани по вашите критерии, задължително.
    • критерии - условието, което трябва да бъде изпълнено, изисквано.
    • sum_range - клетките, които да се сумират, ако условието е изпълнено, по избор.

    Както виждате, синтаксисът на функцията SUMIF на Excel позволява само едно условие. И все пак казваме, че SUMIF на Excel може да се използва за сумиране на стойности с множество критерии. Как е възможно това? Чрез добавяне на резултатите от няколко функции SUMIF и чрез използване на формули SUMIF с критерии за масив, както е показано в следващите примери.

    Функция SUMIFS на Excel - синтаксис и употреба

    Използвате SUMIFS в Excel, за да намиране на условна сума от стойности въз основа на множество критерии Функцията SUMIFS беше въведена в Excel 2007 и е налична във всички следващи версии на Excel 2010, 2013, 2016, 2019, 2021 и Excel 365.

    В сравнение със SUMIF синтаксисът на SUMIFS е малко по-сложен:

    SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

    Първите 3 аргумента са задължителни, а допълнителните диапазони и свързаните с тях критерии са незадължителни.

    • sum_range - една или повече клетки за сумиране, задължително. Това може да бъде единична клетка, диапазон от клетки или именуван диапазон. Сумират се само клетки с числа; празни и текстови стойности се игнорират.
    • criteria_range1 - първият диапазон, който се оценява по свързаните критерии, задължително.
    • критерии1 - първото условие, което трябва да бъде изпълнено, задължително. Можете да предоставите критериите под формата на число, логически израз, препратка към клетка, текст или друга функция на Excel. Например можете да използвате критерии като 10, ">=10", A1, "череши" или TODAY().
    • criteria_range2, criteria2, ... - това са допълнителни диапазони и критерии, свързани с тях, по избор. Можете да използвате до 127 двойки диапазони/критерии във формулите SUMIFS.

    Бележки:

    • За правилното функциониране на формулата SUMIFS всички criteria_range аргументите трябва да имат същото измерение като sum_range , т.е. еднакъв брой редове и колони.
    • Функцията SUMIFS работи с логиката AND, което означава, че дадена клетка от обхвата на сумиране се сумира само ако отговаря на всички зададени критерии, т.е. всички критерии са верни за тази клетка.

    Основна формула SUMIFS

    А сега нека разгледаме формулата SUMIFS на Excel с две условия. Да предположим, че имате таблица, в която са изброени пратките с плодове от различни доставчици. Имате имената на плодовете в колона А, имената на доставчиците в колона Б и количеството в колона В. Това, което искате, е да откриете сумата на сумите, отнасящи се до даден плод и доставчик, например всички ябълки, доставени от Pete.

    Когато научавате нещо ново, винаги е добре да започнете с прости неща. Така че, за начало нека дефинираме всички аргументи за нашата формула SUMIFS:

    • sum_range - C2:C9
    • criteria_range1 - A2:A9
    • критерий1 - "ябълки"
    • criteria_range2 - B2:B9
    • критерии2 - "Pete"

    Сега съберете горните параметри и ще получите следната формула SUMIFS:

    =SUMIFS(C2:C9, A2:A9, "ябълки", B2:B9, "Пит")

    За да усъвършенствате още повече формулата, можете да замените текстовите критерии "ябълки" и "Пит" с препратки към клетките. В този случай няма да се налага да променяте формулата, за да изчислите количеството други плодове от друг доставчик:

    =SUMIFS(C2:C9, A2:A9, F1, B2:B9, F2)

    Забележка: По своята същност функциите SUMIF и SUMIFS не отчитат големи и малки букви. За да ги накарате да разпознават големината на буквите на текста, вижте раздел Формула SUMIF и SUMIFS с отчитане на големи и малки букви в Excel.

    SUMIF срещу SUMIFS в Excel

    Тъй като целта на този урок е да обхване всички възможни начини за сумиране на стойности по няколко условия, ще разгледаме примери за формули и с двете функции - Excel SUMIFS и SUMIF с няколко критерия. За да ги използвате правилно, трябва ясно да разберете какво е общото между тези две функции и по какво се различават.

    Общата част е ясна (сходна цел и параметри), но разликите не са толкова очевидни, макар че са много съществени.

    Има 4 основни разлики между SUMIF и SUMIFS:

    1. Брой условия . SUMIF може да оценява само едно условие в даден момент, докато SUMIFS може да проверява за множество критерии.
    2. Синтаксис . При SUMIF sum_range е последният и незадължителен аргумент - ако не е дефиниран, стойностите в обхват аргумент се сумират. С помощта на SUMIFS, sum_range е първият и задължителен аргумент.
    3. Размер на диапазоните. Във формулите SUMIF, sum_range не е задължително да е със същия размер и форма като обхват , стига горната лява клетка да е дясна. В SUMIFS на Excel всяка criteria_range трябва да съдържа същия брой редове и колони като sum_range аргумент.

      Например SUMIF(A2:A9,F1,C2:C18) ще върне правилния резултат, защото най-лявата клетка в sum_range аргумент (C2) е вярно. Така че, Excel ще направи корекцията автоматично и ще включи толкова колони и редове в sum_range както е в обхват .

      Формула SUMIFS с неравномерно големи диапазони ще върне грешка #VALUE!.

    4. Наличност . SUMIF е наличен във всички версии на Excel от 365 до 2000 г. SUMIFS е наличен в Excel 2007 и по-нови версии.

    Добре, стига стратегия (т.е. теория), нека преминем към тактиката (т.е. примери с формули : )

    Как да използвате SUMIFS в Excel - примери за формули

    Преди малко обсъдихме проста формула SUMIFS с два текстови критерия. По същия начин можете да използвате Excel SUMIFS с множество критерии, изразени чрез числа, дати, логически изрази и други функции на Excel.

    Пример 1. Excel SUMIFS с оператори за сравнение

    Предполагаме, че в нашата таблица с доставчици на плодове искате да съберете всички доставки по Mike с количество 200 или повече. За да направите това, използвате оператора за сравнение "по-голямо или равно на" (>=) в критерий2 и получавате следната формула SUMIFS:

    =SUMIFS(C2:C9,B2:B9,"Mike",C2:C9,">=200")

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

    Разгледахме подробно всички възможни оператори за сравнение, когато обсъждахме функцията SUMIF на Excel, същите оператори могат да се използват в критериите SUMIFS. Например следната формула връща сумата на всички стойности в клетки C2:C9, които са по-големи или равни на 200 и по-малки или равни на 300.

    =SUMIFS(C2:C9, C2:C9,">=200", C2:C9,"<=300")

    Пример 2. Използване на Excel SUMIFS с дати

    В случай че искате да съберете стойности с няколко критерия въз основа на текущата дата, използвайте функцията TODAY() в критериите си SUMIFS, както е показано по-долу. Следната формула сумира стойности в колона D, ако съответната дата в колона C попада в рамките на последните 7 дни, включително днес:

    =SUMIFS(D2:D10, C2:C10,">="&TODAY()-7, C2:C10,"<="&TODAY())

    Забележка: Когато използвате друга функция на Excel заедно с логически оператор в критериите, трябва да използвате амперсанд (&), за да свържете низ, например "<="&TODAY().

    По подобен начин можете да използвате функцията SUMIF на Excel за сумиране на стойностите в даден диапазон от дати. Например следната формула SUMIFS сумира стойностите в клетки C2:C9, ако датата в колона B попада между 1 октомври 2014 г. и 31 октомври 2014 г. включително.

    =SUMIFS(C2:C9, B2:B9, ">=10/1/2014", B2:B9, "<=10/31/2014")

    Същият резултат може да се постигне чрез изчисляване на разликата между две функции SUMIF, както е показано в този пример - Как да използваме SUMIF за сумиране на стойности в даден диапазон от дати. Въпреки това, Excel SUMIFS е много по-лесен и разбираем, нали?

    Пример 3. Excel SUMIFS с празни и непразни клетки

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

    Критерии Описание Пример за формула
    Празни клетки "=" Сумирайте стойности, съответстващи на празни клетки, които не съдържат абсолютно нищо - нито формула, нито низ с нулева дължина. =SUMIFS(C2:C10, A2:A10, "=", B2:B10, "=")

    Сумирайте стойностите в клетки C2:C10, ако съответните клетки в колони A и B са абсолютно празни. "" Сумирайте стойности, съответстващи на "визуално" празни клетки, включително тези, които съдържат празни низове, върнати от друга функция на Excel (например клетки с формула като). =SUMIFS(C2:C10, A2:A10, "", B2:B10, "")

    Сумиране на стойностите в клетките C2:C10 при същите условия като горната формула, но с включване на празни низове. Клетки, които не са чисти "" Сумиране на стойности, съответстващи на непразни клетки, включително низове с нулева дължина. =SUMIFS(C2:C10, A2:A10, "", B2:B10, "")

    Сумирайте стойностите в клетки C2:C10, ако съответните клетки в колони A и B не са празни, включително клетките с празни низове. SUM-SUMIF

    или

    SUM / LEN Сумиране на стойностите, съответстващи на непразни клетки, без да се включват низове с нулева дължина. =SUM(C2:C10) - SUMIFS(C2:C10, A2:A10, "", B2:B10, "")

    =SUM((C2:C10) * (LEN(A2:A10)>0)*(LEN(B2:B10)>0))

    Сумирайте стойностите в клетките C2:C10, ако съответните клетки в колони A и B не са празни, като клетките с нулева дължина на низовете не се включват.

    А сега нека видим как можете да използвате формулата SUMIFS с критерии "празно" и "непразно" върху реални данни.

    Да предположим, че имате дата на поръчката в колона B, дата на доставката в колона C и количество в колона D. Как да намерите общата сума на продуктите, които все още не са доставени? Тоест искате да знаете сумата от стойностите, съответстващи на непразните клетки в колона B и празните клетки в колона C.

    Решението е да се използва формулата SUMIFS с 2 критерия:

    =SUMIFS(D2:D10, B2:B10,"", C2:C10,"=")

    Използване на SUMIF на Excel с множество критерии OR

    Както беше отбелязано в началото на този урок, функцията SUMIFS е проектирана с логиката AND. Но какво става, ако трябва да съберете стойности с няколко критерия OR, т.е. когато поне едно от условията е изпълнено?

    Пример 1. SUMIF + SUMIF

    Най-простото решение е да се съберат резултатите, върнати от няколко функции SUMIF. Например следната формула показва как да се намери общата сума на продуктите, доставени от Майк и Джон:

    =SUMIF(C2:C9, "Mike",D2:D9) + SUMIF(C2:C9, "John",D2:D9)

    Както виждате, първата функция SUMIF добавя количествата, съответстващи на "Майк", а другата функция SUMIF връща количествата, съответстващи на "Джон", и след това добавяте тези две числа.

    Пример 2. SUM & SUMIF с аргумент масив

    Горното решение е много просто и може да свърши работа бързо, когато има само няколко критерия. Но формулата SUMIF + SUMIF може да нарасне неимоверно, ако искате да съберете стойности с множество условия OR. В този случай по-добрият подход е да използвате критерии за масив аргумент във функцията SUMIF. Нека разгледаме този подход сега.

    Можете да започнете, като изброите всички свои условия, разделени със запетаи, и след това да затворите получения списък, разделен със запетаи, в {къдрави скоби}, което технически се нарича масив.

    В предишния пример, ако искате да съберете продуктите, доставени от Джон, Майк и Пит, критериите на масива ви ще изглеждат като {"Джон", "Майк", "Пит"}. А пълната функция SUMIF е SUMIF(C2:C9, {"Джон", "Майк", "Пийт"} ,D2:D9) .

    Аргументът за масив, състоящ се от 3 стойности, принуждава формулата SUMIF да върне три отделни резултата, но тъй като сме записали формулата в една клетка, тя ще върне само първия резултат - т.е. общата сума на продуктите, доставени от Джон. За да сработи този подход с критерии за масив, трябва да използвате още един малък трик - да затворите формулата SUMIF във функцията SUM, както следва:

    =SUM(SUMIF(C2:C9, {"John", "Mike", "Pete"} , D2:D9))

    Както виждате, критерият за масив прави формулата много по-компактна в сравнение със SUMIF + SUMIF и ви позволява да добавяте колкото искате стойности в масива.

    Този подход работи както с цифри, така и с текстови стойности. Например, ако вместо имената на доставчиците в колона В имахте идентификатори на доставчиците като 1, 2, 3 и т.н., тогава формулата SUMIF щеше да изглежда по следния начин:

    =SUM(SUMIF(C2:C9, {1,2,3} , D2:D9))

    За разлика от текстовите стойности, числата не е необходимо да бъдат оградени в двойни кавички в аргументите на масива.

    Пример 3. SUMPRODUCT & SUMIF

    В случай че предпочитаният от вас начин е да изброите критериите в някои клетки, а не да ги посочвате директно във формулата, можете да използвате SUMIF в комбинация с функцията SUMPRODUCT, която умножава компонентите в дадени масиви и връща сумата от тези произведения.

    =SUMPRODUCT(SUMIF(C2:C9, G2:G4, D2:D9))

    Където G2:G4 са клетките, съдържащи вашите критерии, в нашия случай имената на доставчиците, както е показано на снимката по-долу.

    Но, разбира се, нищо не ви пречи да изброите стойностите в масивен критерий на функцията SUMIF, ако искате:

    =SUMPRODUCT(SUMIF(C2:C9, {"Mike", "John", "Pete"}, D2:D9))

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

    Excel SUMIFS с множество критерии OR

    Ако искате условно да сумирате стойности в Excel не просто с няколко условия OR, а с няколко набора от условия, ще трябва да използвате SUMIFS вместо SUMIF. Формулите ще бъдат много подобни на тези, които току-що обсъдихме.

    Както обикновено, един пример може да помогне за по-доброто илюстриране на въпроса. В нашата таблица на доставчиците на плодове нека добавим датата на доставка (колона Д) и да намерим общото количество, доставено от Майк, Джон и Пийт през октомври.

    Пример 1. SUMIFS + SUMIFS

    Формулата, която се получава при този подход, включва много повторения и изглежда тромава, но е лесна за разбиране и, най-важното, работи : )

    =SUMIFS(D2:D9,C2:C9, "Mike", E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014") +

    SUMIFS(D2:D9, C2:C9, "John", E2:E9, ">=10/1/2014", E2:E9, "<=10/31/2014") +

    SUMIFS(D2:D9, C2:C9, "Pete", E2:E9, ">=10/1/2014" ,E2:E9, "<=10/31/2014")

    Както виждате, пишете отделна функция SUMIFS за всеки от доставчиците и включвате две условия - равно на или по-голямо от 1 октомври (">=10/1/2014",) и по-малко от или равно на 31 октомври ("<=10/31/2014"), след което сумирате резултатите.

    Пример 2. SUM & SUMIFS с аргумент масив

    Опитах се да обясня същността на този подход в примера със SUMIF, така че сега можем просто да копираме тази формула, да променим реда на аргументите (както си спомняте, той е различен в SUMIF и SUMIFS) и да добавим допълнителни критерии. Получената формула е по-компактна от SUMIFS + SUMIFS:

    =SUM(SUMIFS(D2:D9,C2:C9, {"Mike", "John", "Pete"}, E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014"))

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

    Пример 3. SUMPRODUCT &; SUMIFS

    Както си спомняте, подходът SUMPRODUCT се различава от предишните два по това, че въвеждате всеки от критериите в отделна клетка, а не ги посочвате директно във формулата. В случай на няколко набора от критерии функцията SUMPRODUCT няма да е достатъчна и ще трябва да използвате също ISNUMBER и MATCH.

    И така, ако приемем, че имената на доставките са в клетки H1:H3, началната дата е в клетка H4, а крайната дата - в клетка H5, нашата формула SUMPRODUCT придобива следната форма:

    =SUMPRODUCT(--(E2:E9>=H4), --(E2:E9<=H5), --(ISNUMBER(MATCH(C2:C9, H1:H3,0)))), D2:D9)

    Много хора се чудят защо се използва двойно тире (--) във формулите SUMPRODUCT. Работата е там, че Excel SUMPRODUCT игнорира всички стойности, освен числовите, докато операторите за сравнение в нашата формула връщат булеви стойности (TRUE / FALSE), които не са числови. За да преобразувате тези булеви стойности в 1 и 0, използвате двойния знак минус, който технически се нарича двоен унарен оператор. Първият унарен оператор принуждаваВторият единичен знак отрича стойностите, т.е. обръща знака, превръщайки ги в +1 и 0, които функцията SUMPRODUCT може да разбере.

    Надявам се, че горното обяснение има смисъл. Дори и да няма смисъл, просто запомнете това правило - използвайте двойния унарен оператор (--), когато използвате оператори за сравнение във формулите SUMPRODUCT.

    Използване на Excel SUM във формули за масиви

    Както си спомняте, Microsoft внедри функцията SUMIFS в Excel 2007 г. Ако някой все още използва Excel 2003, 2000 или по-ранни версии, ще трябва да използва формулата SUM array (сума на масивите), за да добави стойности с няколко критерия AND. Естествено, този подход работи и в съвременните версии на Excel 2013 - 2007 и може да се счита за старомоден аналог на функцията SUMIFS.

    Във формулите SUMIF, разгледани по-горе, вече сте използвали аргументи от масиви, но формулата с масиви е нещо различно.

    Пример 1. Сума с множество критерии AND в Excel 2003 и по-ранни версии

    Нека се върнем към първия пример, в който открихме сбора от сумите, отнасящи се до даден плод и доставчик:

    Както вече знаете, тази задача се изпълнява лесно с помощта на обикновена формула SUMIFS:

    =SUMIFS(C2:C9, A2:A9, "ябълки", B2:B9, "Пит")

    А сега нека видим как същата задача може да бъде изпълнена в ранните версии на Excel без SUMIFS. Първо, записвате всички условия, които трябва да бъдат изпълнени, под формата на range="condition". В този пример имаме две двойки range/condition:

    Условие 1: A2:A9="ябълки"

    Условие 2: B2:B9="Pete"

    След това пишете формула SUM, която "умножава" всички двойки диапазон/условие, всяка от които е затворена в скоби. Последният множител е диапазонът на сумата, C2:C9 в нашия случай:

    =SUM((A2:A9="ябълки") * ( B2:B9="Пит") * ( C2:C9))

    Както е показано на скрийншота по-долу, формулата работи перфектно в най-новата версия на Excel 2013.

    Забележка: Когато въвеждате формула за масив, трябва да натиснете Ctrl + Shift + Enter . След като направите това, формулата ви ще бъде затворена в {къдрави скоби}, което е визуална индикация, че формулата за масив е въведена правилно. Ако се опитате да въведете скобите ръчно, формулата ви ще бъде преобразувана в текстов низ и няма да работи.

    Пример 2. Формули за масив SUM в съвременните версии на Excel

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

    Да предположим, че имате две колони, B и C, и трябва да преброите колко пъти колона C е по-голяма от колона B, когато стойността в колона C е по-голяма или равна на 10. Едно решение, което веднага ви идва наум, е да използвате формулата SUM на масива:

    =SUM((C1:C10>=10) * (C1:C10>B1:B10))

    Не виждате практическо приложение на горната формула? Помислете за нея по друг начин : )

    Да предположим, че имате списък с поръчки, както е показано на скрийншота по-долу, и искате да знаете колко продукта не са били доставени изцяло до дадена дата. Преведено на езика на Excel, имаме следните условия:

    Условие 1: Стойността в колона B (Подредени елементи) е по-голяма от 0

    Условие 2: Стойност в колона В (Доставено), по-малка от тази в колона Б

    Условие 3: Датата в колона D (Срок на плащане) е по-малка от 11.1.2014 г.

    Като съберете трите двойки обхват/условие, получавате следната формула:

    =SUM((B2:B10>=0)*(B2:B10>C2:C10)*(D2:D10

    Е, примерите с формули, разгледани в този урок, само набраздиха повърхността на това, което функциите SUMIFS и SUMIF на Excel наистина могат да правят. Но се надяваме, че те са ви помогнали да се ориентирате в правилната посока и сега можете да сумирате стойности в работните си книги на Excel, независимо колко сложни условия трябва да вземете предвид.

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.