如何在表格中一次性查找多值并返回单列结果
多品牌库存车型提取解决方案
方法1:修正QUERY函数的条件写法
你之前报错是因为多品牌判断的语法错误,改用IN关键字即可实现多值匹配:
=QUERY(A:B, "SELECT B WHERE A IN ('Ford', 'Toyota')", 1)
- 解释:
IN ('Ford', 'Toyota')指定要匹配的多个品牌;最后参数1表示表格包含表头行(如果无表头则改为0)。 - 若要提取品牌+车型整行数据,将
SELECT B改为SELECT A,B即可。
方法2:使用FILTER函数实现多值过滤
FILTER函数更直观,适合多条件匹配,有两种常用写法:
写法1(基于MATCH函数)
=FILTER(A:B, ISNUMBER(MATCH(A:A, {"Ford", "Toyota"}, 0)))
- 优势:如果品牌列表放在单元格区域(比如D1:D2),可直接替换为
D1:D2,方便动态修改品牌:=FILTER(A:B, ISNUMBER(MATCH(A:A, D1:D2, 0)))
写法2(基于REGEXMATCH函数)
=FILTER(A:B, REGEXMATCH(A:A, "Ford|Toyota"))
- 解释:用
|分隔多个品牌,实现正则匹配。
方法3:结合QUERY与单元格引用(动态多品牌)
如果需要从单元格读取品牌列表(比如D1单元格输入Ford,Toyota),可以用JOIN函数拼接条件:
=QUERY(A:B, "SELECT B WHERE A IN ('"&JOIN("','",SPLIT(D1,","))&"')", 1)
- 操作:在D1输入用逗号分隔的品牌名,公式会自动匹配所有指定品牌的车型。
内容的提问来源于stack exchange,提问作者Badr VA
相关产品推荐
相关产品推荐

