Google Sheets QUERY公式忽略字符串值 无法筛选删除空行问题咨询
问题原因
你遇到的QUERY误删行问题是Google Sheets的QUERY函数固有特性导致的:该函数会自动扫描列内占比最高的数据类型作为整列的判定类型,当E列同时存在文本、数字、空值时,如果数值占比更高,is not null条件只会识别数值类型的非空值,所有文本值会被判定为null直接过滤,才会出现你遇到的异常结果。
可直接嵌套的解决方案(无需额外工作表)
方案1:优先推荐,无类型判定bug
直接把你现有的多表合并长公式嵌套进FILTER即可,不需要先把结果落地到工作表:
=FILTER(你的原有合并公式,INDEX(你的原有合并公式,0,5)<>"")
INDEX(你的原有合并公式,0,5)表示提取合并结果的第5列(即E列)所有行- 直接判断E列内容不为空字符串,完全规避
QUERY的类型识别问题,对数字、文本、特殊符号都有效 - 执行效率比
QUERY更高,适合大数据量场景
方案2:如果你坚持使用QUERY
调整查询条件,把is not null替换为判定不等于空字符串即可:
=QUERY({你的原有合并公式},"Select * where Col5 <> '' ",0)
注意条件里的''是两个单引号,表示空字符串,该写法会强制QUERY按照文本规则做非空判定,解决只识别数字的问题。
内容的提问来源于stack exchange,提问作者Krzysztof Dołęgowski
相关产品推荐
相关产品推荐

