Google Sheets中QUERY+ARRAYFORMULA+TEXTJOIN公式未达预期结果求助
提取Google Sheets中C列未出现在B列的数据到E列
问题原因
你之前用QUERY结合TEXTJOIN的方案失效,核心原因是TEXTJOIN拼接的字符串长度超过了QUERY的MATCHES参数处理上限——当数据量达到1200行时,拼接后的字符串会过长,导致匹配逻辑无法正常执行。
可行解决方案
直接使用FILTER+ISNA+MATCH的组合,这个方案不受字符长度限制,适合处理大行数的数据集:
在E列第一个单元格(比如E1)输入以下公式:
=FILTER(C:C, ISNA(MATCH(C:C, B:B, 0)))
MATCH(C:C, B:B, 0):检查C列每个值是否在B列存在,0表示精确匹配,存在则返回位置,不存在返回#N/AISNA(...):将#N/A转换为TRUE,存在的转换为FALSEFILTER(C:C, ...):筛选C列中返回TRUE的行,也就是未出现在B列的数据
如果需要去除C列中重复的结果,可以添加UNIQUE函数:
=UNIQUE(FILTER(C:C, ISNA(MATCH(C:C, B:B, 0))))
补充说明
这个方案无需拼接字符串,直接逐行匹配判断,完全避开了字符长度限制的问题,对于1200行的数据集来说运行效率和稳定性都远高于QUERY+TEXTJOIN的组合。
内容的提问来源于stack exchange,提问作者Jirayuth Porka
相关产品推荐
相关产品推荐

