Google Apps Script设置公式结果单元格备注返回空白的解决方法
问题排查结论
单元格存放SUM公式计算结果不会导致备注设置空白,该问题和目标单元格存的是静态值还是公式没有关联,核心原因是取值逻辑没有适配公式计算场景,且未做范围匹配校验。
修复方案
使用getDisplayValues()方法获取备注来源单元格的最终显示值,这个方法会自动读取公式计算后的落地结果,不受单元格内容类型影响,同时保证传入setNotes()的二维数组尺寸和目标范围完全匹配。
修复后的可直接运行代码:
function addNote() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // 待添加备注的目标单元格范围 const targetRange = sheet.getRange("R5:R6"); // 读取备注来源范围的显示值,自动兼容公式计算结果场景 const noteContent = sheet.getRange("AS5:AS6").getDisplayValues(); // 批量设置备注 targetRange.setNotes(noteContent); }
注意事项
- 运行代码前确认AS5:AS6单元格有可见的有效内容,不要出现列号、行号引用错误
- 目标范围和备注来源范围的行列尺寸必须完全一致,否则会出现备注错位、赋值失败问题
- 单单元格设置备注用
setNote(字符串内容),多单元格批量设置必须用setNotes(二维数组),两个方法不要混用
内容的提问来源于stack exchange,提问作者Andre
相关产品推荐
相关产品推荐

