如何将现有Google Sheets搜索函数修改为大小写不敏感?
解决大小写不敏感搜索的修改方案
直接修改search函数即可实现大小写不敏感匹配,核心思路是统一将搜索文本和单元格内容转换为相同大小写(比如小写)后再进行比较:
function processorOfFormSearch(formObject){ var result = ""; if(formObject.searchtext){ //***********Execute if form passes search text result = search(formObject.searchtext); } return result; } //SEARCH FOR MATCHED CONTENTS function search(searchtext){ var spreadsheetId = globalVariables().asArray.spreadsheetId; var dataRange = globalVariables().asArray.dataRange; var data = Sheets.Spreadsheets.Values.get(spreadsheetId, dataRange).values; var ar = []; // 将搜索文本转为小写,统一比较基准 const lowerSearchText = searchtext.toLowerCase(); data.forEach(function(f) { // 遍历当前行的所有单元格,检查是否有转小写后匹配的内容 const isMatch = f.some(cell => cell.toLowerCase() === lowerSearchText); if (isMatch) { ar.push(f); } }); return ar; }
修改说明
- 统一大小写基准:先把输入的搜索文本转成小写,避免后续重复转换
- 替换匹配逻辑:用
Array.some()遍历每行的单元格,将每个单元格内容也转成小写后和搜索文本的小写形式对比,实现大小写不敏感的精确匹配 - 如果你需要的是包含匹配(比如单元格内容包含搜索文本的子串就算匹配),只需把判断条件改成:
const isMatch = f.some(cell => cell.toLowerCase().includes(lowerSearchText));
内容的提问来源于stack exchange,提问作者Potatou_
相关产品推荐
相关产品推荐

