请求开发Google Sheets搜索函数:检索合并单元格内目标内容的行号(支持下拉框)
解决Google Sheets合并单元格搜索行号的方案
步骤1:创建自定义函数脚本
打开你的Google Sheets,点击顶部菜单「扩展程序」→「Apps 脚本」,粘贴以下代码:
function SEARCH_MERGED(keyword, searchRange) { if (!keyword || keyword === "") return ""; const values = searchRange.getDisplayValues(); const rowNumbers = []; for (let i = 0; i < values.length; i++) { const cellValue = values[i][0]; // 不区分大小写匹配关键词 if (cellValue && cellValue.toLowerCase().includes(keyword.toLowerCase())) { // 计算实际行号:搜索范围起始行 + 当前索引 const actualRow = searchRange.getRow() + i; rowNumbers.push(actualRow); } } return rowNumbers.join(", "); }
保存脚本(可命名为「MergedCellSearch」),关闭脚本编辑器。
步骤2:在表格中调用函数
在单元格R2中输入以下公式:
=SEARCH_MERGED(R1, R4:R)
- 参数
R1:你的搜索关键词输入单元格(支持下拉框选择的内容) - 参数
R4:R:需要搜索的目标范围
功能说明
- 兼容垂直合并单元格:脚本读取单元格显示值,无论是否合并,只要内容包含关键词就返回对应行号
- 不区分大小写:搜索「copper」和「Copper」结果一致
- 空值处理:若R1为空,R2显示空字符串
- 下拉框适配:R1手动输入或下拉框选择的内容都能被正常读取
内容的提问来源于stack exchange,提问作者StarLordPro
相关产品推荐
相关产品推荐

