У меня есть лист Google, который отслеживает, когда идентификатор будет go отключен и когда он вернется. Каждая строка на этом листе имеет идентификатор объекта, дату, когда он отключается, дату, когда он возвращается, и логическое значение для того, считать его или нет.
На Листе 2 я хочу отслеживать, сколько дней объект был отключен каждый месяц в прошлом году.
Пример данных
Id StartDate EndDate Bool
999999 1/5/2020 1/10/2020 TRUE
999999 12/25/2020 1/4/2020 TRUE
888888 10/1/2019 1/20/2020 TRUE
888888 1/21/2020 1/30/2020 TRUE
Sheet2
Id 2/1/2020 1/1/2020 12/1/2019 11/1/2019 10/1/2019 9/1/2019
999999 15 15 15 15 15 15
888888 111 111 111 111 111 111
Желаемый вывод
Id 2/1/2020 1/1/2020 12/1/2019 11/1/2019 10/1/2019 9/1/2019
999999 0 9 7 0 0 0
888888 0 29 31 30 31 0
Пример Google Sheet
Чтобы узнать количество дней, в течение которых продукт не подключен, я сделал это
=SUM(QUERY(Sheet1!$A:$D,CONCATENATE("select datediff(C,B) where D=TRUE and A=",$A2)))
Однако он не проверяет, относятся ли дни к месяцу, я подумывал о том, чтобы иметь ли утверждения в датированной форме. функция, что-то, что будет работать следующим образом:
select datediff(ifs(StartDate<1stOfTheMonth,1stOfTheMonth,StartDate>1stOfTheMonth and StartDate<EndOfMonth,StartDate,StartDate>EndOfMonth,EndOfMonth),ifs(EndDate>EndOfMonth,EndOfMonth,EndDate<EndOfMonth and EndDate>StartOfMonth,EndDate,EndDate<1stOfTheMonth,1stOfTheMonth)) where ...
Если дата начала предшествует началу месяца, она отсчитывает дни с начала месяца, если дата начала в течение месяца, она подсчитывает дни от даты начала, если дата начала следует за месяцем, возвращается 0 дней, потому что отсчитывается с конца месяца до конца месяца.
Если дата окончания - после окончания месяц, он считается до конца месяца, если дата окончания находится в течение месяца, он считается до даты окончания, если дата окончания предшествует месяцу, он возвращает 0 дней, потому что он считает от начала месяца до начало месяца.
Я ожидал бы, что это сработает, но я не знаю, как я мог бы реализовать это в функции запроса.