如何在Google Apps Script公式中使用循环变量指定行列号?
解决Apps Script循环中公式引用变量行号的问题
你代码里的问题很明确:公式字符串被单引号完全包裹,循环变量i没有被解析成具体的行号数字,而是作为字符串字面量直接输出了,所以单元格里才会显示F&i:AG&i。
直接修改公式的字符串拼接方式就能解决:
方法1:传统字符串拼接
for (var i=157;i<=160;i++) { // 直接拼接变量i到公式的对应位置,无需activate单元格 spreadsheet.getRange('E' + i).setFormula('=concatenate(F' + i + ':AG' + i + ')'); }
方法2:ES6模板字符串(更简洁)
Apps Script支持ES6语法,用模板字符串可以让代码更易读:
for (var i=157;i<=160;i++) { spreadsheet.getRange(`E${i}`).setFormula(`=concatenate(F${i}:AG${i})`); }
另外提个小优化:你原来代码里的activate()和getCurrentCell()是完全没必要的,直接通过getRange()获取单元格后调用setFormula()即可,能提升脚本运行效率。
内容的提问来源于stack exchange,提问作者Edward Chuang
相关产品推荐
相关产品推荐

