Страницы: 1
RSS
результат СУММПРОИЗВ в том же массиве, что и слагаемые.
 
добрый день. задача: есть наименования, данные по количеству, и вес для пересчета, так как наименования могут быть в разных единицах измерения. необходимы суммы наименований в единых единицах измерения по группам наименований. использую следующую формулу. все считает, проблема в том, что считает она только если исходные данные и сама формула стоят в разных столбиках. можно это сделать так что бы одно под другим шло?

=СУММПРОИЗВ(($AL$5:$AL$191/$F$5:$F$191)*($G$5:$G$191=$G21)*($H$5:$H$191=$H21)*($I$5:$I$191=$I21))

сейчас пришлось доп столбик сделать с дублированием количества. что бы развести исходные данные и результат. можно это обойти?
заранее спасибо за помощь
 
Код
=СУММПРОИЗВ(G$2:G6/A$2:A6*(B$2:B6=B6)*(C$2:C6=C6)*(D$2:D6=D6))
Изменено: _Boroda_ - 20.09.2022 13:36:48
Скажи мне, кудесник, любимец ба’гов...
 
спасибо, то что вы сделали, мне понятно. но суть как раз  в том, что бы прописать одну формулу для всего массива. а не подстраивать формулу для каждой строчки. в примере 2 группы, в жизни массив намного длиннее. если руками подгонять формулу под каждую группу, то смысл ее использования теряется.  
 
Так вы ж количество руками вводите. И, насколько я понял, итого формулой нужно. Какую формулу для количества писать?
В файле покажите, что нужно
Изменено: _Boroda_ - 20.09.2022 15:29:17
Скажи мне, кудесник, любимец ба’гов...
 
формулу нужно для ячеек с желтой заливкой.. сейчас там суммируются данные из столбика Н, а хотелось бы сослаться на столбик G. как при работе с формулами сумм, суммеслимн и тд. там не возникает конфликта, когда формула прописывается в столбике который необходимо суммировать. а тут формула не считает - выдает 0. для примера ниже сделала тоже самое с суммеслимн. и там столбик Н не нужен. но мне нужно не просто суммировать кол-во по группе, а с учетом пересчета по весу. то есть шт и тонны вместе.  
 
А я вам что сделал? Вы файл вообще мой смотрели?
Вставляете формулу в ячейку G7. Копируете ячейку. Вставляете вниз в остальные желтые
Изменено: _Boroda_ - 20.09.2022 15:44:31
Скажи мне, кудесник, любимец ба’гов...
 
Мм..могу ошибаться, но может ТС хочет что-то вроде этого?
Код
=IFERROR(1/(1/(SUMIFS($G$20:$G$33;$B$20:$B$33;B19;$C$20:$C$33;C19;$D$20:$D$33;D19)*(LEFT(E20;5)="итого")));"")
 
Если надо вставлять данные в суммируемом столбце, то можно разделить диапазон суммирования на два: до и после ячейки с итогом. В G6 вставить
=СУММПРОИЗВ(($G$2:$G6/$A$2:$A6)*($B$2:$B6=$B6)*($C$2:$C6=$C6)*($D$2:$D6=$D6))+СУММПРОИЗВ(ЕСЛИОШИБКА($G8:$G$1000/$A8:$A$1000;0)*($B8:$B$1000=$B6)*($C8:$C$1000=$C6)*($D8:$D$1000=$D6))
Если общий диапазон более 1000 строк, то поменять число строк во второй части формулы.
Если суммируются данные заведомо только до итоговой ячейки, то можно оставить только первую часть.
 
Цитата
написал:
А я вам что сделал? Вы файл вообще мой смотрели?
Вставляете формулу в ячейку G7. Копируете ячейку. Вставляете вниз в остальные желтые
да смотрела. я поняла ваш вариант. но у меня диапазоны не равные. то есть все равно настраивать под каждый диапазон формулу руками нужно будет. это я бы и так сделала. спасибо
 
Цитата
написал:
Если надо вставлять данные в суммируемом столбце, то можно разделить диапазон суммирования на два: до и после ячейки с итогом. В G6 вставить
=СУММПРОИЗВ(($G$2:$G6/$A$2:$A6)*($B$2:$B6=$B6)*($C$2:$C6=$C6)*($D$2:$D6=$D6))+СУММПРОИЗВ(ЕСЛИОШИБКА($G8:$G$1000/$A8:$A$1000;0)*($B8:$B$1000=$B6)*($C8:$C$1000=$C6)*($D8:$D$1000=$D6))
Если общий диапазон более 1000 строк, то поменять число строк во второй части формулы.
Если суммируются данные заведомо только до итоговой ячейки, то можно оставить только первую часть.
да я поняла вашу идею. интересно. как бы еще сделать так, что бы диапазоны сами менялись в зависимости от строчки... что то типа поискпоз добавить покрутить...
Изменено: zholi - 22.09.2022 13:28:27
 
Цитата
написал:
Мм..могу ошибаться, но может ТС хочет что-то вроде этого?
Код
    [URL=#]?[/URL]       1      =IFERROR(1/(1/(SUMIFS($G$20:$G$33;$B$20:$B$33;B19;$C$20:$C$33;C19;$D$20:$D$33;D19)*(LEFT(E20;5)=  "итого"  )));  ""  )   
 
у вас не задействован в формуле пересчет с учетом веса.  аналог суммеслимн просто сделано.  
 
Цитата
zholi написал:
то есть все равно настраивать под каждый диапазон
Не нужно ничего настраивать. Еще раз -
Цитата
_Boroda_ написал:
Вставляете формулу в ячейку G7. Копируете ячейку. Вставляете вниз в остальные желтые
Все диапазоны подстроятся автоматически
Скажи мне, кудесник, любимец ба’гов...
 
Цитата
zholi написал:
что бы диапазоны сами менялись в зависимости от строчки...
1. #2 сам подстраивается разве что берет начиная с самого начала а вот последняя строка - это строка которая идет перед итогом. Это может стать проблемой если вставлять строку.  
2. последнее лечится не сложно
=SUMPRODUCT(($G$2:INDEX(G:G;ROW()-1)/$A$2:INDEX(A:A;ROW()-1))*($B$2:INDEX(B:B;ROW()-1)=$B14)*($C$2:INDEX(C:C;ROW()-1)=$C14)*($D$2:INDEX(D:D;ROW()-1)=$D14))
2. Если определять диапазон группы, то возможно при большей длине формулы она будет еще и медленнее.
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
А я вам что сделал? Вы файл вообще мой смотрели?
Вставляете формулу в ячейку G7. Копируете ячейку. Вставляете вниз в остальные желтые
я поняла)) спасибо)
закрепили верх диапазона. все как обычно просто))
Изменено: zholi - 22.09.2022 14:41:25
Страницы: 1
Наверх