如何在Google Sheets中用QUERY函数查询不在指定范围的数据?
Google Sheets 实现范围不等于查询
当然可以实现对一个范围的不等于查询,你当前的公式问题在于QUERY函数的语法规则——IN 子句需要接收具体的数值/文本列表,不能直接引用单元格范围(比如A1:A10)。下面给你两种可行的解决方法:
方法一:用TEXTJOIN拼接范围值到QUERY语句里
把A1:A10的内容拼接成QUERY能识别的列表格式,嵌入到WHERE条件中:
=QUERY(Cons!E2:T,"SELECT O,J WHERE O NOT IN ('"&TEXTJOIN("','",TRUE,A1:A10)&"')")
TEXTJOIN("','",TRUE,A1:A10):把A1:A10里的非空值用','连接,生成类似'值1','值2','值3'的字符串- 用
&把这个字符串拼接到QUERY的语句中,让NOT IN能识别范围里的所有值
方法二:用FILTER+MATCH组合实现
如果觉得QUERY的语法太绕,也可以用更直观的FILTER函数搭配MATCH:
=FILTER({Cons!O2:O, Cons!J2:J}, ISNA(MATCH(Cons!O2:O, A1:A10, 0)))
MATCH(Cons!O2:O, A1:A10, 0):检查O列每个值是否在A1:A10里,存在则返回位置,不存在返回错误值ISNA(...):把不存在的情况标记为TRUE,作为FILTER的筛选条件{Cons!O2:O, Cons!J2:J}:指定要返回的O、J两列数据
内容的提问来源于stack exchange,提问作者Maayan HH.
相关产品推荐
相关产品推荐

