Сумма по группе

Существует определенная группа элементов с определенной характеристикой которую можно просуммировать. Нам нужна сумма по группе, а не сумма всех элементов, к тому же мы не хотим писать формулу вроде «ячейка+ячейка+ячейка». Это можно сделать очень просто при помощи формулы.

Исходные значения

Пусть у нас будет такой набор значений.

Исходные значения для суммирования по группе

Некий набор параметров и характеризующие их значения. В данном примере всем параметрам «А» присвоено значение 1, всем параметрам «Б» значение 2, соответственно параметр «В»=3. Сделано это для того что бы проще было проверить результат.

Итак, нам необходимо получить отдельные суммы всех элементов равных «А», равных «Б» и «В». Итог мы будем помещать в столбец «D». Сначала напишем формулу и потом разберем, как она работает. Перейдем в ячейку D3 и запишем:

=ЕСЛИ(B3=B2;» «;СУММЕСЛИ(B:B;B3;C:C))

Как работает формула

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

Функция «СУММЕСЛИ» будет искать в указанном диапазоне значение и суммировать все совпадения выбирая соответствующую ячейку из второго диапазона. В нашем случае, все параметры у нас в столбце «В» можно было бы указать и диапазон «В3:В9». Но с точки зрения распространения формулы на следующие ячейки лучше просто ограничить именем столбца. Проверять будем на значение ячейки B3, те искомое значение для суммирования, текущей строки. Не забываем что мы в ячейке D3, поэтому текущая строка 3. Ну и наконец, значения для суммирования будем брать из столбца «С». Вот собственно и всё.

Сумма по группе без сортировки группы

Сортируем

Ах да, странное «ЕСЛИ» в начале формулы… Посмотрите на полученный результат, конечно в столбце «Итог» записаны верные значения, но они записаны напротив каждой строки. В принципе если у Вас множество значений, для которых нужно получить суммы по группам, проще использовать, например сводные таблицы. Однако если всё-таки используется формула, то для производительности лучше что бы список был отсортирован. В нашем пример он не сортирован, хотя формула ориентирована именно на сортированный список, именно по этому начинается с условия «ЕСЛИ» и именно по этому если текущее и предыдущее значение совпадают выводится пустое значение.

Если отсортировать наш результат по столбцу «Параметр», то результат станет не только правильным, но еще и красивым.

Сумма по группе

Добавить комментарий