有没有一种方法可以按数字/相反的方向对这个Google脚本功能进行排序?

问题描述 投票:0回答:1

这是我用来将Google表格文档的所有表格名称拉入前页列表中的脚本。这是工作;但是,有没有办法以相反的方式进行分类呢?我有按日期命名的图纸,其中最早的日期是最远的图纸,而最新的图纸是最靠近正面的图纸。因此,它将首先对最新日期进行排序,但我希望它首先对最旧的日期进行排序。另外,有没有办法使此功能动态化,以便在添加新工作表时或工作表名称更改时进行更新?

function sheetnames() {
  var out = new Array()
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();


for (var i=0 ; i<sheets.length ; i++) {
  Logger.log(String(sheets[i].getSheetId()));
 // var sheetId = sheets.getSheetId()
  out.push( [ sheets[i].getName() ] ) 
}

return out 
}
google-apps-script google-sheets google-sheets-formula array-formulas google-sheets-query
1个回答
0
投票

尝试:

function SHEETLIST() {
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  var out = new Array( sheets.length+1 ) ;
  out[0] = [ "♥♥" , "#GID" ];
  for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] = 
  [sheets[i-1].getName() , sheets[i-1].getSheetId() ];
  return out
}
catch( err ) {
  return "#ERROR!" }}

和公式:

=ARRAYFORMULA(QUERY(IFERROR(SPLIT(INDEX(SHEETLIST(),,1)&"♦"&ROW(A:A), "♦")), 
 "select Col1 where Col1 <> '♥♥' order by Col2 desc", 0))
© www.soinside.com 2019 - 2024. All rights reserved.