在我桌子的单元格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
,但这不会奏效。现在我可以在每个单元格中复制并粘贴上面的公式,但必须有一个更清洁的方式。
ANSWER
我使用以下公式使其有效,感谢Max的答案。
=QUERY(
{
IMPORTRANGE("SPREADSHEETID";"B3:B")\
ARRAYFORMULA(
TO_PURE_NUMBER(
IMPORTRANGE("SPREADSHEETID";"F3:F") - IMPORTRANGE("SPREADSHEETID";"E3:E")
)
)
};
"
SELECT Col1, SUM(Col2)
WHERE Col1 = '" & JOIN("' OR Col1 = '";FILTER(C:C; C:C <> "")) & "'
GROUP BY Col1
LABEL SUM(Col2) ''
")
答案 0 :(得分:1)
不,无法创建查询字符串数组并使用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列)。
答案 1 :(得分:1)