G Sheets目录脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了G Sheets目录脚本相关的知识,希望对你有一定的参考价值。

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

答案

脚本:

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是您的“搜索单元格”

以上是关于G Sheets目录脚本的主要内容,如果未能解决你的问题,请参考以下文章

Google Apps 脚本 Google Sheets Gmail 处理新电子邮件 追加行数组

如何使用 Google Sheets API V4 导入 CSV 文件

Google网络应用/脚本,用于自动将文件上传到特定的g-drive文件夹

文件目录删除脚本(&D)

如何为配置脚本指定包含目录

如何使用脚本启动具有特定工作目录的 Git Bash 窗口?