查询 WHERE 子句的值范围?

Unk*_*der 3 sql google-sheets

我有一个 Google 电子表格,我想运行一个QUERY函数。但我希望WHERE语句检查一系列值。我基本上是在寻找我会IN在 SQL 中使用语句的内容 - INGoogle 电子表格中的等价物是什么?所以现在我有:

=QUERY(Sheet1!A3:AB50,"Select A,B, AB WHERE B='"& G4 &"'")
Run Code Online (Sandbox Code Playgroud)

这有效。但我真正需要的是相当于:

=QUERY(Sheet1!A3:AB50,"Select A,B, AB WHERE B='"& G4:G7 &"'")
Run Code Online (Sandbox Code Playgroud)

当然,这种说法是失败的。我怎样才能得到一个范围内的值?这些是文本值,如果这有区别的话。

Dmy*_*kyi 5

大把戏佐利!这是一个小小的改进。

代替:

=CONCATENATE(G3,"|",G4,"|",G5,"|",G6,"|",G7)

我们可以用

=TEXTJOIN("|",1,G3:G7)

当将每个单元格一一添加到公式中时,这也使我们能够处理更大的数组,只是没有意义。

更新:

更进一步,我尝试将两个公式组合在一起以排除帮助单元格,然后我们开始:

=QUERY(Sheet1!A3:AB50,"Select A,B, AB WHERE B 匹配 '^. (" & TEXTJOIN("|",1,G3:G7) & "). $'")

在我自己的项目中使用了它,效果很好!