Суммирование данных по строкам по критерию
Lyova
Дата: Понедельник, 26.08.2019, 19:10 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Здравствуйте, Форумчане! Прошу помочь решить задачу, которую никак не могу решить самостоятельно. Необходимо сложить данные по строкам находящихся в столбцах, смещенных назад относительно текущего столбца на разное количество столбцов. При этом для сложения используется еще один критерий. Пример во вложенном файле. Заранее огромное спасибо!
Здравствуйте, Форумчане! Прошу помочь решить задачу, которую никак не могу решить самостоятельно. Необходимо сложить данные по строкам находящихся в столбцах, смещенных назад относительно текущего столбца на разное количество столбцов. При этом для сложения используется еще один критерий. Пример во вложенном файле. Заранее огромное спасибо! Lyova
К сообщению приложен файл:
_4.xlsx
(11.8 Kb)
Ответить
Сообщение Здравствуйте, Форумчане! Прошу помочь решить задачу, которую никак не могу решить самостоятельно. Необходимо сложить данные по строкам находящихся в столбцах, смещенных назад относительно текущего столбца на разное количество столбцов. При этом для сложения используется еще один критерий. Пример во вложенном файле. Заранее огромное спасибо! Автор - Lyova Дата добавления - 26.08.2019 в 19:10
Nic70y
Дата: Понедельник, 26.08.2019, 20:16 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
сказать, что нифига не понятно - ни сказать ни чего! ВАЩЕ НЕ ПОНЯТНО!
сказать, что нифига не понятно - ни сказать ни чего! ВАЩЕ НЕ ПОНЯТНО! Nic70y
ЮMoney 41001841029809
Ответить
Сообщение сказать, что нифига не понятно - ни сказать ни чего! ВАЩЕ НЕ ПОНЯТНО! Автор - Nic70y Дата добавления - 26.08.2019 в 20:16
Lyova
Дата: Понедельник, 26.08.2019, 20:33 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Nic70y , Вы находите сумму в текущем столбце, а нужно смещаться влево на задаваемое в диапазоне C12:C15 количество столбцов, которое по каждой строке разное. Необходимо получить суммы, как в диапазоне D19:Q20. В этом диапазоне простые формулы СМЕЩ (), которые складываются. Проблема в том, что таких формул может быть до 200, поэтому итоговая формула получается 3 км. Возможно это можно сделать более короткой формулой.
Nic70y , Вы находите сумму в текущем столбце, а нужно смещаться влево на задаваемое в диапазоне C12:C15 количество столбцов, которое по каждой строке разное. Необходимо получить суммы, как в диапазоне D19:Q20. В этом диапазоне простые формулы СМЕЩ (), которые складываются. Проблема в том, что таких формул может быть до 200, поэтому итоговая формула получается 3 км. Возможно это можно сделать более короткой формулой.Lyova
Ответить
Сообщение Nic70y , Вы находите сумму в текущем столбце, а нужно смещаться влево на задаваемое в диапазоне C12:C15 количество столбцов, которое по каждой строке разное. Необходимо получить суммы, как в диапазоне D19:Q20. В этом диапазоне простые формулы СМЕЩ (), которые складываются. Проблема в том, что таких формул может быть до 200, поэтому итоговая формула получается 3 км. Возможно это можно сделать более короткой формулой.Автор - Lyova Дата добавления - 26.08.2019 в 20:33
Светлый
Дата: Понедельник, 26.08.2019, 22:48 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$6;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$4);ЕСЛИ($C19=$B$12:$B$17;-$C$12:$C$17)));))
*Не доделал:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$6);-Ч(СМЕЩ($C$11;ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17););))));))
Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$6;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$4);ЕСЛИ($C19=$B$12:$B$17;-$C$12:$C$17)));))
*Не доделал:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$6);-Ч(СМЕЩ($C$11;ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17););))));))
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Понедельник, 26.08.2019, 23:11
Ответить
Сообщение Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$6;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$4);ЕСЛИ($C19=$B$12:$B$17;-$C$12:$C$17)));))
*Не доделал:Код
=СУММ(ЕСЛИОШИБКА(Ч(СМЕЩ(D$2;ЕЧИСЛО(ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17);))*СТРОКА($1:$6);-Ч(СМЕЩ($C$11;ПОИСКПОЗ($C$3:$C$8;ЕСЛИ($C19=$B$12:$B$17;$A$12:$A$17););))));))
Автор - Светлый Дата добавления - 26.08.2019 в 22:48
bmv98rus
Дата: Понедельник, 26.08.2019, 22:55 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Без летучестиКод
=SUM(IF(INDEX($B$12:$B$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)))=$C19;IF(COLUMN($A$3:D$6)=COLUMN()-INDEX($C$12:$C$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)));$A$3:D$6;0);0))
Без летучестиКод
=SUM(IF(INDEX($B$12:$B$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)))=$C19;IF(COLUMN($A$3:D$6)=COLUMN()-INDEX($C$12:$C$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)));$A$3:D$6;0);0))
bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Понедельник, 26.08.2019, 22:57
Ответить
Сообщение Без летучестиКод
=SUM(IF(INDEX($B$12:$B$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)))=$C19;IF(COLUMN($A$3:D$6)=COLUMN()-INDEX($C$12:$C$15;N(INDEX(MATCH($C$3:$C$6;$A$12:$A$15;);)));$A$3:D$6;0);0))
Автор - bmv98rus Дата добавления - 26.08.2019 в 22:55
Lyova
Дата: Понедельник, 26.08.2019, 23:08 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Светлый , Спасибо большое, работает как надо!
Светлый , Спасибо большое, работает как надо!Lyova
Ответить
Сообщение Светлый , Спасибо большое, работает как надо!Автор - Lyova Дата добавления - 26.08.2019 в 23:08
Lyova
Дата: Понедельник, 26.08.2019, 23:12 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
bmv98rus , Спасибо большое, Ваш вариант тоже отлично работает!
bmv98rus , Спасибо большое, Ваш вариант тоже отлично работает!Lyova
Ответить
Сообщение bmv98rus , Спасибо большое, Ваш вариант тоже отлично работает!Автор - Lyova Дата добавления - 26.08.2019 в 23:12
Lyova
Дата: Понедельник, 26.08.2019, 23:14 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Светлый , Я, вроде, протестировал с различными комбинациями и большим количеством показателей - у меня отлично работает Ваш первый вариант.
Светлый , Я, вроде, протестировал с различными комбинациями и большим количеством показателей - у меня отлично работает Ваш первый вариант.Lyova
Ответить
Сообщение Светлый , Я, вроде, протестировал с различными комбинациями и большим количеством показателей - у меня отлично работает Ваш первый вариант.Автор - Lyova Дата добавления - 26.08.2019 в 23:14
Светлый
Дата: Вторник, 27.08.2019, 19:44 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Ещё немного докрутил формулу. Без летучести и даже без индексов. Массивная:Код
=СУММ(СЧЁТЕСЛИМН($A$12:$A$16;$C$3:$C$8;$B$12:$B$16;$C19)*(СТОЛБЕЦ($D:$Q)=СТОЛБЕЦ()-СУММЕСЛИ($A$12:$A$16;$C$3:$C$8;$C$12:$C$16))*$D$3:$Q$8)
Ещё немного докрутил формулу. Без летучести и даже без индексов. Массивная:Код
=СУММ(СЧЁТЕСЛИМН($A$12:$A$16;$C$3:$C$8;$B$12:$B$16;$C19)*(СТОЛБЕЦ($D:$Q)=СТОЛБЕЦ()-СУММЕСЛИ($A$12:$A$16;$C$3:$C$8;$C$12:$C$16))*$D$3:$Q$8)
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Ещё немного докрутил формулу. Без летучести и даже без индексов. Массивная:Код
=СУММ(СЧЁТЕСЛИМН($A$12:$A$16;$C$3:$C$8;$B$12:$B$16;$C19)*(СТОЛБЕЦ($D:$Q)=СТОЛБЕЦ()-СУММЕСЛИ($A$12:$A$16;$C$3:$C$8;$C$12:$C$16))*$D$3:$Q$8)
Автор - Светлый Дата добавления - 27.08.2019 в 19:44