Использование ArrayFormula или Query для замены перетаскивания SumIf между датами - PullRequest
0 голосов
/ 05 марта 2020

Я хотел бы изменить одну из формул, которые я использую, чтобы вернуть массив значений вместо необходимости копировать / вставлять или перетаскивать формулу для каждой ячейки. Моя текущая формула, которая работает для отдельных ячеек, которые можно перетащить вниз:

=SUMIFS('Tracking Tasks'!B$2:B,
'Tracking Tasks'!C$2:C, ">="&B2,
'Tracking Tasks'!C$2:C, "<="&D2,
'Tracking Tasks'!D$2:D, "<>")

Формула суммирует все «завершенные» точки между двумя датами, которые также были «выпущены» (ячейка не пустая) , Я перепробовал множество решений, однако, похоже, это наиболее близко к тому, чего я пытаюсь достичь:

=ArrayFormula(SUM(
 QUERY('Tracking Tasks'!B$2:D,
  "select B 
  where C >= date '" & TEXT(B2:B, "yyyy-mm-dd") &
  "' and C <= date '" & TEXT(D2:D, "yyyy-mm-dd") & "'")
 ))

Однако это решение не возвращает массив значений, как я ожидаю и он не учитывает столбец «Выпущено».
Пример Google Sheet

1 Ответ

1 голос
/ 05 марта 2020

Решение для вас

=ArrayFormula(IFERROR(VLOOKUP(FLOOR((B2:B-2)/7),QUERY({IF('Tracking Tasks'!D$2:D<>"",FLOOR(('Tracking Tasks'!C$2:C-2)/7),""),'Tracking Tasks'!B$2:B},"select Col1,sum(Col2) where Col1>0 group by Col1"),2,0),""))


enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...