Google Sheets如何用Apps Script替换错误单元格为上方单元格内容
解决方案
你可以直接使用以下脚本完成需求,脚本采用数组批量操作,执行效率远高于逐单元格修改,也支持连续多个Loading…错误的自动继承替换:
function deleteErrors() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CELL_ERRORS"); const dataRange = sheet.getRange(1, 1, sheet.getLastRow(), 2); const values = dataRange.getDisplayValues(); const columnCount = values[0].length; // 逐列处理数据 for (let col = 0; col < columnCount; col++) { // 从底部最新行开始向上遍历,到第二行为止(第一行无上方值可继承) for (let row = values.length - 1; row > 0; row--) { if (values[row][col] === "Loading…") { // 错误值替换为正上方单元格的值 values[row][col] = values[row - 1][col]; } } } // 处理完成后批量写回表格 dataRange.setValues(values); }
逻辑说明
- 完全匹配你从下往上遍历处理的需求,底部新增的错误行会被优先处理
- 就算出现连续多行
Loading…的情况,也会逐层继承上方最近的有效值 - 自动跳过首行:如果首行本身就是
Loading…状态,由于没有上方有效值可以继承,会保留原值不做修改
内容的提问来源于stack exchange,提问作者Verminous
相关产品推荐
相关产品推荐

