【问题标题】:OnEdit Script to Print Executed FormulaOnEdit 脚本打印执行的公式
【发布时间】:2022-10-17 06:40:17
【问题描述】:

所以我有一个谷歌表格脚本,可以编辑第 1 列以“打印”第 14 列中的某些内容,这很有效。但我希望打印更具动态性,并打印在 OnEdit 执行 (=C1+1) 时该公式的值,因为单元格 C1 每周更改。那么我如何让这个脚本“打印”那个公式的结果呢?

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Current Loads 2020" ) { //checks that we're on Sheet1 or not
var r = s.getActiveCell();
if( r.getColumn() == 1 ) { //checks that the cell being edited is in column A
var nextCell = r.offset(0, 14);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue("Pinted Value");
}
}
}

【问题讨论】:

    标签: google-apps-script google-sheets triggers


    【解决方案1】:

    以防其他人在将来查找此内容,这是我自己问题的答案。

    起初它多次执行脚本,但我在脚本中添加了更高的 Getrange,这似乎已经解决了这个问题,所以现在它实际上是在打印公式 =C1+1 的值。

    function onEdit() {
    var s = SpreadsheetApp.getActiveSheet();
    if( s.getName() == "Current Loads 2020" ) { //checks that we're on Sheet1 or not
    var v = s.getRange(1,3).getValue()
    var r = s.getActiveCell();
    if( r.getColumn() == 1 ) { //checks that the cell being edited is in column A
    var nextCell = r.offset(0, 13);
    if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
    nextCell.setValue(v+1);
    }
    }
    }
    

    【讨论】:

      【解决方案2】:

      尝试这个:

      function onEdit(e) {
        var sh = e.range.getSheet();
        if (sh.getName() == "Current Loads 2020") { 
          if (e.range.columnStart == 1) { 
            var nextCell = e.range.offset(0, 14);
            if (nextCell.getValue() === '') 
              nextCell.setValue(sh.getRange("C1").getValue() + 1;
          }
        }
      }
      

      注意:此功能需要事件对象立即运行

      【讨论】:

      • 我不明白 =C1+1 的公式是怎么做的???
      • 它只是获取编辑单元格的值
      • 当我在第 1 列编辑或输入数据时,我希望这个公式将 C1+1 的结果放入第 14 列。
      • 为什么选择 C ​​列第 1 行?为什么不是 C 列行 e.range.rowStart?您说您希望它是动态的,但您的示例只是增加一个单元格的值。我不明白重点。为什么不设置 onEdit 的另一个部分来查看对此单元格的编辑?
      • 这张表是一张数据表,我每天都会把数据放到这张表上。并且每周,单元格 C1 中的数据都会更改或可以更改。所以现在,我必须手动将 C1+1 的结果放入它的数据点,即第 14 列。我想要的是一个脚本,它说一旦我开始输入数据,它就会自动看起来C1 的当前值是多少,并将该公式的结果放入第 14 列,这样我就不必手动执行了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多