GAS 如何使用脚本为工作表中的所有空单元格设置格式
Google Apps Script 实现工作表空白单元格设置白色背景方案
以下方案适配GAS新手,逻辑简单易懂,不需要额外配置条件格式,直接运行脚本即可生效。
操作前置步骤
- 打开目标Google表格,点击顶部菜单栏「扩展程序」>「Apps 脚本」,进入脚本编辑器,删除编辑器内默认的空白模板代码。
可用脚本代码
代码已加新手易懂的注释,直接复制粘贴即可使用:
function setWhiteBackgroundForBlankCells() { // 获取当前打开的表格文件 const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 取当前激活的工作表,若要指定固定工作表可替换为 getSheetByName("你的工作表名称") const targetSheet = spreadsheet.getActiveSheet(); // 取工作表内有内容的最大范围,避免遍历整张表格的无效单元格 const usedRange = targetSheet.getDataRange(); const cellValues = usedRange.getValues(); // 存储空白单元格位置,用于批量修改 const blankCellList = []; // 遍历所有有内容的单元格 for (let rowIndex = 0; rowIndex < cellValues.length; rowIndex++) { for (let colIndex = 0; colIndex < cellValues[rowIndex].length; colIndex++) { // 判定单元格为空白:空值、空字符串都算 if (cellValues[rowIndex][colIndex] === "" || cellValues[rowIndex][colIndex] == null) { // GAS行列计数从1开始,索引需要+1 blankCellList.push(targetSheet.getRange(rowIndex + 1, colIndex + 1).getA1Notation()); } } } // 批量设置背景色 if (blankCellList.length > 0) { targetSheet.getRangeList(blankCellList).setBackground("#ffffff"); } SpreadsheetApp.getUi().alert("空白单元格白色背景设置完成,共处理" + blankCellList.length + "个空白单元格"); }
运行步骤
- 粘贴代码后点击编辑器顶部的保存按钮,自定义命名项目,按照系统提示完成Google账号授权(首次运行需要授权,属于GAS的正常安全验证流程)
- 保存完成后,在编辑器顶部的函数选择下拉框选中
setWhiteBackgroundForBlankCells,点击运行按钮即可。
可选调整说明
- 若要处理多个工作表,可以在代码里增加遍历所有工作表的逻辑,不需要重复运行
- 若表格数据量超过10万单元格,可以优化为按行合并空白范围,减少API调用次数,进一步提升运行效率,普通大小的表格直接用当前代码即可。
内容的提问来源于stack exchange,提问作者StephGallet
相关产品推荐
相关产品推荐

