Excel исключить ячейку из суммирования

Обновлено: 07.07.2024

Имеем таблицу по продажам, например, следующего вида:

cond_sum1.jpg

Задача: просуммировать все заказы, которые менеджер Григорьев реализовал для магазина "Копейка".

Способ 1. Функция СУММЕСЛИ, когда одно условие

Если бы в нашей задаче было только одно условие (все заказы Петрова или все заказы в "Копейку", например), то задача решалась бы достаточно легко при помощи встроенной функции Excel СУММЕСЛИ (SUMIF) из категории Математические (Math&Trig) . Выделяем пустую ячейку для результата, жмем кнопку fx в строке формул, находим функцию СУММЕСЛИ в списке:

cond_sum2.jpg

Жмем ОК и вводим ее аргументы:

cond_sum3.jpg

  • Диапазон - это те ячейки, которые мы проверяем на выполнение Критерия. В нашем случае - это диапазон с фамилиями менеджеров продаж.
  • Критерий - это то, что мы ищем в предыдущем указанном диапазоне. Разрешается использовать символы * (звездочка) и ? (вопросительный знак) как маски или символы подстановки. Звездочка подменяет собой любое количество любых символов, вопросительный знак - один любой символ. Так, например, чтобы найти все продажи у менеджеров с фамилией из пяти букв, можно использовать критерий . . А чтобы найти все продажи менеджеров, у которых фамилия начинается на букву "П", а заканчивается на "В" - критерий П*В. Строчные и прописные буквы не различаются.
  • Диапазон_суммирования - это те ячейки, значения которых мы хотим сложить, т.е. нашем случае - стоимости заказов.

Способ 2. Функция СУММЕСЛИМН, когда условий много

Если условий больше одного (например, нужно найти сумму всех заказов Григорьева для "Копейки"), то функция СУММЕСЛИ (SUMIF) не поможет, т.к. не умеет проверять больше одного критерия. Поэтому начиная с версии Excel 2007 в набор функций была добавлена функция СУММЕСЛИМН (SUMIFS) - в ней количество условий проверки увеличено аж до 127! Функция находится в той же категории Математические и работает похожим образом, но имеет больше аргументов:

cond_sum4.jpg

При помощи полосы прокрутки в правой части окна можно задать и третью пару (Диапазон_условия3-Условие3), и четвертую, и т.д. - при необходимости.

Если же у вас пока еще старая версия Excel 2003, но задачу с несколькими условиями решить нужно, то придется извращаться - см. следующие способы.

Способ 3. Столбец-индикатор

Добавим к нашей таблице еще один столбец, который будет служить своеобразным индикатором: если заказ был в "Копейку" и от Григорьева, то в ячейке этого столбца будет значение 1, иначе - 0. Формула, которую надо ввести в этот столбец очень простая:

=(A2="Копейка")*(B2="Григорьев")

Логические равенства в скобках дают значения ИСТИНА или ЛОЖЬ, что для Excel равносильно 1 и 0. Таким образом, поскольку мы перемножаем эти выражения, единица в конечном счете получится только если оба условия выполняются. Теперь стоимости продаж осталось умножить на значения получившегося столбца и просуммировать отобранное в зеленой ячейке:

cond_sum5.jpg

Способ 4. Волшебная формула массива

Если вы раньше не сталкивались с такой замечательной возможностью Excel как формулы массива, то советую почитать предварительно про них много хорошего здесь. Ну, а в нашем случае задача решается одной формулой:

=СУММ((A2:A26="Копейка")*(B2:B26="Григорьев")*D2:D26)

cond_sum6.jpg

После ввода этой формулы необходимо нажать не Enter , как обычно, а Ctrl + Shift + Enter - тогда Excel воспримет ее как формулу массива и сам добавит фигурные скобки. Вводить скобки с клавиатуры не надо. Легко сообразить, что этот способ (как и предыдущий) легко масштабируется на три, четыре и т.д. условий без каких-либо ограничений.

Способ 4. Функция баз данных БДСУММ

В категории Базы данных (Database) можно найти функцию БДСУММ (DSUM) , которая тоже способна решить нашу задачу. Нюанс состоит в том, что для работы этой функции необходимо создать на листе специальный диапазон критериев - ячейки, содержащие условия отбора - и указать затем этот диапазон функции как аргумент:

Или иначе: как посчитать те "Б", которые попадают под нужные столбцы?

5e9f51a52a0eb008245584.jpg

  • Вопрос задан более года назад
  • 1332 просмотра

Сложный 8 комментариев

akelsey

Обычно это делается иначе. Ручная отметка ячеек цветом - не самый удобный способ маркировки, в частности, потому что штатных функций для ее обработки как условия нет.
Я бы на вашем месте отмечал ячейки не цветом, а в строке выше выставлял флаги (например, для коричневых ячеек ставил над ними ноль. Саму строку снабдил бы условным форматированием, которое бы красило ячейки коричневым, если над ними ноль - это если цветовая отметка нужна. А "Б" считал бы функцией счётесли, если сверху в столбце ноль. John Smith, возможно, вариант подходящий) Подскажите, как реализовать счетесли так, как вы советуете?
Предположив, что есть флаги над нужными ячейками

akelsey

EvgenyApMr,
Написать VBA процедуру, которая возвращает цвет ячейки (или флаг - если цвета нет 0, иное 1) и в следующей строке сделать промежуточные показания, где присваивать значение из строки "6" и какое-то отличное значение от Б если в строке "4" цвет коричневый.
Ну и уже счетесли использовать на промежуточной строчке - а так по уму подход менять. Ведь "Б" это что то значит, оно может принимать любое значение - сложно представить зачем кто-то красил верхнюю ячейку в коричневый цвет - усложняя последующий анализ при автоматизации, вместо того что б ввести БК (К-коричневый) и тогда бы формула отработала идеально без всяких ухищрений.

akelsey, Коричневый - это дни недели, сб и вс, под ними есть ещё много таблиц, туда попадает не только "Б", но и другие значения.

По VBA не подскажите, как должна выглядеть процедура?

akelsey

John Smith, возможно, вариант подходящий) Подскажите, как реализовать счетесли так, как вы советуете?
Предположив, что есть флаги над нужными ячейками

над ячейками, которые надо считать, пишете флаг.

в ячейку, где надо считать, ставите

=СЧЁТЕСЛИМН(%диапазон с буквами%;%буква, которую считаете, в кавычках%;%диапазон с флагами%;%флаг счета без кавычек, если цифра%)

Вот пример. Флаг у меня единица. Уловное форматирование делать не стал, но это элементарно - для всех ячеек строки с буквами, где над ней ячейка с флагом, ставить цвет. Статей про условное форматирование в сети навалом. Если непонятно что-то конкретное, спрашивайте.

Функция СУММЕСЛИМН — одна из математических и тригонометрических функций, которая суммирует все аргументы, удовлетворяющие нескольким условиям. Например, с помощью функции СУММЕСЛИМН можно найти число всех розничных продавцов, (1) проживающих в одном регионе, (2) чей доход превышает установленный уровень.

Браузер не поддерживает видео.

Это видео — часть учебного курса Усложненные функции ЕСЛИ.

Синтаксис

СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; …)

=СУММЕСЛИМН(A2:A9; B2:B9; "=Я*"; C2:C9; "Артем")

=СУММЕСЛИМН(A2:A9; B2:B9; "<>Бананы"; C2:C9; "Артем")

Имя аргумента

Диапазон_суммирования (обязательный аргумент)

Диапазон ячеек для суммирования.

Диапазон_условия1 (обязательный аргумент)

Диапазон, в котором проверяется Условие1.

Диапазон_условия1 и Условие1 составляют пару, определяющую, к какому диапазону применяется определенное условие при поиске. Соответствующие значения найденных в этом диапазоне ячеек суммируются в пределах аргумента Диапазон_суммирования.

Условие1 (обязательный аргумент)

Условие, определяющее, какие ячейки суммируются в аргументе Диапазон_условия1. Например, условия могут вводится в следующем виде: 32, ">32", B4, "яблоки" или "32".

Диапазон_условия2, Условие2, … (необязательный аргумент)

Дополнительные диапазоны и условия для них. Можно ввести до 127 пар диапазонов и условий.

Примеры

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

Проданное количество

=СУММЕСЛИМН(A2:A9; B2:B9; "=Я*"; C2:C9; "Артем")

Суммирует количество продуктов, названия которых начинаются с Я и которые были проданы продавцом Артем. Для поиска совпадающих названий продуктов в Criteria_range1 B2:B Criteria_range2 9 в группе Условия1(=A*) используется подп. Затем функция суммирует соответствующие обоим условиям значения в диапазоне ячеек, заданном аргументом Диапазон_суммирования (A2:A9). Результат — 20.

=СУММЕСЛИМН(A2:A9; B2:B9; "<>Бананы"; C2:C9; "Артем")

Суммирует количество продуктов, которые не являются бананами и которые были проданы продавцом по имени Артем. Он исключает бананы, используя<>в критерии1, "<>Бананы"и ищет имя "Том" в Criteria_range2 C2:C9. Затем функция суммирует соответствующие обоим условиям значения в диапазоне ячеек, заданном аргументом Диапазон_суммирования (A2:A9). Результат — 30.

Распространенные неполадки

Вместо ожидаемого результата отображается 0 (нуль).

Если выполняется поиск текстовых значений, например имени человека, убедитесь в том, что значения аргументов Условие1, 2 заключены в кавычки.

Неверный результат возвращается в том случае, если диапазон ячеек, заданный аргументом Диапазон_суммирования, содержит значение ИСТИНА или ЛОЖЬ.

Значения ИСТИНА и ЛОЖЬ в диапазоне ячеек, заданных аргументом Диапазон_суммирования, оцениваются по-разному, что может приводить к непредвиденным результатам при их суммировании.

Ячейки в аргументе Диапазон_суммирования, которым присвоено значение ИСТИНА, оцениваются как 1. Ячейки, которым присвоено значение ЛОЖЬ, оцениваются как 0 (ноль).

Рекомендации

Необходимые действия

Использование подстановочных знаков

Подстановочные знаки, такие как вопросительный знак (?) или звездочка (*), в аргументах Условие1, 2 можно использовать для поиска сходных, но не совпадающих значений.

Вопросительный знак соответствует любому отдельно взятому символу. Звездочка — любой последовательности символов. Если требуется найти именно вопросительный знак или звездочку, следует ввести значок тильды (

) перед вопросительным знаком.

Например, формула =СУММЕСЛИМН(A2:A9; B2:B9; "=Я*"; C2:C9; "Арте?") будет суммировать все значения с именем, начинающимся на "Арте" и оканчивающимся любой буквой.

Различия между функциями СУММЕСЛИ и СУММЕСЛИМН

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

При копировании и изменении этих похожих формул нужно следить за правильным порядком аргументов.

Одинаковое количество строк и столбцов для аргументов, задающих диапазоны ячеек

Аргумент Диапазон_условия должен иметь то же количество строк и столбцов, что и аргумент Диапазон_суммирования.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Функция СУММЕСЛИ используется, если необходимо просуммировать значения диапазон, соответствующие указанному критерию. Предположим, например, что в столбце с числами необходимо просуммировать только значения, превышающие 5. Для этого можно использовать следующую формулу: =СУММЕСЛИ(B2:B25;"> 5")

Браузер не поддерживает видео.

Это видео — часть учебного курса Сложение чисел в Excel.

При необходимости условия можно применить к одному диапазону, а просуммировать соответствующие значения из другого диапазона. Например, формула =СУММЕСЛИ(B2:B5; "Иван"; C2:C5) суммирует только те значения из диапазона C2:C5, для которых соответствующие значения из диапазона B2:B5 равны "Иван".

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

Синтаксис

СУММЕСЛИ(диапазон; условие; [диапазон_суммирования])

Аргументы функции СУММЕСЛИ описаны ниже.

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

Условие .Обязательный аргумент. Условие в форме числа, выражения, ссылки на ячейку, текста или функции, определяющее, какие ячейки необходимо суммировать. Можно включит под вопросицу (?), которая соответствует любому одиночному символу, звездочка (*) — любой последовательности символов. Если требуется найти непосредственно вопросительный знак (или звездочку), необходимо поставить перед ним знак "тильда" (

Например, условия могут быть выражены как 32, ">32", B5, "3?", "яблок*", "*

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

Диапазон_суммирования .Необязательный аргумент. Ячейки, значения из которых суммируются, если они отличаются от ячеек, указанных в качестве диапазона. Если аргумент диапазон_суммирования опущен, Excel суммирует ячейки, указанные в аргументе диапазон (те же ячейки, к которым применяется условие).

Sum_range должны быть того же размера и фигуры, что идиапазон . В этом случае производительность может понести убытки, и формула суммирует диапазон ячеек, который начинается с первой ячейки в sum_range но имеет те же измерения, что и диапазон. Например:

Читайте также: