如何在查询where子句中使用ARRAYFORMULA? [英] How to use ARRAYFORMULA in query where clause?

查看:90
本文介绍了如何在查询where子句中使用ARRAYFORMULA?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在表格的单元格 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆