Google Sheets查询:精准匹配逗号分隔单元格中的'test 1'
Google Sheets QUERY函数精准筛选包含特定项且排除另一项的行
要解决A列逗号分隔文本中,筛选包含完整'test 1'项但不包含'test 10'项的问题,可使用结合正则匹配的QUERY公式,避免子串误匹配:
=QUERY(A:B, "SELECT B WHERE REGEXMATCH(A, '(^|, )test 1(, |$)') AND NOT REGEXMATCH(A, '(^|, )test 10(, |$)')", 0)
公式说明:
REGEXMATCH(A, '(^|, )test 1(, |$)'):通过正则确保匹配完整的'test 1'项:(^|, )匹配文本开头,或者逗号加空格(处理'test 1'在中间的情况)test 1是目标匹配内容(, |$)匹配逗号加空格(处理'test 1'在中间的情况),或者文本结尾(处理'test 1'在末尾的情况)
NOT REGEXMATCH(A, '(^|, )test 10(, |$)'):排除包含完整'test 10'项的行,逻辑与上述一致- 最后参数
0表示数据无表头(如果有表头可改为1)
匹配验证:
针对示例数据:
test 1, test 10, test 27
test 10
test 1
test 29, test 1
test 20, test 10
公式会返回第三行和第四行对应的B列内容,符合“包含'test 1'且不包含'test 10'”的要求。
内容的提问来源于stack exchange,提问作者Subaru Spirit
相关产品推荐
相关产品推荐

