Google 表格:使用数组查询 WHERE 子句

GoogleSheet: Query with array for WHERE clause

我有这个公式可以正常工作:

query('SG_69.00 USD Reward'!$A:$AM,"
select 
A,' ',D,W,O,P,Q,R,S,T,V,'  ','   ',AK 
where 
AM ='US'
label ' ''', '  ''', '   '''
",0)

但是在那种情况下,对于 where 子句我只有一个条件。

我曾用做一长串的 OR 条件,如 AM='US' OR AM='NZ' 等等。全部与 AM 列进行比较。

我可以用上面提到的一长串 OR 条件来完成。但是我想要的是AM='named range'(或只是一个范围)的各种或解决方案。

谢谢。

编辑 我在下面尝试了 Max 的解决方案。但是,我没想到要添加使我的情况进一步复杂化的内容。当我创建一个包含多个查询函数的数组时,如下所示:

={query('SG_39.00 USD Reward'!$A:$AM,"
select
A,' ',D,W,O,P,Q,R,S,T,V,'  ','   ',AK 
where 
AM = '" & join("' or AM = '", ASIA) & "'
label ' ''', '  ''', '   '''
",0);query('SG_69.00 USD Reward'!$A:$AM,"
select
A,' ',D,W,O,P,Q,R,S,T,V,'  ','   ',AK 
where 
AM = '" & join("' or AM = '", ASIA) & "'
label ' ''', '  ''', '   '''
",0);query('SG_179.00 USD Reward'!$A:$AM,"
select
A,' ',D,W,O,P,Q,R,S,T,V,'  ','   ',AK 
where 
AM = '" & join("' or AM = '", ASIA) & "'
label ' ''', '  ''', '   '''
",0);query('SG_1_000.00 USD Reward'!$A:$AM,"
select
A,' ',D,W,O,P,Q,R,S,T,V,'  ','   ',AK 
where 
AM = '" & join("' or AM = '", ASIA) & "'
label ' ''', '  ''', '   '''
",0);query('SG_Celery - Fulfillment.csv'!$A:$AV,"
select 
B,' ',S,V,Y,AA,AB,AC,AD,AE,AF,'  ','   ',AT 
where 
AV ='US'
label ' ''', '  ''', '   '''
",0)}

当我尝试调用它时出现值错误。

显然以这种方式组合它是行不通的。我不认为那是导致错误的原因。你能想出解决办法吗?

您可以在 join 函数的帮助下创建 or 条件:

=join("' or AM = '", named_range)

这里是示例查询文本公式:

="select A, B where A = '"&join("' or A = '",D1:D4) & "'"

备注

公式在join前手动输入where A = ',在& "'"后手动输入收盘价& "'"