В таблицах Excel можно не просто находить сумму чисел, но и делать это в зависимости от заранее определённых условий. Хорошо знакомая нам функция ЕСЛИ позволяет производить вычисления в зависимости от выполнения какого-то условия. Функция СУММ позволяет складывать числовые значения. А что если нам нужна формула ЕСЛИ+СУММ? Для этого случая в Excel имеется специальная функция СУММЕСЛИ.
Мы рассмотрим, как правильно применить функцию СУММЕСЛИ (Sumif в английской версии) в таблицах Excel. Начнем с самых простых случаев, как можно использовать при этом знаки подстановки, назначить диапазон суммирования, работать с числами, текстом и датами. Особо остановимся на том, как использовать сразу несколько условий. И, конечно, мы применим новые знания на практике, рассмотрев несложные примеры.
Хорошо, что функция СУММЕСЛИ одинакова во всех версиях MS Excel. Еще одна приятная новость: если вы потратите некоторое время на ее изучение, вам потребуется совсем немного усилий, чтобы понять другие «ЕСЛИ»-функции, такие как СУММЕСЛИМН, СЧËТЕСЛИ, СЧËТЕСЛИМН и т.д.
Как пользоваться СУММЕСЛИ в Excel – синтаксис
Назначение функции СУММЕСЛИ – найти сумму значений, которые удовлетворяют определённым требованиям.
Синтаксис функции выглядит следующим образом:
=СУММЕСЛИ(диапазон, критерий, [диапазон_суммирования])
Диапазон – это область, которую мы исследуем на соответствие определённому значению.
Критерий – это значение или шаблон, по которому мы производим отбор чисел для суммирования.
Значение критерия может быть записано прямо в самой формуле. В этом случае не забывайте, что текст нужно обязательно заключать в двойные кавычки.
Также он может быть представлен в виде ссылки на ячейку таблицы, в которой будет указано требуемое ограничение. Безусловно, второй способ является более рациональным, поскольку позволяет гибко менять расчеты, не редактируя выражение.
Диапазон_суммирования - третий параметр, который является необязательным, однако он весьма полезен. Благодаря ему мы можем производить поиск в одной области, а суммировать значения из другого диапазона ячеек в соответствующих строках.
Итак, если он указан, то расчет идет именно по его данным. Если отсутствует, то складываются значения из того же диапазона, где производился поиск.
Чтобы лучше понять это описание, рассмотрим несколько простых задач. Надеюсь, что они будут понятны не только "продвинутым" пользователям, но и подойдут для "чайников".
Что можно задать в качестве условия для функции СУММЕСЛИ?
В качестве условия для подсчета вы можете использовать числа, даты, текстовые значения целиком или части текста с подстановочными знаками. Смотрите примеры ниже.
Условие для числовых значений
Начнем с самого простого. Предположим, у нас есть данные о продажах шоколада. Рассчитаем различные варианты продаж.
В I3 записано:
=СУММЕСЛИ(D2:D21;I2)
D2:D21 – это диапазон ячеек, в которых мы ищем значение.
I2 – ссылка на критерий отбора. Иначе говоря, мы ищем ячейки со значением 144 и складываем их.
Поскольку третий параметр функции СУММЕСЛИ не указан, то мы сразу складываем отобранные числа. Область поиска будет одновременно являться и диапазоном суммирования.
Кроме того, в качестве задания для отбора нужных значений можно указать текстовое выражение, состоящее из знаков >, <, <>, <= или >= и числа.
Можно указать его прямо в формуле, как это сделано в I13
=СУММЕСЛИ(D2:D21;"<144")
То есть подытоживаем все заказы, в которых количество меньше 144.
Но, согласитесь, это не слишком удобно, поскольку нужно корректировать саму формулу, да и условие еще нужно не забыть заключить в кавычки.
В дальнейшем мы будем стараться использовать только ссылку на ячейку с условием отбора, поскольку это значительно упрощает возможные корректировки.
Условия для текстовых значений
Гораздо чаще встречаются ситуации, когда поиск нужно проводить в одном месте, а в другом диапазоне ячеек - суммировать данные, соответствующие найденному.
Чаще всего это необходимо, если необходимо использовать отбор по определённым словам. Ведь текстовые значения складывать нельзя, а вот соответствующие им числа – можно.
Как простой прием использования формулы СУММЕСЛИ в Эксель таблицах, рассчитаем итог по выполненным заказам.
В I3 запишем выражение:
=СУММЕСЛИ(F2:F21;I2;E2:Е21)
F2:F21 – это область, в которой мы отбираем подходящие значения.
I2 – здесь записано, что именно отбираем.
E2:E21 – складываем числа, соответствующие найденным совпадениям.
Конечно, можно указать параметр отбора прямо в выражении:
=СУММЕСЛИ(F2:F21;”Да”;E2:Е21)
Но мы уже договорились, что так делать не совсем рационально.
Важное замечание. Не забываем, что все текстовые значения необходимо заключать в кавычки.
Подстановочные знаки для частичного совпадения текста
При работе с текстовыми данными часто приходится производить поиск по какой-то части слова или фразы.
Вернемся к нашему случаю. Определим, сколько всего было заказов на черный шоколад. В результате, у нас есть 2 подходящих наименования товара. Как учесть их оба? Нам пригодится понятие неточного соответствия.
Мы можем производить поиск и подсчет значений, указывая не всё содержимое ячейки, а только её часть. Таким образом мы можем расширить границы поиска, применив знаки подстановки “?”, “*”.
Символ “?” позволяет заменить собой один любой символ.
Символ ”*” позволяет заменить собой не один, а любое количество символов (в том числе ноль).
Эти знаки можно применить в нашем случае двумя способами. Либо прямо вписать их в таблицу –
=СУММЕСЛИ(C2:C21;I2;E2:Е21) , где в E2 записано *[слово]*
либо
=СУММЕСЛИ(C2:C21;"*"&I2&"*";E2:E21)
где * вставлены прямо в выражение и «склеены» с нужным текстом.
Давайте потренируемся:
- “*черный*” - мы ищем фразу, в которой встречается это выражение, а до него и после него – любые буквы, знаки и числа. В нашем случае этому соответствуют “Черный шоколад” и “Супер Черный шоколад”.
- “Д?” - необходимо слово из 2 букв, первая из которых “Д”, а вторая – любая. В нашем случае подойдет “Да”.
- “???” - найдем слово из любых 3 букв
=СУММЕСЛИ(F2:F21;”???”;E2:E21)
Этому требованию соответствует “Нет”.
- “???????*” - текст из любых 7 и более букв.
=СУММЕСЛИ(B2:B21;“???????*”;E8:E28)
Подойдет “Зеленый”, “Оранжевый”, “Серебряный”, “Голубой”, “Коричневый”, “Золотой”, “Розовый”.
- “З*” - мы выбираем фразу, первая буква которой “З”, а далее – любые буквы, знаки и числа. Это “Золотой” и “Зеленый”.
- “Черный*” - подходит фраза, которая начинаются именно с этого слова, а далее – любые буквы, знаки и числа. Подходит “Черный шоколад”.
Примечание. Если вам необходимо в качестве задания для поиска применять текст, который содержит в себе * и ?, то используйте знак тильда (~), поставив его перед этими символами. Тогда * и ? будут считаться обычными символами, а не шаблоном:
=СУММЕСЛИ(B2:B21;“*~?*”;E8:E28)
Важное замечание. Если в вашем тексте для поиска встречается несколько знаков * и ?, то тильду (~) нужно поставить перед каждым из них. К примеру, если мы будем искать текст, состоящий из трех звездочек, то формулу можно записать так:
=СУММЕСЛИ(B2:B21;“~*~*~*”;E8:E28)
А если текст просто содержит в себе 3 звездочки, то можно наше выражение переписать так:
=СУММЕСЛИ(B2:B21;“*~*~*~**”;E8:E28)
Условие по точной дате либо диапазону дат.
Если нам нужно найти сумму чисел, соответствующих определённой дате, то проще всего в качестве условия указать саму эту дату.
Примечание. При этом не забывайте, что формат указанной вами даты должен соответствовать региональным настройкам вашей таблицы!
Обратите внимание, что мы также можем здесь вписать дату прямо в формулу, а можем использовать ссылку на ячейку с датой-условием.
Рассчитываем итог продаж за сегодняшний день – 04.02.2020г.
=СУММЕСЛИ(A2:A21;I1;E2:E21)
или же
=СУММЕСЛИ(A2:A21;СЕГОДНЯ();E2:E21)
Рассчитаем за вчерашний день.
=СУММЕСЛИ(A2:A21;СЕГОДНЯ()-1;E2:E21)
СЕГОДНЯ()-1 как раз и будет "вчера".
Складываем за даты, которые предшествовали 1 февраля.
=СУММЕСЛИ(A2:A21;"<"&"01.02.2020";E2:E21)
После 1 февраля включительно:
=СУММЕСЛИ(A2:A21;">="&"01.02.2020";E2:E21)
А если нас интересует временной интервал "от-до"?
Мы можем рассчитать итоги за определённый период времени. Применим маленькую хитрость: разность функций СУММЕСЛИ. Предположим, нам нужна выручка с 1 по 4 февраля включительно. Из продаж после 1 февраля вычитаем все, что реализовано после 4 февраля.
=СУММЕСЛИ(A2:A21;">="&"01.02.2020";E2:E21) - СУММЕСЛИ(A2:A21;">="&"04.02.2020";E2:E21)
Условие – пустые либо непустые ячейки
Случается, что в качестве условия суммирования нужно использовать все непустые клетки, в которых есть хотя бы одна буква, цифра или символ.
Рассмотрим как можно подсчитать заказы, в которых нет отметки о выполнении, а также сколько было вообще обработанных заказов.
Если критерий указать просто “*”, то мы учитываем для подсчета непустые ячейки, в которых имеется хотя бы одна буква или символ (кроме пустых).
=СУММЕСЛИ(F2:F21;"*";E2:E21)
Точно такой же результат даёт использование вместо звездочки пары знаков «больше» и «меньше» - <>.
=СУММЕСЛИ(F2:F21;"<>";E2:E21)
Теперь рассмотрим, как можно находить сумму, соответствующую пустым ячейкам.
Для того, чтобы найти пустые, в которых нет ни букв, ни цифр, в качестве критерия поставьте парные одинарные кавычки ‘’, если значение критерия указано в ячейке, а формула ссылается на неё.
Если же указать на отбор только пустых ячеек, то впишите в формулу двойные кавычки.
=СУММЕСЛИ(F2:F21;"";E2:E21)
Как использовать сразу несколько условий
Функция СУММЕСЛИ может работать только с одним условием, как мы это делали ранее. Но очень часто случается, что нужно найти совокупность данных, удовлетворяющих сразу нескольким требованиям. Сделать это можно как при помощи некоторых хитростей, так и с использованием других функций. Рассмотрим все по порядку.
Вновь вернемся к нашему случаю с заказами. Рассмотрим два условия и посчитаем, сколько всего сделано заказов черного и молочного шоколада.
1. СУММЕСЛИ+СУММЕСЛИ
В одной формуле вы можете использовать функцию СУММЕСЛИ два и более раза:
Все просто:
=СУММЕСЛИ($C$2:$C$21;"*"&H3&"*";$E$2:$E$21)+СУММЕСЛИ($C$2:$C$21;"*"&H4&"*";$E$2:$E$21)
Находим сумму заказов по каждому виду товара, а затем просто их складываем. Думаю, с этим вы уже научились работать :).
Это самое простое решение, но не самое универсальное и далеко не единственное.
2. СУММ и СУММЕСЛИ с аргументами массива.
Вышеупомянутое решение очень простое и может выполнить работу быстро, когда критериев немного. Но если вы захотите работать с несколькими, то она станет просто огромной. В этом случае лучшим решением является использование в качестве аргумента массива критериев. Давайте рассмотрим этот подход.
Вы можете начать с перечисления всех ваших условий, разделенных запятыми, а затем заключить итоговый список, разделенный точкой с запятой, в {фигурные скобки}, который технически называется массивом.
Если вы хотите найти покупки этих двух товаров, то ваши условия в виде массива будут выглядеть так:
СУММЕСЛИ($C$2:$C$21;{"*черный*";"*молочный*"};$E$2:$E$21)
Поскольку здесь использован массив критериев, то результатом вычислений также будет массив, состоящий из двух значений.
А теперь воспользуемся функцией СУММ, которая умеет работать с массивами данных, складывая их содержимое.
=СУММ(СУММЕСЛИ($C$2:$C$21;{"*черный*";"*молочный*"};$E$2:$E$21))
Важно, что результаты вычислений в первом и втором случае совпадают.
3. СУММПРОИЗВ и СУММЕСЛИ.
А если вы предпочитаете перечислять критерии в какой-то специально отведенной для этого части таблицы? Можете использовать функцию СУММЕСЛИ в сочетании с функцией СУММПРОИЗВ, которая умножает компоненты в заданных массивах и возвращает сумму этих произведений.
Вот как это будет выглядеть:
=СУММПРОИЗВ(СУММЕСЛИ(C2:C21;H3:H4;E2:E21))
в H3 и H4 мы запишем критерии отбора.
Но, конечно, ничто не мешает вам перечислить значения в виде массива критериев:
=СУММПРОИЗВ(СУММЕСЛИ(C2:C21;{"*черный*";"*молочный*"};E2:E21))
Результат, возвращаемый в обоих случаях, будет идентичен тому, что вы наблюдаете на скриншоте.
Важное замечание! Обратите внимание, что все перечисленные выше три способа производят расчет по логическому ИЛИ. То есть, нам нужны продажи шоколада, который будет или черным, или молочным.
Что делать, если не работает?
Этому может быть несколько причин. Иногда ваше выражение не возвращает того, что вы ожидаете, только потому, что тип данных в ячейке или в каком-либо аргументе не подходит для нее. Итак, вот что нужно проверить.
1. «Диапазон данных» и «диапазон суммирования» должны быть указаны ссылками, а не в виде массива.
Первый и третий атрибуты функции всегда должны быть ссылкой на диапазон ячеек, например A1:A10. Если вы попытаетесь передать что-нибудь еще, например, массив {1,2,3}, Excel выдаст сообщение об ошибке.
Правильно: =СУММЕСЛИ(A1:A3, "цвет", C1:C3)
Неверно : =СУММЕСЛИ({1,2,3}, "цвет", C1:C3)
2. Ошибка при суммировании значений из других листов или рабочих книг.
Как и любая другая функция Excel, СУММЕСЛИ может ссылаться на другие листы и рабочие книги, если они в данный момент открыты.
Найдем сумму значений в диапазоне ячеек F2:F9 на листе 1 книги 1, если соответствующие данные записаны в столбце A, и если среди них содержится слово «яблоки»:
=СУММЕСЛИ([Книга1.xlsx]Лист1!$A$2:$A$9,"яблоки",[Книга1.xlsx]Лист1!$F$2:$F$9)
Однако это перестанет работать, как только Книга1 будет закрыта. Это происходит потому, что области, на которые ссылаются формулы в закрытых книгах, преобразуются в массивы и хранятся в таком виде в текущей книге. А поскольку в аргументах 1 и 3 массивы не допускаются, то формула выдает ошибку #ЗНАЧ!.
3. Чтобы избежать проблем, убедитесь, что диапазоны данных и поиска имеют одинаковый размер.
Как отмечалось в начале этого руководства, в современных версиях Microsoft Excel они не обязательно должны иметь одинаковый размер. Но вот в Excel 2000 и более ранних версиях это может вызвать проблемы. Однако, даже в самых последних версиях Excel сложные выражения, в которых диапазон сложения имеет меньше строк и/или столбцов, чем диапазон поиска, являются капризными. Вот почему рекомендуется всегда иметь их одинакового размера и формы.
Думаю, теперь функция СУММЕСЛИ стала для вас проще и понятнее.
Доброго Вам дня.
Подскажите пожалуйста как в этой формуле
=СУММЕСЛИ('Арендаторы'!B:B; D1191;'Арендаторы'!Q:Q)-filter('Арендаторы'!Q:Q;'Арендаторы'!A:A=A1221;'Арендаторы'!B:B=D1191)
исключить из расчета вот этот столбец 'Арендаторы'!P:P
СПАСИБО
В вашей формуле не используется столбец Р. Кроме того, сомнения вызывает функция filter - думаю, это ФИЛЬТР, но синтаксис неверный.
Александр, так я и хочу сделать исключения из расчета значений таблицы 'Арендаторы'! столбцов P:P
В данной формуле
=СУММЕСЛИ('Арендаторы'!B:B; D1191;'Арендаторы'!Q:Q)-filter('Арендаторы'!Q:Q;'Арендаторы'!A:A=A1221;'Арендаторы'!B:B=D1191)
Цифры таблицы 'Арендаторы'! и столбцов P:P учитываются!
Спасибо.
Вы сами проверяли эту формулу? Ваша формула возвращает ошибку #ИМЯ!, так как такой функции в русском Excel не существует. После замены на ФИЛЬТР возвращает #ПЕРЕНОС!. И формула НЕ ссылается на столбец Р
Добрый день.
Это Google таблица!
Эта формула работает =СУММЕСЛИ('Арендаторы'!B:B; D1191;'Арендаторы'!Q:Q)-filter('Арендаторы'!Q:Q;'Арендаторы'!A:A=A1221;'Арендаторы'!B:B=D1191)
я и хочу сделать исключения из расчета значений таблицы 'Арендаторы'! столбцов P:P.
Спасибо.
Как в примере 3, где считается сумма по диапазон критериев (два вида шоколада) добавить в формулу отбор покупателя и отбор по периоду. Или получается сделать сумму двух или более видов шоколада через суммпроизв, или через суммеслимн отбор по покупателю и периоду, но там не задать в качестве критерия диапазон видов шоколада. Как это объединить в одну формулу.
Для нескольких условий лучше использовать функцию СУММЕСЛИМН. Например:
=СУММПРОИЗВ(СУММЕСЛИМН(E2:E21,C2:C21,H3:H4,B2:B21,H6))
H3:H4 - *черный* *молочный*
Н6 - желтый
Более подробно есть отдельный материал по СУММЕСЛИМН.
Здравствуйте. Возникла необходимость применить такие формулы =100-(K12/(K16/100)), =D5-(D5/100*F5) по итогам которых данные суммируются в сводных таблицах. Проблема в том что значения в ячейках (D5,K12,K16) могут быть нулевыми, соответственно в результатах формул появляется ошибка #ДЕЛ/0! которая не даёт суммировать в сводных таблицах. Вопрос как составить формулы чтобы при нулевых значения в ячейках (D5,K12,K16) результатом был "0" а не ошибка? За ранее благодарен.
Используйте функцию ЕСЛИОШИБКА. Например,
=ЕСЛИОШИБКА(100-(K12/(K16/100));0)
Большое спасибо. Всё работает.
Здравствуйте. Как мне правильно установить формулу "не вычитать если уменьшаемое меньше или равно вычитаемому"?
Добрый день! Можно использовать условие в функции ЕСЛИ. Например:
=ЕСЛИ(A1<=B1;A1;A1-B1)
=ЕСЛИ((A1-B1)<=0;A1;A1-B1)
Большое спасибо. Всё работает.
Здравствуйте как мне правильно установить формулу ? я от одной суммы высчитываю 10 % но она должна быть не более 350 000 тыс и не менее 7000 как поставить формулу ?
Попробуйте формулу с вложенной функцией ЕСЛИ
=ЕСЛИ(A1*0,1>350000;350000;ЕСЛИ(A1*0,1<7000;7000;A1*0,1))
Из продаж после 1 февраля нужно вычесть всё, что реализовано после 4 февраля, а не до.
То есть:
=СУММЕСЛИ(A2:A21;">="&"01.02.2020";E2:E21) - СУММЕСЛИ(A2:A21;">"&"04.02.2020";E2:E21)
Спасибо, поправил
Отлинчная статья, спасибо!