【问题标题】:Using a ArrayFormula or Query to replace dragging down SumIf between dates使用 ArrayFormula 或 Query 替换日期之间向下拖动 SumIf
【发布时间】:2020-06-17 17:08:36
【问题描述】:

我想更改我用来返回值数组的公式之一,而不必复制/粘贴或向下拖动每个单元格的公式。我目前适用于可以向下拖动的单个单元格的公式是:

=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") & "'")
 ))

但是,此解决方案不会像我期望的那样返回值数组,并且它不考虑“已发布”列。
Sample Google Sheet

【问题讨论】:

    标签: google-sheets google-sheets-formula spreadsheet array-formulas google-sheets-query


    【解决方案1】:

    为您提供解决方案

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


    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2012-12-12
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 2016-09-03
      相关资源
      最近更新 更多