Google sheets 如何在查询where子句中使用ARRAYFORMULA?
在我表格的单元格Google sheets 如何在查询where子句中使用ARRAYFORMULA?,google-sheets,array-formulas,Google Sheets,Array Formulas,在我表格的单元格C1:C中,我得到了6行票据id。我喜欢搜索不同的电子表格来搜索那些车票id,并计算在车票上花费的总小时数 我使用以下公式使其工作: =QUERY({IMPORTRANGE("SPREADSHEETID";"B3:B")\ARRAYFORMULA(TO_PURE_NUMBER(IMPORTRANGE("SPREADSHEETID";"F3:F")-IMPORTRANGE("SPREADSHEETID";"E3:E")))};"SELECT SUM(Col2) WHERE Col1
C1:C
中,我得到了6行票据id。我喜欢搜索不同的电子表格来搜索那些车票id,并计算在车票上花费的总小时数
我使用以下公式使其工作:
=QUERY({IMPORTRANGE("SPREADSHEETID";"B3:B")\ARRAYFORMULA(TO_PURE_NUMBER(IMPORTRANGE("SPREADSHEETID";"F3:F")-IMPORTRANGE("SPREADSHEETID";"E3:E")))};"SELECT SUM(Col2) WHERE Col1 = '"&C1&"' GROUP BY Col1 LABEL SUM(Col2) ''")
在此示例中,C1是可以找到票证ID的位置
现在我想我可以把QUERY
包装在ARRAYFORMULA
中,然后使用C1:C
而不仅仅是C1
,但这行不通。现在我可以在每个单元格中复制并粘贴上述公式,但必须有更干净的方法
回答
多亏了Max下面的回答,我使用了下面的公式使它起作用
=查询(
{
进口(“电子表格ID”;“B3:B”)\
阵列公式(
到纯数(
进口(“电子表格ID”;“F3:F”)-进口(“电子表格ID”;“E3:E”)
)
)
};
"
选择Col1,求和(Col2)
其中Col1='”&JOIN(“'或Col1='”过滤器(C:C;C:C“”)&“
Col1分组
标签和(Col2)'
")
否,不能创建查询字符串数组并使用数组公式(查询(…)
一次性运行它们
替代方案:代替
SELECT SUM(Col2) WHERE Col1 = '"&C1&"' GROUP BY Col1 LABEL SUM(Col2) ''
使用查询
SELECT Col1, SUM(Col2) GROUP BY Col1
然后使用vlookup
查找所需Col1的每个值的总和vlookup
可以在arrayformula
中使用,如下所示:
=arrayformula(vlookup(C1:C10, E:F, 2, 0))
在E列中查找C1..C10中的每个值(需要精确匹配),并在F列(搜索范围的第2列)中返回相应的值 否,不能创建查询字符串数组并使用
arrayformula(query(…)
一次性运行它们
替代方案:代替
SELECT SUM(Col2) WHERE Col1 = '"&C1&"' GROUP BY Col1 LABEL SUM(Col2) ''
使用查询
SELECT Col1, SUM(Col2) GROUP BY Col1
然后使用vlookup
查找所需Col1的每个值的总和vlookup
可以在arrayformula
中使用,如下所示:
=arrayformula(vlookup(C1:C10, E:F, 2, 0))
在E列中查找C1..C10中的每个值(需要精确匹配),并在F列(搜索范围的第2列)中返回相应的值 样本公式为:
=QUERY({A:B},“select*where Col1='”&JOIN(“'or Col1='”),FILTER(D2:D,D2:D“”)&“”)
样品配方为:
=QUERY({A:B},“select*where Col1='”&JOIN(“'or Col1='”),FILTER(D2:D,D2:D“”)&“”)