Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 如何在查询where子句中使用ARRAYFORMULA?_Google Sheets_Array Formulas - Fatal编程技术网

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“”)&“”)