表格上的Google脚本-onEdit脚本,它将已编辑的单元格合并到其前面的列中

时间:2019-11-26 14:47:37

标签: google-apps-script google-sheets

在特定列中输入新值后,我正在尝试让工作表合并两个值。

此刻,我只是在尝试第一部分的工作...但是我失败了

    function onEdit(e) {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = e.source.getActiveSheet().getName();
  var editedColumn = e.range.getSheet().getActiveCell().getColumn();



    if(editedColumn==5 &&  
     e.range.getSheet().getName() == 'Table1') 
  {    

 var String1 = e.range.offset(0,-1).getValue()
 var string2 = e.range.offset(0,0).getValue() 
 var value = [String1+" / "+string2]

 // This is just to check if the value is correct   
   Logger.log(value);   

//This is where the code is not working/breaking

 e.range.offset(0,-1).setValue(value);

  e.range.offset(0,0).clear();
    }

}

为什么是“ e.range.offset(0,-1).setValue(value);”不起作用?

如果我想添加多个可能触发此的列怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

我做了几处小改动,但对我有用:

function onEdit(e) {
  if(e.range.columnStart==5 && e.range.getSheet().getName()=='Sheet3') {    
    var String1=e.range.offset(0,-1).getValue()
    var string2 = e.value;
    var value = String1+" / "+string2;
    e.range.offset(0,-1).setValue(value);
    e.range.clear();
  }
}

这是我的验证部分:

enter image description here