No Image

Сумма по двум критериям в excel

СОДЕРЖАНИЕ
395 просмотров
10 марта 2020

Предположим, что требуется суммировать значения с более чем одним условием, например сумма продаж продукта в определенном регионе. Это хороший случай использования функции СУММЕСЛИМН в формуле.

Обратите внимание на этот пример, в котором у нас есть два условия: требуется сумма продаж мясо (из столбца C) в Южной области (из столбца a).

Вот формула, которую можно использовать для акомплиш:

= СУММЕСЛИМН (D2: D11; a2: A11; "Юг"; C2: C11; "мясо")

Результат — значение 14 719.

Рассмотрим более подробное представление каждой части формулы.

=СУММЕСЛИМН — это арифметическая формула. Вычисляет числа, которые в данном случае находятся в столбце D. Первый шаг — указать расположение чисел.

Другими словами, вы хотите, чтобы формула суммировала числа в этом столбце, если они соответствуют определенным условиям. Этот диапазон ячеек — первый аргумент в этой формуле — первый элемент данных, который функция использует в качестве ввода.

Затем нужно найти данные, отвечающие двум условиям, и ввести первое условие, указав для функции расположение данных (a2: A11), а также то, что такое условие — "Юг". Обратите внимание запятые между отдельными аргументами.

Кавычки вокруг слова "Юг" определяют, что эти текстовые данные.

Наконец, вы вводите аргументы для второго условия — диапазон ячеек (C2:C11), которые содержат слово "Мясо", а также само слово (заключенное в кавычки), чтобы приложение Excel смогло их сопоставить. Завершите формулу, закрыв закрывающая круглая скобка ) , а затем нажмите клавишу ВВОД. Результат — еще раз в 14 719.

По мере ввода функции СУММЕСЛИМН в Excel, если вы не помните эти аргументы, Справка готова. После ввода формулы = СУММЕСЛИМН (Автозаполнение формул появится под формулой, а список аргументов будет указан в нужном порядке.

Взгляните на изображение автозаполнения формул и списка аргументов в нашем примере сум_ранже— это D2: D11, столбец чисел, которые требуется суммировать. criteria_range1— a2. A11 — столбец с данными, в котором находится условие1 "Южный".

По мере того, как вы вводите формулу, в автозавершении формулы появятся остальные аргументы (здесь они не показаны); диапазон_условия2 — это диапазон C2:C11, представляющий собой столбец с данными, в котором находится условие2 — “Мясо”.

Если щелкнуть СУММЕСЛИМН в автозавершении формулы, откроется статья, в которой вы сможете получить дополнительные сведения.

Попробуйте попрактиковаться

Если вы хотите поэкспериментировать с функцией СУММЕСЛИМН, вот несколько примеров данных и формула, использующая функцию.

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

Скопируйте все ячейки из приведенной ниже таблицы и вставьте их в ячейку A1 нового листа Excel. Вы можете отрегулировать ширину столбцов, чтобы формулы лучше отображались.

Один из способов использования двух или несколько условий в функции СУММЕСЛИ основан на добавлении или вычитании результатов нескольких функций СУММЕСЛИ. Если два условия касаются одного и того же диапазона значений, данный метод является весьма эффективным. Если же диапазоны разные, то данный способ существенно усложняется, так как необходимо следить за тем, чтобы в итоговых расчетах не учитывать повторно те же самые значения.

Функция СУММЕСЛИ и несколько условий в одном диапазоне Excel

Допустим нам необходимо суммировать числовые значения в границах дат от 23-го и до 29-го июня включительно. Начальные и конечные даты введены в соответствующих ячейках дополнительной таблицы для составления запросов выборки из исходной таблицы. Ниже на рисунке изображены исходные значения и условия отбора значений для суммирования:

Описанная данная техника суммирования по нескольким условиям с помощью функции СУММЕСЛИ основана на вычитании. В данной формуле первая функция СУММЕСЛИ возвращает сумму значений, соответствующих датам раньше конечной даты в ячейке E3 или равной этой дате (в данном случаи =29-е Июня). Оператор «меньше» объединен символом амперсант (&) со ссылкой на ячейку E2 (начальной даты).

Читайте также:  Ссылка на номер рисунка word

Когда формула содержала бы только первую функцию =СУММЕСЛИ(A2:A12;" ="&E2)’ >

Она выборочно суммирует только те значение ячеек в диапазоне B2:B12, которые выполняют условия определенных в двух парах аргументов. Первое условие " ="&E2 – ограничивает вычисление исключив все числа до начальной даты.

Пример функции СУММПРОИЗВ для суммы диапазона по нескольким условиям

В старых и в новых версиях Excel, можно воспользоваться функцией СУММПРОИЗВ. Ее эффективность выше чем, техника в первом примере, но уступает как по производительности, так и по быстродействию более новой функции СУММЕСЛИМН. Ее формула выглядит следующим образом:

=E2)*(B2:B12))’ >

Как видно на рисунке, мы получили аналогичный результат вычисления. Как работает СУММПРОИЗВ в данной формуле детально описано в статье: Формулы суммирования по нескольким условиям в Excel.

Данные вычисления основаны на умножении логических значений и числовых в столбце B2:B12. Результаты вычислений в первых двух логических выражений возвращают логические значения ИСТИНА=1 и ЛОЖЬ=0. Если хоть один из множителей будет равен нулю, то и результат = 0. Например, как читает данная формула первую строку:

Если же оба логические выражения возвращают значение ИСТИНА, тогда текущая ячейка столбца B с показателем продаж умножается на единицы, а затем суммируются все найденные значения. Для наглядного примера сформируем таблицу как видит формула СУММПРОИЗВ текущую ситуацию:

Несмотря на то что функция СУММПРОИЗВ старая, не такая быстрая и удобная как СУММЕСЛИМН, она будет всегда поддерживаться новыми версиями Excel для возможности открытия файлов старых версий без вычислительных ошибок в формулах. Поэтому стоит разобраться с ее принципами работы.

Представим себе таблицу, в которой в строках вперемешку указаны названия отделов(или счетов, или еще чего-то).

Суммируем ячейки по критерию
Необходимо вычислить общую сумму по каждому отделу. Многие делают это при помощи фильтра и записи ручками в ячейки.
Хотя сделать это можно легко и просто при помощи всего одной функции – СУММЕСЛИ.
СУММЕСЛИ (SUMIF) – Суммирует ячейки, удовлетворяющие заданному условию (условие можно задать только одно). Эту функцию так же можно применить, если таблица разбита в столбцах на периоды(помесячно, в каждом месяце по три столбца – Доход|Расход|Разница) и необходимо подсчитать общую сумму за все периоды только по Доходу, Расходу и Разнице.

Всего для СУММЕСЛИ предусмотрено три аргумента: Диапазон, Критерий, Диапазон_Суммирования.
=СУММЕСЛИ( A1:A20000 ; A1 ; B1:B20000 )
=SUMIF(A1:A20000,A1,B1:B20000)

  • Диапазон ( A1:A20000 ) – указывается диапазон с критериями. Т.е. столбец, в котором искать значение, указанное аргументом Критерий.
  • Критерий ( A1 )- значение(текстовое или числовое, а так же дата), которое необходимо найти в Диапазоне. Может содержать символы подстановки "*" и "?". Т.е. указав в качестве Критерия "*масса*" будут просуммированы значения, в которых встречается слово "масса". При этом слово " масса " может либо встречаться в любом месте текста, либо в ячейке может быть только одно это слово. А указав " масса* ", будут просуммированы все значения, начинающиеся на "масса". "?" – заменяет лишь один символ, т.е. указав " мас?а " вы сможете просуммировать строки и со значением "масса" и со значением "маска" и т.д.
    Если критерий записан в ячейке и надо все же использовать подстановочные символы, то можно сделать ссылку на эту ячейку добавив нужное. Допустим, надо просуммировать значения, содержащие слово " итог ". Слово " итог " записано в ячейке A1 , в столбце A при этом могут встречаться различные по написанию значения, содержащие слово "итог" : "итоги за июнь" , "итоги за июль" , "итоги за март" . Формула тогда должна выглядеть так:
    =СУММЕСЛИ( A1:A20000 ;"*"& A1 &"*"; B1:B20000 )
    "*"& A1 &"*" – знак &(амперсанд) объединяет несколько значений в одно. Т.е. в результате получится "*итог*".
    Чтобы лучше понять принцип работы формул лучше использовать инструмент Вычислить формулу: Как просмотреть этапы вычисления формул
    Все текстовые критерии и критерии с логическими и математическими знаками необходимо заключать в двойные кавычки ( =СУММЕСЛИ( A1:A20000 ;"итог"; B1:B20000 ) ). Если критерием является число, использовать кавычки не требуется. Если требуется найти непосредственно вопросительный знак или звездочку, необходимо поставить перед ним знак "тильды" (
Читайте также:  Fix windows update errors

).
Про тильду и её особенности можно узнать в этой статье: Как заменить/удалить/найти звездочку?

  • Диапазон_Суммирования ( B1:B20000 )(необязательный аргумент) – указывается диапазон сумм или числовых значений, которые необходимо просуммировать.
  • Как это работает: функция ищет в Диапазоне значение, указанное аргументом Критерий, и при нахождении совпадения суммирует данные, указанные аргументом Диапазон_Суммирования. Т.е. если у нас в столбце А название отдела, а в столбце В суммы, то указав в качестве критерия "Отдел развития" результатом функции будет сумма всех значений столбца В, напротив которых в столбце А встречается "Отдел развития". Фактически Диапазон_Суммирования может не совпадать по размеру с аргументом Диапазон и ошибки самой функции это не вызовет. Однако при определении ячеек для суммирования, в качестве начальной ячейки для суммирования будет использована верхняя левая ячейка аргумента Диапазон_Суммирования , а затем суммируются ячейки, соответствующие по размеру и форме аргументу Диапазон .

    Некоторые особенности
    Последний аргумент функции(Диапазон_Суммирования – B1:B20000 ) является необязательным. А это значит, что его можно не указывать. Если его не указать, то функция просуммирует значения, указанные аргументом Диапазон. Для чего это нужно. Например, Вам необходимо получить сумму только тех чисел, которые больше нуля. В столбце А суммы. Тогда функция будет иметь такой вид:
    =СУММЕСЛИ( A1:A20000 ;">0")

    Что следует стоит учитывать: диапазон_суммирования и диапазон должны быть равны по количеству строк. Иначе можно получить неверный результат. Оптимально, если это будет выглядеть как в приведенных мной формулах: диапазон и диапазон_суммирования начинаются с одной строки и имеют одинаковое количество строк: A1:A20000 ; B1:B20000

    Суммирование по двум и более критериям
    Но что делать, когда критериев для суммирования 2 и больше? Допустим, Вам надо просуммировать только те суммы, которые относятся к одному отделу и только за определенную дату. Счастливые обладатели версий офиса 2007 и выше могут воспользоваться функцией СУММЕСЛИМН:
    =СУММЕСЛИМН( $C$2:$C$50 ; $A$2:$A$50 ; $I$3 ; $B$2:$B$50 ; $H8 )
    $C$2:$C$50 – диапазон_суммирования. Первым аргументов указывается диапазон ячеек, содержащих суммы, которые и будут собираться в одну.
    $A$2:$A$50 , $B$2:$B$50 – Диапазон_критерия. Указывается диапазон ячеек, в которых необходимо искать совпадение по критерию.
    $I$3 , $H8 – критерий. Здесь, как и в СУММЕСЛИ, допускается указание символов подстановки * и ? и работают они так же.

    Особенность указания аргументов: сначала указывается диапазон критерия(они пронумерованы) затем через точку-с-запятой указывается непосредственно значение(критерий), которое в этом диапазоне необходимо найти – $A$2:$A$50 ; $I$3 . И никак иначе. Не стоит пытаться сначала указать все диапазоны, а потом критерии к ним – функция выдаст либо ошибку, либо просуммирует не то, что надо.

    Все условия сравниваются по принципу И . Это значит, что если все перечисленные условия выполняются. Если хоть одно условие не выполняется – функция пропускает строку и ничего не суммирует.
    Так же как и для СУММЕСЛИ диапазоны суммирования и критериев должны быть равны по количеству строк.

    Читайте также:  Макросы для игровой мыши

    Т.к. СУММЕСЛИМН появилась только в версиях Excel, начиная с 2007, то как же быть в таких случаях несчастным пользователям более ранних версий? Очень просто: использовать другую функцию – СУММПРОИЗВ. Не буду расписывать аргументы, т.к. их много и все они являются массивами значений. Данная функция перемножает массивы, указанные аргументами. Я постараюсь описать общий принцип использования этой функции для суммирования данных по нескольким условиям.
    Для решения задачи суммирования по нескольким критериям функция будет выглядеть так:
    =СУММПРОИЗВ(( $A$2:$A$50 = $I$3 )*( $B$2:$B$50 = H5 ); $C$2:$C$50 )
    $A$2:$A$50 – диапазон дат. $I$3 – дата критерия, за которую необходимо просуммировать данные.
    $B$2:$B$50 – наименования отделов. H5 – наименование отдела, данные по которому необходимо просуммировать.
    $C$2:$C$50 – диапазон с суммами.

    Разберем логику, т.к. многим она будет совершенно не ясна просто при взгляде на данную функцию. Хотя бы потому, что в справке подобное её применение не описывается. Для большей читабельности уменьшим размеры диапазонов:
    =СУММПРОИЗВ(( $A$2:$A$5 = $I$3 )*( $B$2:$B$5 = H5 ); $C$2:$C$5 )
    Итак, выражение ( $A$2:$A$5 = $I$3 ) и ( $B$2:$B$5 = H5 ) являются логическими и возвращают массивы логических ЛОЖЬ и ИСТИНА. ИСТИНА, если ячейка диапазона $A$2:$A$5 равна значению ячейки $I$3 и ячейка диапазона $B$2:$B$5 равна значению ячейки H5 . Т.е. получается у нас следующее:
    =СУММПРОИЗВ(<ЛОЖЬ;ИСТИНА;ИСТИНА;ЛОЖЬ>*<ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ>; $C$2:$C$50 )
    Как видно, в первом массиве два совпадения условию, а во втором одно. Далее эти два массива перемножаются(за это отвечает знак умножения(*)). При перемножения происходит неявное преобразование массивов ЛОЖЬ и ИСТИНА в числовые константы 0 и 1 соответственно(<0;1;1;0>*<0;0;1;0>). Как известно, при умножении на нуль получаем нуль. И в результате получается один массив:
    =СУММПРОИЗВ(<0;0;1;0>; $C$2:$C$50 )
    Далее происходит уже перемножение массива <0;0;1;0>на массив чисел в диапазоне $C$2:$C$50 :
    =СУММПРОИЗВ(<0;0;1;0>;<10;20;30;40>)
    И как результат получаем 30. Что нам и требовалось – мы получаем лишь ту сумму, которая соответствует критерию. Если сумм, удовлетворяющих критерию будет больше одной, то они будут просуммированы.

    Преимущество СУММИРОИЗВ
    Если у аргументов вместо знака умножения указать знак плюс:
    ( $A$2:$A$5 = $I$3 )+( $B$2:$B$5 = H5 )
    то условия будут сравниваться по принципу ИЛИ: т.е. суммироваться итоговые суммы будут в случае, если хотя бы одно условие выполняется: или $A$2:$A$5 равна значению ячейки $I$3 или ячейка диапазона $B$2:$B$5 равна значению ячейки H5 .
    В этом преимущество СУММПРОИЗВ перед СУММЕСЛИМН. СУММЕСЛИМН не может суммировать значения по принципу ИЛИ, только по принципу И(все условия должны выполняться).

    Недостатки
    В СУММПРОИЗВ невозможно использовать символы подстановки * и ?. Точнее использовать можно, но они будут восприняты не как спец.символы, а как непосредственно звездочка и вопр.знак. Я считаю это существенным минусом. И хотя это можно обойти, использую внутри СУММПРОИЗВ иные функции – все же было бы замечательно, если бы функция каким-то образом могла использовать символы подстановки.

    В примере найдете пару примеров функций для более лучшего понимания написанного выше.

    Сумма по нескольким критериям (41,5 KiB, 10 996 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск по меткам

    почему в некоторых строках при копировании или протягивании формул СУУММЕСЛИ не находит соответствие значению ячейки в критерии при использовании синтаксиса типа H96&"*" а при отсутствии &"*" формула находит соответствие? При этом у остальных значений работают оба варианта, есть странная зависимость, исключаются все значения порядка 8хххх при использовании в сочетании с *. Что посоветуете с чего начать поиск?

    Сложно сказать. Возможно, там числа, а звездочка работает в паре с текстом. Если речь именно про цифры, то лучше использовать конструкции типа ">"&H96&"0" .

    Комментировать
    395 просмотров
    Комментариев нет, будьте первым кто его оставит

    Это интересно
    Adblock
    detector