如何基于Working工作表唯一值批量查询Google Sheets主表数据?
Google Sheets 批量关联查询实现方案
针对你的需求,这里提供两种无需手动逐个输入的批量查询方法,直接基于Working表的唯一值从Master表提取所有关联行:
方法1:QUERY函数正则匹配法
在你想要输出结果的工作表的A1单元格输入以下公式:
=QUERY(Master!A:Z, "SELECT * WHERE A MATCHES '"&TEXTJOIN("|", TRUE, FILTER(Working!A:A, Working!A:A<>""))&"'", 1)
公式说明:
FILTER(Working!A:A, Working!A:A<>""):过滤掉Working表A列的空值,避免无效匹配TEXTJOIN("|", TRUE, ...):将过滤后的唯一值用竖线|拼接,生成正则表达式的匹配规则QUERY(...):从Master表中筛选出A列值匹配上述规则的所有行,最后参数1表示Master表包含表头(如果没有表头可改为0)
方法2:FILTER+COUNTIF组合法
如果对正则不熟悉,可使用更直观的筛选公式,同样在结果表A1输入:
=FILTER(Master!A:Z, COUNTIF(Working!A:A, Master!A:A)>0)
公式说明:
COUNTIF(Working!A:A, Master!A:A):逐行检查Master表A列的值是否存在于Working表A列中,存在则返回≥1的计数FILTER:只保留计数大于0的行,即所有关联行
注意事项:
- 若Master表列范围不是A:Z,替换为实际使用的列区间(比如A:H),能提升公式运行效率
- 两个公式均为数组公式,输入后会自动扩展所有匹配结果,无需手动下拉填充
内容的提问来源于stack exchange,提问作者Brandon
相关产品推荐
相关产品推荐

