Google apps script Google应用程序脚本-将公式从一个单元格复制到另一个单元格,并在新单元格中增加A1表示法

Google apps script Google应用程序脚本-将公式从一个单元格复制到另一个单元格,并在新单元格中增加A1表示法,google-apps-script,google-sheets,Google Apps Script,Google Sheets,在google工作表中,单击某个单元格,然后在该单元格的下角,将蓝色图标拖动到下一个单元格,公式会随之相应地递增A1符号getFormula()和setFormula()不要这样做。有人知道实现这一点的功能或步骤吗 function increment() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[1]; //Can this be used to increment A

在google工作表中,单击某个单元格,然后在该单元格的下角,将蓝色图标拖动到下一个单元格,公式会随之相应地递增A1符号
getFormula()
setFormula()
不要这样做。有人知道实现这一点的功能或步骤吗

function increment() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1];

  //Can this be used to increment A1 notation when setting a formula in another cell?
 // var cellNotation = sheet.getRange(1,1).getA1Notation();

 sheet.getRange(1,2).setFormula("=G11 + (F12*(1 +$C$3) )");

}
您可以使用以下选项更新给定范围的公式:

function increment() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1];
  var formula = sheet.getRange(1,1).getFormulaR1C1();
  sheet.getRange(1,2).setFormulaR1C1(formula);
}
小心点:

  • setFormulaR1C1
    中的
    formula
    参数需要使用
    R1C1
    符号

  • 例如,公式:
    =G11+(F12*(1+$C$3))
    R1C1
    符号编写,如下所示

    =R[10]C[6]+(R[11]C[5]*(1+R3C3))

  • 您不需要手动构造
    R1C1
    符号。您可以使用(如我提供的代码)获取单元格的
    R1C1
    符号

  • 如果所选范围内没有公式,则返回
    null


什么是预期输出,什么是当前输出?该公式取单元格G11中的一个数字,然后将其与括号中的乘积(十进制)相加到F12中的一个数字。括号中的和乘以F12我就知道了,但是这个公式在哪里?您想把它拖到哪里?谢谢Marios-我会尝试一下。它工作得很好!谢谢你为我澄清这一点。CeVy考虑通过点击左边的嘀嗒按钮来接受答案。我正在学习,谢谢指导。