Страницы: 1
RSS
Суммирование диапазона по условию: от первого до требуемого дня недели
 
Здравствуйте

Пытаюсь найти сумму диапазона с помощью SUMIFS. Диапазон критериев состоит из конкатенированных номера и дня недели (WEEKNUM(P2;21)&WEEKDAY(P2;2)). Условие: от первого дня недели (WEEKNUM(P2;21)&1) до заданного (WEEKNUM(P2;21)&WEEKDAY(P2;2)). Когда использую такую конструкцию
Код
SUMIFS($H:$H; $A:$A ;">="&WEEKNUM($P$2;21)&1;$A:$A;"<="&WEEKNUM($P$2;21)&WEEKDAY($P$2;2)) 
получаю 0. Не пойму где ошибка.
Пробовал TEXTJOIN-ном объединять, всё равно не получилось. Может быть есть другой вариант нахождения суммы?
 
Алексей, что вы ждете от этой конструкции WEEKNUM($P$2;21) что она вам должна возвратить вы знаете
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
что она вам должна возвратить вы знаете
Номер недели
 
В столбец А:
=ЕСЛИ(НОМНЕДЕЛИ(B2)=НОМНЕДЕЛИ($G$2);ДЕНЬНЕД(B2;2)<=ДЕНЬНЕД($G$2;2))
Сумма:
=СУММЕСЛИ(A:A;ИСТИНА;C:C)
 
Цитата
Алексей написал:
WEEKNUM($P$2;21)
в таком виде она вам ни чего хорошего не возвратит лишняя 1 во втором аргументе
идем дальше
Цитата
Алексей написал:
">="&WEEKNUM($P$2;21)&1
правильно заполненная конструкция вам выдаст это ">=41"
а второе условие
Цитата
Алексей написал:
"<="&WEEKNUM($P$2;21)&WEEKDAY($P$2;2)
вот это "<=41"
"тут был косяк не туда глянул"
Изменено: Сергей - 19.01.2021 16:05:25
Лень двигатель прогресса, доказано!!!
 
Лично мне не понятна идея "конкатенировать" номера недель с номерами дней ради того, чтобы потом искать заданный день (по той же сложной формуле) и суммировать числа от начала списка до найденного дня.
Если требуется найти сумму от 1 до 18 января, то и ищите ее напрямую
Код
=СУММЕСЛИ($B$2:$B$32;"<="&$G$2;$C$2:$C$32)
если же в начале списка окажутся ненужные даты, то от них можно избавиться усложнением формулы до конструкции вида СУММЕСЛИ() - СУММЕСЛИ(), либо же любезной Вашему сердцу формулой СУММЕСЛИМН()

В том же случае, если Вас интересуют суммы с Пятницы по Понедельник вне зависимости от недели, то Вы можете использовать конструкцию вида
Код
=СУММПРОИЗВ(ЕЧИСЛО(ПОИСКПОЗ(ДЕНЬНЕД($B$2:$B$32;1);{1:5:6:7};0))*$C$2:$C$32)
смотрите английские формулы в прилагаемом файле
 
вообщем смотрите в файле
Лень двигатель прогресса, доказано!!!
 
Цитата
vikttur написал:
В столбец А:=ЕСЛИ(НОМНЕДЕЛИ(B2)=НОМНЕДЕЛИ($G$2);ДЕНЬНЕД(B2;2)<=ДЕНЬНЕД($G$2;2))Сумма:=СУММЕСЛИ(A:A;ИСТИНА;C:C)
Суммирует только определенные дни недели (если G2 понедельник, то все понедельники). А мне нужно от понедельника до требуемого дня в рамках недели. Если сегодня вторник с понедельника по вторник, если среда - с понедельника по среду и т.д.
 
Можно без доп. столбца и всяких номеров недель:
=СУММЕСЛИМН(C:C;B:B;">="&G2-ДЕНЬНЕД(G2;2)+1;B:B;"<="&G2)

Цитата
Суммирует только определенные дни недели
Наверное, кто-то что-то не так делает... Кто бы это мог быть? :)
См. в файле.
 
Цитата
Сергей написал:
напрашивается вопрос что хотите конкретно
Когда я использовал формулу (построенную по такому же принципу) с EOMONTH то все работало. Правда там был один амперсанд "<="&EOMONTH. Возвращает похожее значение
 
vikttur, cпасибо большое! Всё работает
И спасибо всем кто пытался помочь!
Страницы: 1
Наверх