【问题标题】:Marrying Query and Arrayformula through cell reference in Google Sheets通过 Google Sheets 中的单元格引用结合 Query 和 Arrayformula
【发布时间】:2020-04-30 14:50:51
【问题描述】:

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

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

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

但为了在电子表格中实现这一点,我必须将这个公式向下拖动。还有 ARRAYFORMULA 的东西,它应该有助于摆脱过度拖动,但它似乎不适用于 QUERY,或者我只是错过了什么?

快速浏览的图片:

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

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

【问题讨论】:

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


【解决方案1】:

这里有两种方法交替:

第一个 ==>

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

【讨论】:

  • 谢谢你。尽管另一个答案有一些视觉效果,但实际上接受了您对 2 种方法的答案。
【解决方案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)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 2022-06-26
    • 2020-12-03
    • 1970-01-01
    • 2018-10-17
    • 2020-09-06
    • 2020-08-15
    • 2015-07-16
    相关资源
    最近更新 更多