Google Sheets脚本修改需求:排除特定内容的数据转存
解决Google Sheets脚本中跳过加载/错误单元格的问题
原脚本会直接将源表数据全盘覆盖到目标表,现在修改为仅同步有效数据,跳过显示Loading...或Error的单元格:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sourceSheet = ss.getSheetByName("DK Large Cap 0"); var targetSheet = ss.getSheetByName("DK Large Cap"); var ranges = ["A1:J51"]; ranges.forEach(range => { // 获取源表和目标表的对应数据 var sourceData = sourceSheet.getRange(range).getValues(); var targetData = targetSheet.getRange(range).getValues(); // 遍历每一行每一列,判断是否需要更新 for (let row = 0; row < sourceData.length; row++) { for (let col = 0; col < sourceData[row].length; col++) { var cellValue = sourceData[row][col]; // 仅当源单元格不是Loading或Error时,替换目标单元格内容 if (cellValue !== "Loading..." && cellValue !== "Error") { targetData[row][col] = cellValue; } } } // 将处理后的目标数据写回表格 targetSheet.getRange(range).setValues(targetData); }); }
关键修改说明
- 同时获取源表和目标表的对应范围数据,避免直接覆盖
- 遍历二维数组逐个检查单元格内容,过滤掉
Loading...和Error状态的单元格 - 仅将有效数据更新到目标表,保留目标表中原有的正常数据
内容的提问来源于stack exchange,提问作者Milito
相关产品推荐
相关产品推荐

