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

时间:2020-01-13 21:18:17

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

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

例如,我使用QUERY来查询和汇总一组项目,例如:

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

但是为了使该功能在整个电子表格中有效,我将不得不将该公式向下拖动。还有ARRAYFORMULA的东西,应该可以摆脱过多的拖拽,但是它似乎不适用于QUERY,或者我只是错过了什么?

快速浏览图片:

query and arrayformula

还有一个共享文件供您思考:

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

2 个答案:

答案 0 :(得分:2)

使用以下公式:

=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)))

0

答案 1 :(得分:1)

以下是两种方法:

第一==>

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

second ==>

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