列出 Google 个工作表中的工作表名称并跳过前两个

List names of sheets in Google Sheets and skip the first two

我找到了列出 Google 工作表(来自 here)中所有 sheet 的名称的代码:

function SheetNames() { // Usage as custom function: =SheetNames( GoogleClock() )
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  var out = new Array( sheets.length+1 ) ;
  //out[0] = [ "Name" , "gid" ];
  for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] = [sheets[i-1].getName()];
  return out
}
catch( err ) {
  return "#ERROR!" 
}
}

我的问题是如何修改脚本以跳过前两个 sheet 名称并开始填充调用脚本的单元格中的列表?

我尝试将 var i = 1 更改为 var i = 3,这确实跳过了前两个 sheet 名称,但它也创建了空白单元格。如何跳过前两个 sheet 名称而不创建任何空白单元格?

您的想法是正确的,但您的输出数组将第一项放在位置 3。相反,请执行以下操作:

for (var i = 3 ; i < sheets.length+1 ; i++ ) out[i-2] = [sheets[i-1].getName()];