如何在Google Sheets中定位包含特定字符串的单元格?
在Google Sheets中查找包含特定字符串的单元格方法
方法一:用函数组合返回匹配结果
如果需要直接在表格中返回所有包含目标字符串的单元格内容或地址,可使用以下函数组合:
返回匹配的单元格内容
=FILTER(A1:Z100, ISNUMBER(SEARCH("Hello", A1:Z100)))
- 将
A1:Z100替换为你需要遍历的目标区域 SEARCH不区分大小写,若需严格区分大小写,改用FIND函数ISNUMBER用于判断是否找到匹配内容,FILTER负责筛选出符合条件的单元格
返回匹配单元格的地址
=FILTER(ARRAYFORMULA(ADDRESS(ROW(A1:Z100), COLUMN(A1:Z100), 4)), ISNUMBER(SEARCH("Hello", A1:Z100)))
ARRAYFORMULA(ADDRESS(...))会生成目标区域内所有单元格的A1格式地址- 可根据需求替换目标区域和查找字符串
方法二:用内置查找功能快速定位
如果仅需定位到匹配单元格,无需返回结果列表:
- 按
Ctrl+F(Windows)或Cmd+F(Mac)打开查找对话框 - 输入
Hello,点击「选项」,取消勾选「匹配单元格内容」(确保部分匹配生效) - 点击「查找全部」,底部会列出所有匹配的单元格,点击任意结果即可直接跳转到对应位置
方法三:用Google Apps Script自定义函数(复杂需求适用)
如果需要遍历整个工作表或实现更灵活的处理逻辑,可编写自定义脚本:
- 打开Google Sheets,点击「工具」→「脚本编辑器」
- 粘贴以下代码:
function findCellsWithString(searchText) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = sheet.getDataRange().getValues(); const results = []; for (let row = 0; row < data.length; row++) { for (let col = 0; col < data[row].length; col++) { const cellValue = data[row][col]; if (typeof cellValue === 'string' && cellValue.includes(searchText)) { const cellAddress = sheet.getRange(row+1, col+1).getA1Notation(); results.push([cellAddress, cellValue]); } } } return results.length > 0 ? results : [["未找到匹配单元格"]]; }
- 保存脚本后回到表格,在任意单元格输入:
=findCellsWithString("Hello")
即可返回所有匹配单元格的地址和对应内容。
内容的提问来源于stack exchange,提问作者Benni
相关产品推荐
相关产品推荐

