Страницы: 1
RSS
Суммирование значений подгрупп в группу
 
Добрый день!
Подскажите, пожалуйста, как объединить покупателей (1-6) в группу (ВГО, Собственные нужды, Внешние) согласно условий групп покупателей.
Спасибо
 
Здравствуйте.
СУММЕСЛИМН(B:B;Марка топлива;C:C;Условие 2)
Условие 2: для ВГО-"<3"; Собственные нужды -"=3"; Внешние-">3"
См. Таблица3, Выручка.
или так
Код
=СУММПРОИЗВ(СУММЕСЛИМН($E:$E;$C:$C;($O$4:$O$9=H25)*$N$4:$N$9))
Изменено: gling - 28.04.2024 16:13:09
 
gling, Благодарю!
 
Цитата
gling написал:
СУММПРОИЗВ(СУММЕСЛИМН($E:$E;$C:$C;($O$4:$O$9=H25)*$N$4:$N$9))

Интересное решение. Чуть вас поспрашиваю по формуле.

Вот эта конструкция:

Код
($O$4:$O$9=H25)*$N$4:$N$9)


тут $O$4:$O$9=H25 нам выдаст массив из ИСТИН и ЛЖЕЙ. ИСТИНА - это однёрка, ЛОЖЬ - нуль.
тут $N$4:$N$9 - номера покупателей.
Соответственно номера ($N$4:$N$9) умножаются на однёрки и нули ($O$4:$O$9=H25), остаётся массив из номеров покупателей и нулей.
(Кстати, интересно - как бы решалась задачка, если бы столбец с покупателями был бы не числовой, а текстовый?)

В итоге мы получаем массив из нескольких условий. Например для первой строки:
{1:2:0:0:0:0}

Вопрос: как тут работает функция СУММПРОИЗВ?
Насчёт СУММ понятно - она будет суммировать результаты по покупателю 1 и покупателю 2
А ПРОИЗВ - что тут с чем перемножается?
Шлюхогон42
 
Цитата
Дмитрий Никитин написал:
что тут с чем перемножается?
уже все перемножилось :) СУММПРОИЗВ здесь используется исключительно потому, что имеет особенность преобразовывать в массивы все переданные ей аргументы(попутно вычисляя логические и математические выражения, если таковые были), перемножать их и суммировать итоговый массив. Т.к. передали по сути только один массив - он был преобразован, вычислен и просуммирован.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
А ПРОИЗВ - что тут с чем перемножается?
При том что так называется функция. Здесь эта функция используется для суммирования и вместо массивного ввода. Тот же результат будет если ввести как формулу массива такую формулу.
Код
=СУММ(СУММЕСЛИМН($E:$E;$C:$C;($O$4:$O$9=H25)*$N$4:$N$9))
 
Чисто для разнообразия можно и через COUNTIFS
=SUMPRODUCT($E$4:$E$100;COUNTIFS($N$4:$N$9;$C$4:$C$100;$O$4:$O$9;H25))
=СУММПРОИЗВ($E$4:$E$100;СЧЁТЕСЛИМН($N$4:$N$9;$C$4:$C$100;$O$4:$O$9;H25))
 
Цитата
написал:
(Кстати, интересно - как бы решалась задачка, если бы столбец с покупателями был бы не числовой, а текстовый?)
например так
=СУММ(СУММЕСЛИМ($C:$C;ЕСЛИ($O$4:$O$9=H25;$N$4:$N$9);$E:$E))

Можно приладить в новых версиях фильтр, но заметно быстрее не станет.
=SUM(SUMIF($C:$C;INDEX(FILTER($N$4:$O$9;$O$4:$O$9=H25);;1);$E:$E))
По вопросам из тем форума, личку не читаю.
 
Цитата
gling:    =СУММ(СУММЕСЛИМН($E:$E;$C:$C;($O$4:$O$9=H25)*$N$4:$N$9))
вот почти то же самое
=СУММ(СУММЕСЛИ($C:$C;N$4:N$9;$E:$E)*(O$4:O$9=H25))
и в данном случае результат тот же, однако, возможности ширше...
Страницы: 1
Наверх