Google Sheets搜索栏大小写敏感问题:如何实现不区分大小写匹配?
解决Google Sheets QUERY筛选不区分大小写的问题
方法1:统一转小写匹配
将公式中所有列和搜索关键词都通过LOWER()函数转换为小写,消除大小写差异后再进行包含匹配:
=QUERY(IMPORTRANGE("1xxxxx8RviacxxxxxOWXx_xxxxrEi-xxxxDi_xx","Roster!B3:I"),"SELECT * WHERE LOWER(Col1) CONTAINS LOWER('"&G1&"') OR LOWER(Col2) CONTAINS LOWER('"&G1&"') OR LOWER(Col3) CONTAINS LOWER('"&G1&"') OR LOWER(Col4) CONTAINS LOWER('"&G1&"') OR LOWER(Col5) CONTAINS LOWER('"&G1&"') OR LOWER(Col6) CONTAINS LOWER('"&G1&"') OR LOWER(Col7) CONTAINS LOWER('"&G1&"') OR LOWER(Col8) CONTAINS LOWER('"&G1&"') ")
方法2:使用正则匹配(更简洁)
利用REGEXMATCH()函数配合(?i)标记(表示不区分大小写),简化公式写法:
=QUERY(IMPORTRANGE("1xxxxx8RviacxxxxxOWXx_xxxxrEi-xxxxDi_xx","Roster!B3:I"),"SELECT * WHERE REGEXMATCH(Col1, '(?i)"&G1&"') OR REGEXMATCH(Col2, '(?i)"&G1&"') OR REGEXMATCH(Col3, '(?i)"&G1&"') OR REGEXMATCH(Col4, '(?i)"&G1&"') OR REGEXMATCH(Col5, '(?i)"&G1&"') OR REGEXMATCH(Col6, '(?i)"&G1&"') OR REGEXMATCH(Col7, '(?i)"&G1&"') OR REGEXMATCH(Col8, '(?i)"&G1&"') ")
原理说明
- 方法1通过统一文本大小写,让匹配逻辑不再受大小写影响;
- 方法2借助正则表达式的不区分大小写修饰符,直接实现忽略大小写的模糊匹配,写法更紧凑。
内容的提问来源于stack exchange,提问作者Svetlin Nikiforov
相关产品推荐
相关产品推荐

