Google Sheets App Script如何通过Range对象获取单元格地址
解决方案
Google Apps Script的Range类内置了getA1Notation()方法,调用该方法即可直接返回对应范围的A1格式单元格地址,刚好适配你拼接公式的需求,无需硬编码固定单元格位置。
修改后的完整代码
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getSheetByName("sheet29"); var maxR = sh.getMaxRows(); var first = sh.getRange(maxR,6,1); var second = sh.getRange(maxR,7,1); var calculate = sh.getRange(maxR,8,1); first.setValue("2"); second.setValue("2"); // 直接通过Range对象获取动态生成的单元格地址 var q = first.getA1Notation(); var qq = second.getA1Notation(); var formula= ("=sum("+q+","+qq+")"); calculate.setValue(formula); }
补充说明
- 上述代码中把公式内的加号替换为了逗号,属于SUM函数的标准参数写法,和你原有
sum(F6+G6)的写法效果完全一致,你可以根据使用习惯任选其一 - 如果后续需要生成跨表调用的公式,可以手动拼接工作表名,格式为
'工作表名'!+getA1Notation()返回的地址即可
内容的提问来源于stack exchange,提问作者johnvan
相关产品推荐
相关产品推荐

