如何在查询where子句中使用ARRAYFORMULA? [英] How to use ARRAYFORMULA in query where clause?
问题描述
在表格的单元格 C1:C
中,我有6行带有票证ID的行.我想搜索不同的电子表格以搜索那些票证ID,并计算花费在该票证上的总时间.
In cell C1:C
of my table I got 6 rows with ticket id's. I like to search different spreadsheets to search for those ticket id's and calculate the total hours spent on that ticket.
我使用以下公式进行工作:
I have it working using the following formula:
=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) ''")
在此示例中,可以在其中找到票证ID的地方.
现在我想我可以将 QUERY
包裹在 ARRAYFORMULA
中,并使用 C1:C
而不是仅仅使用 C1
但这是行不通的.现在,我可以将上述公式复制并粘贴到每个单元格中,但是必须有一种更简洁的方法.
Now I thought I could just wrap QUERY
in a ARRAYFORMULA
and use C1:C
instead of just C1
but that won't work. Now I could just copy and paste the above formula in every cell but there must be a cleaner way.
答案
由于下面的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) ''
")
推荐答案
示例公式为:
= QUERY({A:B},选择*,其中Col1 ='"& JOIN('或Col1 ='",FILTER(D2:D,D2:D<")))&'")
这篇关于如何在查询where子句中使用ARRAYFORMULA?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!