通过 Google 表格中的单元格引用结合查询和 Arrayformula

Marrying Query and Arrayformula through cell reference in Google Sheets

试图了解是否可以将 ARRAYFORMULA 应用于 Google 表格中使用 QUERY 的情况。

例如,我使用 QUERY 来查询和聚合一组项目,如下所示:

=QUERY($H:$I,"select sum(I) where H='"&A2&"' label sum(I) ''",0)

但为了在整个电子表格中发挥作用,我必须将此公式向下拖动。还有 ARRAYFORMULA 东西,它应该有助于摆脱过度拖拽,但它似乎不适用于 QUERY,或者我只是遗漏了什么?

一张图快速浏览:

还有一个供长期思考的共享文件:

https://docs.google.com/spreadsheets/d/1xOdqeESrFbrBknNYahSeF0ripA5fr2vVFQ-r--lkdA0/edit?usp=sharing

使用这个公式:

=QUERY(H2:I17, "select H,sum(I) where H is not null group by H label sum(I)''", 0)

然后你可以做一些简单的 VLOOKUP 比如:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A, QUERY(H2:I17, 
 "select H,sum(I) where H is not null group by H label sum(I)''", 0), 2, 0)))

这里两种方法交替使用:

首先==>

=arrayformula(sumif(H2:H,"=" & unique(filter(H2:H,H2:H<>"")),I2:I))

秒==>

=arrayformula(
   query(
     filter({vlookup(H2:H,{A2:A,row(A2:A)},2,false),H2:I},H2:H<>"")
     ,"Select sum(Col3) group by Col1 label Sum(Col3) ''"
    )
  )