Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 工作表上的Google脚本-onEdit脚本,将编辑的单元格合并到其前面的列_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 工作表上的Google脚本-onEdit脚本,将编辑的单元格合并到其前面的列

Google apps script 工作表上的Google脚本-onEdit脚本,将编辑的单元格合并到其前面的列,google-apps-script,google-sheets,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(

我试图让我的工作表在特定列中输入新值后合并两个值

目前我只想做第一部分。。。但我失败了

    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);”不起作用

如果我想添加多个可能触发此操作的列,该怎么办


谢谢

我做了一些小改动,但对我来说很有效:

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();
  }
}
以下是我的验证部分:


我做了几处小改动,但效果不错:

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();
  }
}
以下是我的验证部分:


“不工作”可能意味着很多不同的事情。是否有任何错误被抛出?日志显示了什么?请说得更具体些。我已经试过你的代码,它对我来说很好。当你运行它的时候,你有没有发现任何错误?这是由代码完成的“在特定列中输入新值后”还是手动完成的?不工作意味着如果我将其保留在中,则在工作表上看不到任何操作。列-1未得到更新。列0不会被清除。我没有错。日志显示正确的值。相反,如果我删除该行,代码将工作,并清除修改后的单元格。所以我的假设是,代码在那里“断裂”。我试着添加一个日期而不是一个特定的值,结果成功了。。。。。。我刚刚意识到第1列中有一个数据验证子句,这就是阻止脚本的原因!“不工作”可能意味着很多不同的事情。是否有任何错误被抛出?日志显示了什么?请说得更具体些。我已经试过你的代码,它对我来说很好。当你运行它的时候,你有没有发现任何错误?这是由代码完成的“在特定列中输入新值后”还是手动完成的?不工作意味着如果我将其保留在中,则在工作表上看不到任何操作。列-1未得到更新。列0不会被清除。我没有错。日志显示正确的值。相反,如果我删除该行,代码将工作,并清除修改后的单元格。所以我的假设是,代码在那里“断裂”。我试着添加一个日期而不是一个特定的值,结果成功了。。。。。。我刚刚意识到第1列中有一个数据验证子句,这就是阻止脚本的原因!谢谢,我意识到我遇到的问题是由于目标单元格上的数据验证条款!你知道我该如何在多个栏目中进行验证吗?你有什么样的数据验证?我在第五栏的一节中添加了数据验证,它似乎对我来说仍然很好。可以清除数据验证。如果插入的数据无效,则会出现问题,但随后会出现验证错误。我删除了数据验证,它将其限制为值列表。这是一个错误。非常感谢。谢谢,我意识到我遇到的问题是由于目标单元格上的数据验证条款!你知道我该如何在多个栏目中进行验证吗?你有什么样的数据验证?我在第五栏的一节中添加了数据验证,它似乎对我来说仍然很好。可以清除数据验证。如果插入的数据无效,则会出现问题,但随后会出现验证错误。我删除了数据验证,它将其限制为值列表。这是一个错误。非常感谢。