首页 > 解决方案 > 填写 Google 表格 QUERY 向下列

问题描述

如何QUERY在不拖动的情况下将其填充到列中?

=SUM(
  QUERY(
   {
    'Report: Materials List'!B9:B,
    'Report: Materials List'!C9:C,
    'Report: Materials List'!D9:D,
    'Report: Materials List'!E9:E,
    'Report: Materials List'!F9:F,
    'Report: Materials List'!G9:G,
    'Report: Materials List'!H9:H,
    'Report: Materials List'!I9:I
   },
  "SELECT Col4*Col6 WHERE Col1 = '"&A3&"' AND Col2 = '"&B3&"' AND Col1 IS NOT NULL LABEL Col4*Col6 '' format Col4*Col6 '$#'",0
 )
)

QUERYJ3 中,考虑到 A3:A 和 B3:B 中的唯一值,我希望它适用于 J3:J。

我的样品表

标签: google-sheetsarray-formulasgoogle-sheets-query

解决方案


用这个单一的公式,你可以得到所有

=ArrayFormula(query({'Report: Materials List'!B9:C, 'Report: Materials List'!E9:E * 'Report: Materials List'!G9:G}, "Select Col1, Col2, sum(Col3) where Col1 <>'' group by Col1, Col2 label sum(Col3) '' format sum(Col3) '$00'"))

(见单元格 N3)。

如果只想返回第二列,可以添加一个 vlookup 来匹配 A 列和 B 列中的值。

=ArrayFormula(if(len(A3:A&B3:B), vlookup(A3:A&B3:B, query({'Report: Materials List'!B9:B&'Report: Materials List'!C9:C, 'Report: Materials List'!E9:E * 'Report: Materials List'!G9:G},"Select Col1, sum(Col2) where Col1 <>'' group by Col1 label sum(Col2) ''"), 2, 0),))

推荐阅读