Страницы: 1
RSS
Поиск даты в диапазоне дат и сумма значений в соседних ячейках
 
Всем добрый день. Крайне сложная для меня задачка, которую я могу решить двумя "дурацкими" способами, но может вы подскажите более изящный вариант.

Задача:

Значение 1 и Дата 1
Значение 2 и Дата 2
Значение 3 и Дата 3
3нач 4 и Д 4
итд

Необходимо собрать воедино информацию, в какой месяц и какие значения есть в таблице, и если Даты пересекаются согласно ТЗ (первая половина месяца/вторая половина месяца) то сумма этих значений.

Мой вариант №1. Создаю скрытый столбик и в ячейке напротив значений пишу =Если(и(дата>=дата1;дата<=дата2)1) а потом ВПР значения 1 и суммы рядом с ним.

Мой вариант №2. Прописываю скрытые строки в кол-ве 365шт и называю их соответствующей датой, затем если дата из скрытой строки и из таблицы совпадает, то = значение. Затем отдельно прописываю =сумм и выделяю диапазоны дат, суммы которых меня интересуют
Изменено: Sanja - 17.03.2026 13:19:23
 
Код
=ЕСЛИ(ЕПУСТО(H$2);СУММЕСЛИМН($D:$D;$C:$C;$G:$G;$E:$E;">="&ДАТАЗНАЧ("15 " &G$2));СУММЕСЛИМН($D:$D;$C:$C;$G:$G;$E:$E;"<"&ДАТАЗНАЧ("15 " &H$2)))
 
Точнее так:
Код
=ЕСЛИ(ЕПУСТО(H$2);СУММЕСЛИМН($D:$D;$C:$C;$G:$G;$E:$E;">="&ДАТАЗНАЧ("15 " &G$2);$E:$E;"<="&КОНМЕСЯЦА(ДАТАЗНАЧ("1 " &G$2);0));СУММЕСЛИМН($D:$D;$C:$C;$G:$G;$E:$E;"<"&ДАТАЗНАЧ("15 " &H$2);$E:$E;">="&ДАТАЗНАЧ("1 " &H$2)))
 
Цитата
написал:
Точнее так:
Не пойму, зачем там G2 и H2 ?
 
Цитата
написал:
зачем там G2 и H2
Определяют месяц.
 
Если немного переделать таблицу то можно так, и ещё вариант сводной и временной шкалой
 
Цитата
написал:
Если немного переделать таблицу то можно так, и ещё вариант сводной и временной шкалой

Прикрепленные файлы
Это шедевр, спасибо!  
 
Здравствуйте.
Вариант формулой для закрытой темы.
Код
=СУММЕСЛИМН($D:$D;$C:$C;$G4;$E:$E;">="&--(ОСТАТ(СТОЛБЕЦ(D11);4)*7+1&"."&ИНДЕКС($H$2:H$2;ПОИСКПОЗ("яя";$H$2:H$2;1)));$E:$E;"<="&МИН(--(ОСТАТ(СТОЛБЕЦ(D11);4)*7+7&"."&ИНДЕКС($H$2:H$2;ПОИСКПОЗ("яя";$H$2:H$2;1)));КОНМЕСЯЦА(1&"."&ИНДЕКС($H$2:H$2;ПОИСКПОЗ("яя";$H$2:H$2;1));0))
 
Цитата
написал:
Здравствуйте.Вариант формулой для закрытой темы.
Добрый день. ОСТАТ(СТОЛБЕЦ(O14);4) не пойму, для чего данная функция в этой формуле? И почему она ссылается на пустую ячейку?
 
Цитата
написал:
не пойму, для чего

Данная формула при протягивании по столбцам выдаёт числа от 0 до 3, умножая их на 7 и плюсуя 1 получаем день начала периода типа 1;8;15 и 22. Дату конца периода получаем прибавляя не 1, а 7.  А ссылается на пустую ячейку, потому что нам нужено динамические изменение чисел от 1 до 4 при протягивании формулы и номер столбца это нам и даёт.  
Изменено: gling - 02.04.2026 10:41:44
 
Цитата
Александр Хайд написал:
Не пойму, зачем там G2 и H2 ?
- верно замечено, это ошибки, нет там в таблице в G2 данных для месяца.
И в G3 тоже, во втором примере.
И ещё когда сравниваете с датами - опасно сравнивать
$E$3:$E$9>K$3
вдруг там в E будет запись за 31.03.2026, но с временем? Посчитаете как за апрель!
Лучше это предусмотреть, иначе по шаблону поймаете в другой таблице ошибку.
 
Цитата
написал:
А ссылается на пустую ячейку, потому что нам нужено динамические изменение чисел от 1 до 4 при протягивании формулы и номер столбца это нам и даёт.  
https://docs.google.com/spreadsheets/d/1EGRthcRzrAhOINPmPN9VW_PTXTroFJ5cYudyfHxL­j8k/edit?usp=sharing

Не срабатывает при адаптации под Google таблицу, можете, пожалуйста, подсказать в чем дело?
 
Цитата
написал:
Не срабатывает
Попробуйте такой вариант для ГуглТаблицы
Код
=СУММЕСЛИМН($E$11:$E$999;$C$11:$C999;$A4;$F$11:$F$999;">="&ДАТА(2026;МЕСЯЦ(ИНДЕКС($B$2:B$2;ПОИСКПОЗ(9^9;$B$2:B$2;1)));ОСТАТ(СТОЛБЕЦ(D1);4)*7+1);$F$11:$F$999;"<="&МИН(ДАТА(2026;МЕСЯЦ(ИНДЕКС($B$2:B$2;ПОИСКПОЗ(9^9;$B$2:B$2;1)));ОСТАТ(СТОЛБЕЦ(D1);4)*7+7);КОНМЕСЯЦА(ДАТА(2026;МЕСЯЦ(ИНДЕКС($B$2:B$2;ПОИСКПОЗ(9^9;$B$2:B$2;1)));ОСТАТ(СТОЛБЕЦ(D1);4)*7+1);0)))
но в ячейках вместо названия месяца надо прописать дату
 
Спасибо, люди добрые! Изящное решение!  
 
быть может и так:
=СУММЕСЛИМН($E$12:$E$999;$C$12:$C$999;$A4;$F$12:$F$999;">="&ЛЕВБ(B$3;5);$F$12:$F$999;"<="&ПРАВБ(B$3;5))
если ссылаться на строку 3:3 ...
для гуглотаблов русские ДД.ММ заменить на аглицкие DD.MM
Страницы: 1
Читают тему
Наверх