Оглавление
В этом учебном пособии объясняется разница между функциями 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:
- Количество условий SUMIF может оценивать только одно условие за раз, в то время как SUMIFS может проверять несколько критериев.
- Синтаксис При использовании SUMIF суммарный_диапазон является последним и необязательным аргументом - если он не определен, значения в ассортимент аргумент суммируется. С помощью SUMIFS, суммарный_диапазон является первым и обязательным аргументом.
- Размер диапазонов. В формулах SUMIF, суммарный_диапазон не обязательно должен быть того же размера и формы, что и ассортимент до тех пор, пока левая верхняя ячейка будет правой. В Excel SUMIFS, каждый диапазон_критериев должен содержать такое же количество строк и столбцов, как и суммарный_диапазон аргумент.
Например, SUMIF(A2:A9,F1,C2:C18) вернет правильный результат, потому что самая левая ячейка в суммарный_диапазон аргумент (C2) является правильным. Поэтому Excel сделает коррекцию автоматически и включит столько столбцов и строк в суммарный_диапазон как в ассортимент .
Формула SUMIFS с неравными по размеру диапазонами возвращает ошибку #VALUE!
- Доступность 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 абсолютно пусты.
Суммируйте значения в ячейках C2:C10 с теми же условиями, что и в формуле выше, но включая пустые строки.
Суммируйте значения в ячейках C2:C10, если соответствующие ячейки в столбцах A и B не пусты, включая ячейки с пустыми строками.
или
SUM / LEN
=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 независимо от того, сколько замысловатых условий вам приходится учитывать.