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])
    • ассортимент - диапазон ячеек, которые будут оцениваться по вашим критериям, обязательно.
    • критерии - условие, которое должно быть выполнено, требуется.
    • суммарный_диапазон - ячейки, которые нужно суммировать, если условие выполняется, необязательно.

    Как видите, синтаксис функции Excel SUMIF допускает только одно условие. И все же мы говорим, что Excel SUMIF можно использовать для суммирования значений с несколькими критериями. Как это может быть? Путем сложения результатов нескольких функций SUMIF и использования формул SUMIF с критериями массива, как показано в следующих примерах.

    Функция Excel SUMIFS - синтаксис & использование

    Вы используете 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 аргумента являются обязательными, дополнительные диапазоны и связанные с ними критерии являются необязательными.

    • суммарный_диапазон - одна или несколько ячеек для суммирования, обязательно. Это может быть одна ячейка, диапазон ячеек или именованный диапазон. Суммируются только ячейки с числами; пустые и текстовые значения игнорируются.
    • критерий_диапазона1 - первый диапазон, который должен быть оценен по соответствующим критериям, обязательно.
    • критерии1 - первое условие, которое должно быть выполнено, обязательное. Вы можете предоставить критерии в виде числа, логического выражения, ссылки на ячейку, текста или другой функции Excel. Например, вы можете использовать такие критерии, как 10, ">=10", A1, "вишни" или TODAY().
    • criteria_range2, criteria2, ... - это дополнительные диапазоны и связанные с ними критерии, необязательные. В формулах SUMIFS можно использовать до 127 пар диапазонов/критериев.

    Примечания:

    • Чтобы формула SUMIFS работала правильно, все диапазон_критериев аргументы должны иметь ту же размерность, что и суммарный_диапазон т.е. одинаковое количество строк и столбцов.
    • Функция SUMIFS работает по логике AND, то есть ячейка в диапазоне сумм суммируется только в том случае, если она удовлетворяет всем заданным критериям, то есть для этой ячейки все критерии верны.

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

    А теперь давайте рассмотрим формулу Excel SUMIFS с двумя условиями. Предположим, у вас есть таблица, в которой перечислены партии фруктов от разных поставщиков. В столбце А указаны названия фруктов, в столбце В - названия поставщиков, а в столбце С - количество. Вам нужно найти сумму сумм, относящихся к определенному фрукту и поставщику, например, все яблоки, поставленные Питом.

    Когда вы изучаете что-то новое, всегда полезно начинать с простых вещей. Итак, для начала давайте определим все аргументы для нашей формулы SUMIFS:

    • sum_range - C2:C9
    • критерий_диапазона1 - A2:A9
    • критерий1 - "яблоки"
    • диапазон_критериев2 - B2:B9
    • критерий2 - "Пит"

    Теперь соберите вышеуказанные параметры, и вы получите следующую формулу 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 суммарный_диапазон является последним и необязательным аргументом - если он не определен, значения в ассортимент аргумент суммируется. С помощью SUMIFS, суммарный_диапазон является первым и обязательным аргументом.
    3. Размер диапазонов. В формулах SUMIF, суммарный_диапазон не обязательно должен быть того же размера и формы, что и ассортимент до тех пор, пока левая верхняя ячейка будет правой. В Excel SUMIFS, каждый диапазон_критериев должен содержать такое же количество строк и столбцов, как и суммарный_диапазон аргумент.

      Например, SUMIF(A2:A9,F1,C2:C18) вернет правильный результат, потому что самая левая ячейка в суммарный_диапазон аргумент (C2) является правильным. Поэтому Excel сделает коррекцию автоматически и включит столько столбцов и строк в суммарный_диапазон как в ассортимент .

      Формула SUMIFS с неравными по размеру диапазонами возвращает ошибку #VALUE!

    4. Доступность SUMIF доступен во всех версиях Excel, начиная с 365 и заканчивая 2000. SUMIFS доступен в Excel 2007 и выше.

    Ладно, достаточно стратегии (т.е. теории), давайте перейдем к тактике (т.е. примерам формул : )

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

    Минуту назад мы рассмотрели простую формулу SUMIFS с двумя текстовыми критериями. Таким же образом вы можете использовать Excel SUMIFS с несколькими критериями, выраженными числами, датами, логическими выражениями и другими функциями Excel.

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

    В нашей таблице поставщиков фруктов, предположим, вы хотите просуммировать все поставки по Майку с Qty. 200 или более. Для этого вы используете оператор сравнения "больше или равно" (>=) в критерии2 и получаете следующую формулу SUMIFS:

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

    Примечание. Обратите внимание, что в формулах Excel SUMIFS логические выражения с операторами сравнения всегда должны быть заключены в двойные кавычки ("").

    Мы подробно рассмотрели все возможные операторы сравнения при обсуждении функции Excel SUMIF, эти же операторы можно использовать в критерии SUMIFS. Например, следующая формула возвращает сумму всех значений в ячейках C2:C9, которые больше или равны 200 и меньше или равны 300.

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

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

    Если вы хотите просуммировать значения с несколькими критериями на основе текущей даты, используйте функцию TODAY() в критерии SUMIFS, как показано ниже. Следующая формула суммирует значения в столбце D, если соответствующая дата в столбце C приходится на последние 7 дней, включая сегодня:

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

    Примечание. Когда вы используете другую функцию Excel вместе с логическим оператором в критериях, вы должны использовать амперсанд (&) для конкатенации строки, например, "<="&TODAY()".

    Аналогичным образом можно использовать функцию Excel SUMIF для суммирования значений в заданном диапазоне дат. Например, следующая формула 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 (например, ячейки с формулой like). =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 с несколькими критериями ИЛИ

    Как отмечалось в начале этого учебника, функция SUMIFS разработана с учетом логики AND. Но что если вам нужно суммировать значения с несколькими критериями OR, т.е. когда выполняется хотя бы одно из условий?

    Пример 1. SUMIF + SUMIF

    Простейшим решением является суммирование результатов, возвращаемых несколькими функциями SUMIF. Например, следующая формула демонстрирует, как найти общее количество продуктов, доставленных Майком и Джоном:

    =SUMIF(C2:C9, "Майк",D2:D9) + SUMIF(C2:C9, "Джон",D2:D9)

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

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

    Приведенное выше решение очень простое и может быстро справиться с задачей, когда есть только пара критериев. Но формула SUMIF + SUMIF может сильно вырасти, если вы хотите суммировать значения с несколькими условиями ИЛИ. В этом случае лучшим подходом будет использование формулы критерии массива аргумент в функции SUMIF. Давайте теперь рассмотрим этот подход.

    Вы можете начать с перечисления всех условий, разделенных запятыми, а затем заключить полученный список, разделенный запятыми, в {курковые скобки}, что технически называется массивом.

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

    Аргумент массива, состоящий из 3 значений, заставляет вашу формулу SUMIF возвращать три отдельных результата, но поскольку мы пишем формулу в одной ячейке, она вернет только первый результат - то есть общее количество продуктов, поставленных Джоном. Чтобы заставить этот подход с массивом критериев работать, вы должны использовать еще один маленький трюк - заключить вашу формулу SUMIF в функцию SUM, как это сделано здесь:

    =SUM(SUMIF(C2:C9, {"Джон", "Майк", "Пит"} , D2:D9))

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

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

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

    В отличие от текстовых значений, числа не нужно заключать в двойные кавычки в аргументах массива.

    Пример 3. SUMPRODUCT & SUMIF

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

    = СУММПРОДУКТ(SUMIF(C2:C9, G2:G4, D2:D9))

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

    Но, конечно, ничто не мешает вам при желании перечислить значения в критерии массива функции SUMIF:

    =SUMPRODUCT(SUMIF(C2:C9, {"Майк", "Джон", "Пит"}, D2:D9))

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

    Excel SUMIFS с несколькими критериями ИЛИ

    Если вы хотите условно суммировать значения в Excel не просто с несколькими условиями OR, а с несколькими наборами условий, вам придется использовать SUMIFS вместо SUMIF. Формулы будут очень похожи на те, что мы только что обсудили.

    Как обычно, пример может помочь лучше проиллюстрировать суть. В нашей таблице поставщиков фруктов добавим дату поставки (столбец E) и найдем общее количество, поставленное Майком, Джоном и Питом в октябре.

    Пример 1. SUMIFS + SUMIFS

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

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

    SUMIFS(D2:D9, C2:C9, "Джон", 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.

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

    Как вы помните, Microsoft внедрила функцию SUMIFS в Excel 2007. Если кто-то до сих пор использует Excel 2003, 2000 или более ранние версии, вам придется использовать формулу массива SUM для сложения значений с несколькими критериями AND. Естественно, этот подход работает и в современных версиях Excel 2013 - 2007, и его можно считать старомодным аналогом функции SUMIFS.

    В формулах SUMIF, рассмотренных выше, вы уже использовали аргументы массива, но формула массива - это нечто иное.

    Пример 1. Сумма с несколькими критериями AND в Excel 2003 и более ранних версиях

    Вернемся к самому первому примеру, в котором мы выясняли сумму сумм, относящихся к данному фрукту и поставщику:

    Как вы уже знаете, эта задача легко решается с помощью обычной формулы SUMIFS:

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

    А теперь давайте посмотрим, как эту же задачу можно решить в ранних "без SUMIFS" версиях Excel. Во-первых, вы записываете все условия, которые должны быть выполнены в форме range="condition". В данном примере у нас есть две пары range/condition:

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

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

    Затем вы пишете формулу 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: Значение в колонке C (Поставлено) меньше, чем в колонке B

    Условие 3: Дата в столбце D (Срок исполнения) меньше, чем 11/1/2014.

    Сложив три пары диапазон/условия вместе, вы получите следующую формулу:

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

    Что ж, примеры формул, рассмотренные в этом руководстве, лишь поцарапали поверхность того, на что действительно способны функции Excel SUMIFS и SUMIF. Но, надеюсь, они помогли направить вас в правильном направлении, и теперь вы можете суммировать значения в своих рабочих книгах Excel независимо от того, сколько замысловатых условий вам приходится учитывать.

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.