Google Sheets跨列查询求助:输入B1值匹配多列返回#N/A空结果
跨列查询匹配问题解决方案
你的公式核心错误是把列名用单引号包裹成了固定字符串,导致查询的是文本Col1&Col3&Col4而非实际列值,因此返回空结果。以下是两种修正后的可行方案:
方案1:单独匹配每一列(逻辑清晰,推荐)
分别检查Col1、Col3、Col4中任意一列是否包含B1的内容(忽略大小写):
=QUERY(IMPORTRANGE(Links!C2,"Supply!A2:L"), "SELECT Col1, Col2, Col3, Col4, Col6, Col7, Col11, Col10, Col9, Col8, Col12 WHERE lower(Col1) CONTAINS '"&LOWER(B1)&"' OR lower(Col3) CONTAINS '"&LOWER(B1)&"' OR lower(Col4) CONTAINS '"&LOWER(B1)&"'",0)
方案2:拼接列后匹配
将Col1、Col3、Col4的内容拼接成一个字符串,再检查是否包含目标值:
=QUERY(IMPORTRANGE(Links!C2,"Supply!A2:L"), "SELECT Col1, Col2, Col3, Col4, Col6, Col7, Col11, Col10, Col9, Col8, Col12 WHERE lower(Col1 || Col3 || Col4) CONTAINS '"&LOWER(B1)&"'",0)
额外注意事项
- 确认
IMPORTRANGE已完成目标表格的授权访问,否则会触发权限错误。 - 若需要B1为空时不返回任何结果,可在WHERE子句末尾添加
AND '"&B1&"' <> ''。
内容的提问来源于stack exchange,提问作者Anderson
相关产品推荐
相关产品推荐

