如何在Google Sheets Query中使用ISTEXT()函数筛选文本数据?
解决方案
问题分析
你用istext(Col8)没得到预期结果,大概率是因为列中的TRUE/FALSE如果是文本类型(而非布尔值),istext()会把它们也判定为文本,导致这些值被错误筛选出来。下面提供两种针对性的解决方法:
方法1:区分布尔值与文本(适用于TRUE/FALSE是布尔类型的场景)
如果你的TRUE/FALSE是原生布尔值,可结合isboolean()排除这类值,同时排除空白单元格:
=query(database,"select Col4,Col5,Col8 where istext(Col8) and not isboolean(Col8) and Col8 is not null")
方法2:用正则表达式精准筛选(适用于TRUE/FALSE是文本类型的场景)
用负向预查正则排除TRUE/FALSE这两个特定文本,同时匹配非空白的字符串:
=query(database,"select Col4,Col5,Col8 where Col8 matches '^(?!TRUE$|FALSE$).+'")
正则语法解释:
^匹配字符串开头(?!TRUE$|FALSE$)确保字符串不是完全等于TRUE或FALSE($匹配字符串结尾).+匹配至少一个任意字符,自动排除空白单元格
内容的提问来源于stack exchange,提问作者Dave Huffman
相关产品推荐
相关产品推荐

