Google Sheets脚本修改需求:搜索订单表返回Sheet名与OrderID
Google Sheets 搜索脚本修改方案
以下是修改后的脚本,满足你替换行号为OrderID、排除表单页搜索的需求:
function searchString(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var formSheet = ss.getActiveSheet(); var formSheetName = formSheet.getSheetName(); var search_string = formSheet.getRange("C3").getValue(); var textFinder = ss.createTextFinder(search_string); var search_results = textFinder.findAll() .filter(r => r.getSheet().getSheetName() !== formSheetName) .map(r => ({ sheetName: r.getSheet().getSheetName(), orderID: r.getSheet().getRange(r.getRow(), 1).getValue() })); var ui = SpreadsheetApp.getUi(); if (search_results.length === 0) { ui.alert("未找到匹配的订单"); } else { ui.alert(JSON.stringify(search_results)); } }
关键修改点说明
- 排除表单页:脚本自动获取当前操作的表单页名称,通过
filter方法过滤掉该页面的搜索结果,避免搜到C3单元格的输入内容本身。 - 替换为OrderID:把原脚本返回行号的逻辑,改成获取匹配行A列的单元格值,结果里用
orderID字段展示对应的订单号。 - 优化提示逻辑:如果没有找到匹配内容,会弹出明确提示,而非显示空数组,更直观易懂。
内容的提问来源于stack exchange,提问作者Argiris
相关产品推荐
相关产品推荐

