I found code to list the names of all the sheets in Google Sheets (from here):
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!"
}
}
My question is how can I modify the script to skip the first two sheet names and begin populating the list in the cell where the script is called?
I tried changing the var i = 1
to var i = 3
and that did skip the first two sheet names but it also created to blank cells. How do I skip the first two sheet names and not create any blank cells?
You had the right idea, but your output array was placing the first item in position 3. Instead, do this:
for (var i = 3 ; i < sheets.length+1 ; i++ ) out[i-2] = [sheets[i-1].getName()];