【问题标题】:G Sheets Table of Contents ScriptG 表目录脚本
【发布时间】:2019-12-20 16:16:22
【问题描述】:

对于具有多个工作表的 Google 工作表工作簿,我创建了一个目录工作表,其中列出了工作簿中的所有工作表,以提高用户使用的便利性。 我一直在寻找可以加快该过程的附加组件、宏或脚本。没有骰子。关于如何自动创建一个列出所有其他工作表名称(每个单元格一个工作表名称)然后自动将单元格链接到该工作表的新工作表的过程的任何想法?

【问题讨论】:

    标签: google-apps-script google-sheets hyperlink google-sheets-formula array-formulas


    【解决方案1】:

    脚本:

    function SHEETLIST() {
    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() , sheets[i-1].getSheetId() ];
      return out
    }
    catch( err ) {
      return "#ERROR!" }}
    

    公式:

    =SHEETLIST()
    

    将工作表名称转换为活动超链接:

    =ARRAYFORMULA(HYPERLINK("#gid="&
     QUERY(INDEX(SHEETLIST();;2); "offset 1"); 
     QUERY(INDEX(SHEETLIST();;1); "offset 1")))
    

    如果你想将它绑定到手动输入,你可以使用VLOOKUP like

    =ARRAYFORMULA(IFNA(VLOOKUP(A1, HYPERLINK("#gid="&
     QUERY(INDEX(SHEETLIST();;2); "offset 1"); 
     QUERY(INDEX(SHEETLIST();;1); "offset 1")); 1; 0)))
    

    其中 A1 是您的“搜索单元格”

    【讨论】:

    • 好……但我不断收到前几个链接的“无效范围”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2010-11-28
    • 2012-04-11
    • 2011-05-11
    相关资源
    最近更新 更多