如何在Google Apps Script中引用单元格以适配行列新增?
解决脚本因行列变动操作错误单元格的问题
核心问题是你用了固定的单元格地址(AD10),插入行列后目标单元格位置变了,但脚本还在找旧地址。用命名范围就能解决这个问题,步骤如下:
给目标单元格创建命名范围
- 选中你原本要操作的单元格(比如一开始的AD10)
- 点击表格顶部显示单元格地址的输入框,输入一个自定义名称(比如
DraftPicksCell),按回车确认。后续不管插入/删除行列,这个名称都会跟着原来的单元格走。
修改脚本代码
把原来的脚本替换成下面的代码,用命名范围获取目标单元格:function UpdateDraft() { var spreadsheet = SpreadsheetApp.getActive(); // 通过命名范围定位目标单元格 var targetCell = spreadsheet.getRangeByName('DraftPicksCell'); // 清除单元格内容 targetCell.clear({contentsOnly: true, skipFilteredRows: true}); // 设置公式 targetCell.setFormula('=if($C$5<>"",IMPORTJSONAPI("https://api.sleeper.app/v1/draft/"&$C$5&"/picks" , "$..metadata.player_id", "@",1),)'); };
这样修改后,不管你怎么调整行列,脚本都会找到正确的目标单元格,不会再操作错误的位置。
内容的提问来源于stack exchange,提问作者Jon Moorfoot
相关产品推荐
相关产品推荐

