Google表格查询会返回所有行,如果它们与另一张表格中的列中的任何值匹配

问题描述 投票:0回答:2

我有一个带有3个标签的谷歌表。如果与tab2(顶部)列B上的任何值匹配,我想让tab3将tab1(southware)中的所有行拉入tab3

=query(southware!B3:AA,"SELECT * WHERE I = '"&Top!B3&"' and D='112'", 0)

我可以让它在选项卡2上只拉出1个单元格的所有行。如何让它评估选项卡2中B列的所有值

google-sheets
2个回答
1
投票

看看这是否有帮助

=query(southware!B3:AA,"SELECT * WHERE I matches '"&TEXTJOIN("|", 1, Top!B3:B)&"' and D='112'", 0)

0
投票

QUERY无法使用数组,这就是为什么你需要使用FILTER

=FILTER(southware!B3:AA, I3:I = Top!B3:B, 
                         D3:D = "112")

但这可能没什么限制,所以在这种情况下使用这个:

=QUERY(ARRAYFORMULA(VLOOKUP(Top!B3:B, 
 {southware!I3:I, southware!B3:AA},
 {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}, 0)),
 "where Col3='112'", 0)
© www.soinside.com 2019 - 2024. All rights reserved.