Суммесли по горизонтали excel

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


Как суммировать значения в горизонтальном диапазоне в Excel?

Предположим, у вас есть таблица количества заказов, как показано на снимке экрана ниже, чтобы суммировать общее количество KTE или KTW, проданных за день, вы можете попробовать следующую формулу.

Общие формулы

=SUMIFS(sum_range, criteria_ranges, criteria)

аргументы

Суммарный_диапазон: диапазон, в котором вы хотите суммировать значения по горизонтали на основе критерия.

Критерий_диапазон: диапазон ячеек, которые вы хотите оценить по критериям;

Внимание: убедитесь, что диапазоны сумм и диапазонов критериев совпадают.

Критерии: Критерий определяет, какие значения в диапазоне_критериев будут суммироваться.

Как пользоваться этой формулой?

Выберите ячейку, введите приведенную ниже формулу и нажмите кнопку Enter Ключ, чтобы получить результат. Выберите эту ячейку результата, а затем перетащите ее маркер автозаполнения вниз, а затем вправо, чтобы получить промежуточные итоги других горизонтальных диапазонов,

=SUMIFS($C5:$H5,$C$4:$H$4,J$4)

Заметки:

1) В формуле $C5:$H5 — это диапазон суммы, представляющий собой смешанную ссылку с заблокированными столбцами;

2) $C$4:$H$4 — диапазон критериев, который является абсолютной ссылкой;

3) J$4 — это ячейка, содержащая критерии, которые являются ссылкой на микс с заблокированной строкой;

4) Вы можете ввести критерии непосредственно в формулу и заключить ее в двойные кавычки.

=СУММЕСЛИМН($C5:$H5,$C$4:$H$4,»KTE»)


Связанные функции

Функция СУММЕСЛИМН в Excel
Функция СУММЕСЛИМН в Excel помогает суммировать значения ячеек на основе нескольких критериев.


Родственные формулы


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (0)


Оценок пока нет. Оцените первым!

Резюме

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

=SUMIFS(B5:G5,$B$4:$G$4,"red")

который возвращает общее количество элементов в «красных» столбцах для каждой строки.

Объяснение

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

=SUMIFS(B5:G5,$B$4:$G$4,"red")

Обратите внимание на диапазон критериев B4: G4 заблокирован как абсолютная ссылка, чтобы предотвратить изменения при копировании формулы.

Итоги для каждого цвета

Тщательно используя комбинацию абсолютных и смешанных ссылок, вы можете рассчитать итоговые значения для каждого цвета в сводной таблице. Обратите внимание, что в приведенном ниже примере мы выбираем ссылки на ячейки I4, J4 и K4 для непосредственного использования в качестве критериев:

Формула ниже в ячейке I5, скопированная вниз и поперек таблицы:

=SUMIFS($B5:$G5,$B$4:$G$4,I$4)

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

  • Диапазон суммы $ B5: $ G5 — смешанная ссылка с заблокированными столбцами.
  • Диапазон критериев B $ 4: $ G $ 4 является абсолютным и полностью заблокирован, как и раньше.
  • Критерий — смешанная ссылка, 4 доллара США, с заблокированной строкой.
 

Nemez2014

Пользователь

Сообщений: 8
Регистрация: 04.09.2014

Дорогие друзья, помогите написать формулу! Мне нужно просуммировать выбранный массив согласно условий(есть одно но, условия по вертикали и горизонтали).
Написал такую формулу =СУММЕСЛИМН(ИНДЕКС(H8:P345;ПОИСКПОЗ(R9;A$8:A$345   ;)   ;)  ;H5:P5;T7;H7:P7;R   8)  , но мне выдаёт первое попавшийся число по указанным критериям, а не суммирует как мне нужно

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Название темы не соответствует правилам форума. Помочь можно, но после того как Вы предложите Модератору переименовать тему на более осмысленный вариант — отражающий суть вопроса.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 
 

Nemez2014

Пользователь

Сообщений: 8
Регистрация: 04.09.2014

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

=СУММПРОИЗВ((R9=A34:A345)*(H5:P5=T7)*(H7:P7=R8)*H34:P345)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Nemez2014

Пользователь

Сообщений: 8
Регистрация: 04.09.2014

Владимир, спасибо!

Изменено: Nemez201404.09.2014 17:23:46

 

коряво, но считает:
=СУММЕСЛИ(A$8:A$345;R9;ДВССЫЛ(«R8C»&СУММПРОИЗВ((H5:P5=T7)*(H7:P7=R8);СТОЛБЕЦ(H5:P5))&»:R345C»&СУММПРОИЗВ((H5:P5=T7)*(H7:P7=R8);СТОЛБЕЦ(H5:P5));ЛОЖЬ))

 

Владимир как всегда нашел более короткий способ :)

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#9

04.09.2014 17:19:35

Формула массива.

Код
=СУММЕСЛИ($A:$A;$R$9;ИНДЕКС($1:$1048576;1;МАКС(($T$7=$H$5:$P$5)*($R$8=$H$7:$P$7)*СТОЛБЕЦ($H:$P))):ИНДЕКС($1:$1048576;ЧСТРОК($H:$P);МАКС(($T$7=$H$5:$P$5)*($R$8=$H$7:$P$7)*СТОЛБЕЦ($H:$P))))

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Nemez2014

Пользователь

Сообщений: 8
Регистрация: 04.09.2014

Подскажите еще, пожалуйста, когда у формуле суммпроизв, которую написал Владимир, использовать с посыланием на другой лист пишет «знач» что делать?

 

Nemez2014

Пользователь

Сообщений: 8
Регистрация: 04.09.2014

Выгладит она примерно так:
=СУММПРОИЗВ((C124=’Із 1С8 для кормів’!A41:A378)*(‘Із 1С8 для кормів’!H38:P38=тв!HU2)*(‘Із 1С8 для кормів’!H40:P40=тв!C122)*’Із 1С8 для кормів’!H41:P378)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

СУММПРОИЗВ не любит,когда диапазоны разного размера.
Еще. Формула с этой функцией работает быстрее в таком виде:
=СУММПРОИЗВ(—(условие1);—(условие2)…)

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

В данном случае, в этом нет никакой необходимости.

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

FrostDi

Пользователь

Сообщений: 3
Регистрация: 06.09.2014

Доброе время суток!
Подскажите plz необходимо: просуммировать массив по 2 условиям (1 ФИО, 2 месяц) определить сколько денег было выдано конкретному человеку и подтянуть результат на лист «зарплата»  (СУММЕСЛИМН(учет_сум;учет_люди;A11=’Учет расходов выдача’!B4) не получается =\

 

Алишер Шакиров

Пользователь

Сообщений: 469
Регистрация: 05.01.2013

#15

06.09.2014 14:21:21

А так?

Код
=СУММЕСЛИ(учет_люди;A11;учет_сум)
 

FrostDi

Пользователь

Сообщений: 3
Регистрация: 06.09.2014

Это да, он считает общее кол-во денег за весь период, а как поставить 2е условие, что бы он считал конкретно по каждому месяцу значение в зависимости от ФИО ?
СУММЕСЛИМН(учет_сум;учет_люди;A11;учет_дата;МЕСЯЦ(‘Учет расходов выдача’!A4)=»7″)
думал в таком ключе, но тоже пока промах =

=СУММЕСЛИМН(учет_сум;учет_люди;A11;учет_дата;ЕСЛИ(МЕСЯЦ(‘Учет расходов выдача’!A4)=7;СУММ(учет_сум);»нет»)
не выполняет 1 условие
хотя если использовать обычную формулу СУММЕСЛИ с такими же параметрами то считает =

Изменено: FrostDi07.09.2014 18:19:55

 

Скорее всего из-за того, что диапазоны в «учет_сум» и «учет_люди» разного размера.
А для месяцев посмотрите в файле. Может так нужно?

 

FrostDi

Пользователь

Сообщений: 3
Регистрация: 06.09.2014

#18

08.09.2014 06:37:16

Кстати да, спасибо!

Суммирование с условием по вертикали и горизонтали

FDS1989

Дата: Вторник, 04.04.2017, 19:28 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Доброго времени суток. Дорогие форумчане, подскажите с формулой. В примере есть лист Выгрузка, там содержаться исходные данные. В листе Свод необходима формула, которая будет суммировать значения листа Выгрузка ссылаясь на условия по горизонтали и вертикали. К примеру в ячейке B2 должна быть сумма Выгрузка!B3+Выгрузка!E3+Выгрузка!H3+Выгрузка!B9+Выгрузка!E9+Выгрузка!H9. Заранее благодарен

К сообщению приложен файл:

9654170.xlsx
(12.5 Kb)

 

Ответить

jakim

Дата: Вторник, 04.04.2017, 19:41 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 1150


Репутация:

305

±

Замечаний:
0% ±


Excel 2010

Примените формулу

Код

=SUMPRODUCT((Выгрузка!$B$1:$J$1=Свод!B$1)*(Выгрузка!$A$3:$A$14=Свод!$A2)*Выгрузка!$B$3:$J$14)

К сообщению приложен файл:

2415195.xlsx
(13.1 Kb)

 

Ответить

OlegOV

Дата: Понедельник, 28.10.2019, 09:17 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 12


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

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

К сообщению приложен файл:

___.xlsx
(22.3 Kb)

 

Ответить

китин

Дата: Понедельник, 28.10.2019, 09:29 |
Сообщение № 4

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

OlegOV, — Прочитайте Правила форума
— Создайте свою тему согласно п.5q Правил форума


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Материалы

Работа с ненормализированными данными

Подробности
Создано 22 Июль 2014
Содержание
СУММЕСЛИ, СУММЕСЛИМН
Дополнительные вычисления
СУММПРОИЗВ
Формулы обработки массивов
Вычисляемая адресация

В приложении к статье файл с простой задачей суммирования диапазона по различным условиям.

alt

Как ни странно, подобные задачи вызывают серьезные трудности даже у опытных пользователей Excel, работающих с большими объемами данных. Попробуйте решить самостоятельно (лист ЗАДАЧА) – вычислите значения в желтых ячейках, формулы должны копироваться. Подразумевается также, что даты в исходной таблице и в условиях могут быть любыми.

Если сходу не получилось, то давайте разбираться. Некоторые пользователи указывают на «неправильность» расположения данных в таблице. Действительно, в примере данные не нормализированы – т.е. не в приведены единую таблицу со списками полей, где даты также бы располагались в столбцах, а не в заголовках, как в примере. Но на самом деле это типичный вид рабочей таблицы Excel. Обсуждать неправильность структуры данных в данной статье не будем, хотя, это, пожалуй, главная причина проблем с анализом информации. Но и говорить о том, что задача не имеет решения в Excel нельзя.

СУММЕСЛИ, СУММЕСЛИМН

Итак, рассмотрим первый вариант решения задачи, тот, на котором спотыкается большинство пользователей – лист ОШИБКИ.

alt

Первое, что приходит в голову подавляющему большинству – это использовать формулу SUMIF для первой задачи и SUMIFS для остальных:

=SUMIF($B$3:$B$9;$A12;$C$3:$I$9)
=SUMIFS($C$3:$I$9;$B$3:$B$9;$A18;$C$2:$I$2;$B$17)
=SUMIFS($C$3:$I$9;$B$3:$B$9;$A25;$C$2:$I$2;">="&$B$23;$C$2:$I$2;"<="&$B$24) 

Диапазоны и типы ссылок указаны верно. Специальные выражения с амперсандом («&») используется для неточных сравнений. При этом первая формула выдает неправильный результат, остальные возвращают ошибку #VALUE. Предлагаю, разобраться для начала, почему так происходит.

Что делать с неверным результатом SUMIF? Некоторые пользователи готовы сходу обвинить функцию в неверной работе (и взять в руки калькулятор). Но функция работает именно так как и должна – просматривает массив (диапазон) условий и при выполнении условия суммирует соответствующее число из массива значений. Если количество значений (ячеек) в массиве условий меньше, чем в массиве значений, то функция не проверяет и не суммирует оставшиеся числа. Так и происходит в примере: в диапазоне условий 7 значений, в диапазоне чисел -7*7 = 49. Т.е. функция работает корректно и выдает в качестве результата сумму только по первой дате, остальные даты просто не просматриваются. Кстати, в качестве последнего параметра SUMIF можно указать не диапазон, а ссылку на одну ячейку (верхний левый угол) – результат будет тот же.

SUMIF($B$3:$B$9;$A12;$C$3)

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

Можно сделать вывод, что простое использование SUMIFи SUMIFSв данном случае не подходит.

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

В условиях задачи нет запрета на использование дополнительных диапазонов для служебных вычислений. Главное, чтобы результат попал в желтые ячейки и формулы были бы копируемыми. Воспользовавшись этой подсказкой большинство опытных пользователей без труда решают задачу с использованием дополнительных столбцов – лист ДОП.ВЫЧ.

alt

Предварительно вычисляются суммы по периодическим условиям, затем этот результат еще раз обрабатывается через суммирование по округам. Т.е. применяется последовательно 2 функции суммирования с разными условиями, но с одинаковыми размерами диапазонов.

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

СУММПРОИЗВ

Но можно ли обойтись без служебных столбцов? Во-первых, просто ради интереса. Во-вторых, бывают случаи, особенно в сложных экономических моделях, когда наличие дополнительных вычислений не приветствуется. Это может быть связано с алгоритмами вставки новых строк, столбцов и т.п.

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

alt

Формулы выдают правильный результат:

=SUMPRODUCT(($B$3:$B$9=$A12)*$C$3:$I$9)
=SUMPRODUCT(($B$3:$B$9=$A18)*($C$2:$I$2=$B$17)*$C$3:$I$9)
=SUMPRODUCT(($B$3:$B$9=$A25)*($C$2:$I$2>=$B$23)*($C$2:$I$2<=$B$24)*$C$3:$I$9)

В качестве аргумента функции используется произведение векторов на массив, при этом в векторах записаны логически выражения, при выполнении возвращающие 1 (ИСТИНА) или 0 (ЛОЖЬ). Т.е. каждый элемент результирующего массива умножается на 0 или на 1 в зависимости от соответствующего условия вектора. Функция SUMPRODUCT в данном случае работает с массивами данных (см.далее), но в отличие от простых функций агрегирования (SUM, MIN, MAX) не требует ввода через Ctrl+Shift+Enter.

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

Формулы обработки массивов

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

alt

Формулы также выдают правильный результат, но в записи видны фигурные скобки – такие формулы вводятся через нажатие Ctrl+Shift+Enter:

{=SUM(IF($B$3:$B$9=$A12;$C$3:$I$9))}
{=SUM(IF($B$3:$B$9=$A18;ЕСЛИ($C$2:$I$2=$B$17;$C$3:$I$9)))}
{=SUM(IF($B$3:$B$9=$A25;ЕСЛИ($C$2:$I$2>=$B$23;ЕСЛИ($C$2:$I$2<=$B$24;$C$3:$I$9))))}

Принцип работы функций обработки массивов кратко можно изложить следующим образом

  • Последовательно просматриваются ячейки в диапазоне строк и столбцов, при этом выбираются соответствующие им значения в прямоугольных диапазонах.
  • Каждый шаг образует формулу, которая вычисляется отдельно.
  • В конце результат каждого вычисления агрегируется в одно значение (чаще всего используется функция SUM).

По-моему, запись формулы с обработкой массивов, в которой явно заданы условия (функция ЕСЛИ), более наглядна, чем использование скрытых условий в SUMPRODUCT. Хотя принцип работы тот же. Сказать однозначно, что будет работать быстрее на больших объемах данных нельзя – все зависит от расположения значений в массиве данных. Главное для массивов – не забывать про Ctrl+Shift+Enter, просто вписанные вручную фигурные скобки, как пытаются делать некоторые, просто сделают из формулы текстовую строку.

Вычисляемая адресация

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

Пример использования формул с функциями вычисляемой адресацией представлен на листе ВЫЧ.АДРЕС.

alt

В чистом виде использование вычисляемой адресации позволило решить только вторую часть задачи – собрать данные на определенную дату:

=SUMIF($B$3:$B$9;$A18;OFFSET($B$2;1;MATCH($B$17;$C$2:$I$2;0);ROWS($B$3:$B$9);1))

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

Аналогичная логика заложена и в третьей части задачи:

{=SUM(SUMIF($B$3:$B$9;$A25;OFFSET($B$2;1;IF($C$2:$I$2>=$B$23;IF($C$2:$I$2<=$B$24;COLUMN($C$2:$I$2)-COLUMN($B$2)));ROWS($B$3:$B$9);1)))}

Функция СУММЕСЛИ собирает данные по строкам, а номера столбцов вычисляются сложным образом через вложенные условия IF. Выбранные данные суммируются. Формула требует ввод через Ctrl+Shift+Enter, так как в ней использован метод агрегации (SUM) нескольких найденных значений.

Вариант решения первой части задачи – простого итога по округам – совсем не стандартный:

=SUM(SUMIF($B$3:$B$9;$A12;OFFSET($B$2;1;{1:2:3:4:5:6:7};ROWS($B$3:$B$9);1)))

В формуле использован массив констант {1:2:3:4:5:6:7}, обеспечивающий просмотр семи столбцов. По большому счету это та же обработка массива без сложного поиска, как во второй части задачи – последовательно обрабатываются столбцы, затем происходит общее суммирование. Так как массив состоит из констант, то формула не требует обязательного ввода через Ctrl+Shift+Enter.

Не стоит злоупотреблять вычисляемой адресацией диапазонов там, где это не требуется. На больших объемах данных этот метод будет работать медленнее всех, описанных выше.

Смотри также

» Простые формулы

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

» Обработка больших объемов данных. Часть 1. Формулы

Одним из самых популярных методов использования электронных таблиц является обработка данных, полученных из учетных систем….

» Суммирование несвязанных диапазонов

При обработке больших таблиц иногда возникает потребность получить итоговые значения на основе данных, расположенных в диапазонах…

Понравилась статья? Поделить с друзьями:
  • Суммеслимн в excel примеры если в условие больше меньше
  • Суммесли по году excel
  • Суммеслимн в excel примеры для чайников
  • Суммесли по всем листам excel
  • Суммеслимн в excel по строкам