簡體   English   中英

使用超鏈接創建工作表索引的 Google 表格公式

[英]Google Sheets formula to create sheet index with hyperlinks

我正在嘗試在 Appscript 中創建一個 GSheets 公式,它將創建文件中所有工作表的 output,包括一個超鏈接。

我目前有一個創建所有工作表名稱的公式,另一個創建 GID 列表的公式,然后我在前端使用 =Hyperlink function 將它們連接在一起
在此處輸入圖像描述
我希望能夠通過使用一個公式來創建一個數組來做到這一點,該數組只有列 C 作為 output,例如每個工作表的名稱和到該工作表的超鏈接。
這是我嘗試使用 sheetlink() 的方法,但它只是粘貼公式而沒有實際運行它們,因此沒有鏈接。

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

  var indexSheetNames = [];
  var indexSheetIds = [];

   // create array of sheet names and sheet gids
  sheets.forEach(function(sheet){
    
        indexSheetNames.push([sheet.getSheetName() ]);
                        Logger.log(indexSheetNames)                    
  })

  return indexSheetNames;

}

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

  var indexSheetNames = [];
  var indexSheetIds = [];

   // create array of sheet names and sheet gids
  sheets.forEach(function(sheet){
    
    indexSheetIds.push([sheet.getSheetId() ]);
                        Logger.log(indexSheetIds)

                       
  })

  return indexSheetIds;

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

  var indexSheetNames = [];
  var indexSheetIds = [];

   // create array of sheet names and sheet gids
  sheets.forEach(function(sheet){
    
    indexSheetIds.push(['=hyperlink("#gid=' 
                        + sheet.getSheetId() 
                        + '","' 
                        + sheet.getSheetName() 
                        + '")']);
                        Logger.log(indexSheetIds)

                       
  })

  return indexSheetIds;

}


為此,您不需要第三個自定義 function,您已經有了。 像這樣使用你的兩個函數:

=ArrayFormula(HYPERLINK("#gid="&sheetIds(), sheetNames()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM