Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Мария Прохорова от 13.01.2019, 17:47

Название: Сумирование массива по условию
Отправлено: Мария Прохорова от 13.01.2019, 17:47
Здравстуйте подскажите пожалуйста как выполнить следующие действия в exel.
Нужно просуммировать массив данных удовлетворяющих условию в столбце слева. Файл прилагаю. формула "суммесли" не работает. Только пожалуйста не надо писать простую формулу "сумм" с диапазоном суммируемых ячеек или выводить сумму по каждой строке в 1 столбец и складывать и т.д.
Здесь приведен урезанный формат данных, значений на самом деле очень много (к тому же столбцы будут добавляться...) и поэтому нужно чтобы суммировались все значения в диапазоне B:H, соответствующие определенному условию в столбце А (в файле указан пример).
Название: Re: Сумирование массива по условию
Отправлено: _Boroda_ от 13.01.2019, 18:40
Так нужно?
=СУММПРОИЗВ((A$2:A$9999=2)*Ч(+B$2:H$9999))
Название: Re: Сумирование массива по условию
Отправлено: boa от 13.01.2019, 19:06
Цитата: Мария Прохорова от 13.01.2019, 17:47
Только пожалуйста не надо писать простую формулу "сумм" с диапазоном суммируемых ячеек
а почему нет?

=СУММ(ИНДЕКС(C2;ПОИСКПОЗ(RC11;C1;0)):ИНДЕКС(C8;ПОИСКПОЗ(RC11;C1;0)+СЧЁТЕСЛИ(C1;RC11)-1))
следующая покороче, но волотильная.
=СУММ(СМЕЩ(R1C1;ПОИСКПОЗ(RC11;C1;0)-1;1;СЧЁТЕСЛИ(C1;RC11);7))
в RC11 - критерий
Название: Re: Сумирование массива по условию
Отправлено: Мария Прохорова от 14.01.2019, 21:46
Да Все так. Спасибо ОГРОМНЕЙШЕЕ за помощь!!!!!!!!!!!!!!!!!!!!!!
Только не подскажите еще как быть если нужно суммировать не все столбцы массива, а только первые и последние. Например: столбцы B:E и стобец H. Просто опять таки если я дважды вбиваю формулу через знак "+" с учетом суммируемых диапазонов, он опять выдает 0.
Заранее спасибо.
Название: Re: Сумирование массива по условию
Отправлено: boa от 14.01.2019, 22:22
Александра
=СУММПРОИЗВ((C1=RC11)*Ч(+C2:C5))
+СУММПРОИЗВ((C1=RC11)*Ч(+C8))

и мои две
=СУММ(СМЕЩ(R1C1;ПОИСКПОЗ(RC11;C1;0)-1;1;СЧЁТЕСЛИ(C1;RC11);4))
+СУММ(СМЕЩ(R1C1;ПОИСКПОЗ(RC11;C1;0)-1;7;СЧЁТЕСЛИ(C1;RC11);1))

=СУММ(ИНДЕКС(C2;ПОИСКПОЗ(RC11;C1;0)):ИНДЕКС(C5;ПОИСКПОЗ(RC11;C1;0)+СЧЁТЕСЛИ(C1;RC11)-1))
+СУММ(ИНДЕКС(C8;ПОИСКПОЗ(RC11;C1;0)):ИНДЕКС(C8;ПОИСКПОЗ(RC11;C1;0)+СЧЁТЕСЛИ(C1;RC11)-1))
Название: Re: Сумирование массива по условию
Отправлено: _Boroda_ от 15.01.2019, 00:38
=СУММПРОИЗВ((A$2:A$9999=2)*(Ч(+B$2:H$9999)*{1;1;1;1;0;0;1}))