编写Apps Script函数清除Google Sheet含指定文本的单元格内容
Google Apps Script 清除含指定关键词的单元格内容
以下是实现需求的脚本,它会遍历当前工作表的所有数据区域,检查每个单元格内容是否包含?、PPS、LES、MPES或PSPEC,匹配到的单元格会被清空内容,不会删除整行:
function clearTargetCells() { // 获取当前活动工作表 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 获取所有数据范围(包含内容的单元格区域) const range = sheet.getDataRange(); // 获取二维数组形式的单元格值 const values = range.getValues(); // 定义需要匹配的关键词列表 const targetKeywords = ['?', 'PPS', 'LES', 'MPES', 'PSPEC']; // 遍历每一行 for (let i = 0; i < values.length; i++) { // 遍历当前行的每个单元格 for (let j = 0; j < values[i].length; j++) { const cellValue = values[i][j]; // 仅处理非空的单元格 if (cellValue !== '') { // 检查单元格内容是否包含任一目标关键词 const hasKeyword = targetKeywords.some(keyword => cellValue.includes(keyword)); if (hasKeyword) { // 清空该单元格内容 values[i][j] = ''; } } } } // 将修改后的数据写回工作表 range.setValues(values); // 弹出提示表示完成 SpreadsheetApp.getUi().alert('已完成目标单元格内容清除'); }
使用说明:
- 打开你的Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」
- 清空默认的代码,粘贴上面的脚本
- 点击保存按钮,给脚本起个名字(比如
ClearTargetCells) - 点击运行按钮,首次运行需要授权,按照提示完成权限验证
- 运行完成后,工作表中符合条件的单元格内容会被清空
注:如果需要匹配精确关键词(而不是包含),可以把cellValue.includes(keyword)改成cellValue === keyword;如果需要忽略大小写匹配,改成cellValue.toLowerCase().includes(keyword.toLowerCase())。
内容的提问来源于stack exchange,提问作者Alexander Pirvu
相关产品推荐
相关产品推荐

