Javascript 如何将一列中的未知长度列表迭代到另一张表中';s柱

Javascript 如何将一列中的未知长度列表迭代到另一张表中';s柱,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我得到错误:“不正确的范围宽度,是1,但应该是2(第21行,文件“代码”)” 我认为这是由于我的“名称”列表的数组形式,当我需要它在列表样式的列而不是行中时。有什么想法吗?有几种方法可以接近逻辑,但要回答: 设置值commmand以及如何设置的逻辑(按组?一次一个 时间?)把这些新名字放到另一张纸上 始终尝试以尽可能大的批量对电子表格执行读写操作。换句话说,使用Javascript构建数组,并一次性设置 一种方法(不确定这是否最有效): 函数名_Iterate2(){ var ss=Spread

我得到错误:“不正确的范围宽度,是1,但应该是2(第21行,文件“代码”)”


我认为这是由于我的“名称”列表的数组形式,当我需要它在列表样式的列而不是行中时。有什么想法吗?

有几种方法可以接近逻辑,但要回答:

设置值commmand以及如何设置的逻辑(按组?一次一个 时间?)把这些新名字放到另一张纸上

始终尝试以尽可能大的批量对电子表格执行读写操作。换句话说,使用Javascript构建数组,并一次性设置

一种方法(不确定这是否最有效):

函数名_Iterate2(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var UpdateSheet=ss.getSheetByName(“更新”);
var nameSheet=ss.getSheetByName(“新名称”);
var names=nameSheet.getRange(2,1,(nameSheet.getLastRow()-1),1.getValues();
var reqLength=UpdateSheet.getLastRow()-1;
而(names.length
注意:这段代码是[google apps script],我明白你说的批处理是什么意思。这很好用。非常感谢。
    function Name_Iterate() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var UpdateSheet = ss.getSheetByName("Update");
      var nameSheet = ss.getSheetByName("New Names");
      var names = nameSheet.getRange(2, 1,(nameSheet.getLastRow()-1),1).getValues()

      var names_transpose=[0]

      for (var i = 0; i<names.length; i++){

      names_transpose.push(names[i][0])  

      }

      Logger.log(names_transpose)
      Logger.log(names)
      //Now get last row in update tab

  for (var NameAmount=0; NameAmount<(UpdateSheet.getLastRow()-1)/names.length; NameAmount++){ 

    UpdateSheet.getRange(2+names.length*NameAmount,2,nameSheet.getLastRow()-1,2).setValues([names_transpose])

    //Devisor=length of LDAP array
    //Lead amount % 

  }
  }
UpdateSheet.getRange(2+names.length*NameAmount,2,nameSheet.getLastRow()-1,2).setValues(names)
function Name_Iterate2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var UpdateSheet = ss.getSheetByName("Update");
  var nameSheet = ss.getSheetByName("New Names");
  var names = nameSheet.getRange(2, 1,(nameSheet.getLastRow()-1),1).getValues();
  var reqLength = UpdateSheet.getLastRow() - 1;
  while (names.length < reqLength) names = names.concat(names);
  var output = names.slice(0, reqLength);
  UpdateSheet.getRange(2, 2, reqLength, 1).setValues(output);    
}