Google apps script GetCell->;GetValue->;设置值失败

Google apps script GetCell->;GetValue->;设置值失败,google-apps-script,google-sheets,setvalue,getvalue,Google Apps Script,Google Sheets,Setvalue,Getvalue,我想让下面提到的代码工作,但它没有-当我运行它时没有发生任何事情(也没有错误),这意味着用户名(sUserName)不会保存在电子表格中。。。而且我也不明白为什么列不能以2,3,4开头(那么时间戳可以保留在列#1中),而不是1,2,3-如果是这样,我会得到一个错误 代码如下: var userNameColumn = 1; //Column where the user name is written var subTypeColumn = 2; //Column where the su

我想让下面提到的代码工作,但它没有-当我运行它时没有发生任何事情(也没有错误),这意味着用户名(sUserName)不会保存在电子表格中。。。而且我也不明白为什么列不能以2,3,4开头(那么时间戳可以保留在列#1中),而不是1,2,3-如果是这样,我会得到一个错误

代码如下:

 var userNameColumn = 1; //Column where the user name is written 
 var subTypeColumn = 2; //Column where the submitter type is written ex. "Requester"
 var sUserNameColumn = 3; //Column where the user name is saved

function saveUserName() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
 var rows  = sheet.getDataRange();
 var numRows = rows.getNumRows();

for (var i = 1; i <= numRows; i++) {

 var userNameCell = rows.getCell(i, userNameColumn);
 var subTypeCell = rows.getCell(i, subTypeColumn);
 var sUserNameCell = rows.getCell(i, sUserNameColumn);

  if(sUserNameCell.isBlank() && subTypeCell.getValue() === 'Requester') {
sUserNameCell.setValue(userNameCell)
  };  

 }
}  
var userNameColumn=1//写入用户名的列
var列=2//写入提交者类型的列,例如“请求者”
var-sUserNameColumn=3//保存用户名的列
函数saveUserName(){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var rows=sheet.getDataRange();
var numRows=rows.getNumRows();
对于(var i=1;i看看这是否有帮助

function saveUserName() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var rows = sheet.getDataRange().getValues();
for (var i = 1; i < rows.length; i++) {
    var userNameCell = rows[i][1];
    var subTypeCell = rows[i][2];
    var sUserNameCell = rows[i][3];
    if (!sUserNameCell && subTypeCell === 'Requester') sheet.getRange(i+1,4).setValue(userNameCell)
    }
}
函数saveUserName(){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var rows=sheet.getDataRange().getValues();
对于(变量i=1;i
i
应该从0开始。另外,您可以更改数组中的值,然后将整个数组写回到最后的电子表格中,这样您只需调用
setValues
一次。而且-没有错误,但在第三列“请求者名称”(sUserName)中也没有条目……但是为什么?我不明白:-(所以在A列中有时间戳,在B列中有用户名,在C列中键入。这难道不意味着您希望在D(4)列中有requestername吗?请记住数组是零索引的。所以C(3)列)将被索引为2。您能否共享一份电子表格副本,以便我们了解您的数据结构?要共享电子表格,我需要您的电子邮件,请让我知道-还有一个2。编码应该与该编码一起使用-如果您能修复它,那将非常好;-)提前感谢!我无法访问该工作表。您可以将编辑权限共享给具有该链接的任何人吗?请使用内置调试器来解决此问题