链接到Google表格中的其他标签

时间:2016-09-21 16:22:33

标签: google-sheets google-sheets-api

我有一个Google表格工作簿,其中包含70多个标签或表格。在其中一个中,我有一个所有这些的主列表。为了更好地参考,在“PropertyID”选项卡和F列中,从2和向下,我在工作簿中具有每个其他工作表的名称。我想找到一种方法将每个工作表超链接到PropertyID选项卡,这样如果有人按下这个主“菜单”中的链接,它就会将它们带到特定工作表。到目前为止,我一直在对每张表进行评论,并使用“链接评论”链接来做我想要的,但这个过程很繁琐,必须手动完成,如果我必须将工作簿下载到excel为了便于编辑,然后回到工作表,所有的内容都变成了“注释”,链接丢失了。我能以任何方式完成这个任务吗?

3 个答案:

答案 0 :(得分:10)

这是forum,与您的关注点类似。

[Source.]

  

当您切换到Google电子表格中的其他工作表时,请注意浏览器地址栏中的网址。在URL的末尾,您应该看到类似的内容:

     

#gid=0

     

切换工作表时,此数字会更改,并指定要显示的工作表。复制整个URL并使用以下公式创建指向它的超链接:

     

=超链接(" https://docs.google.com/spreadsheet/ccc?key=0AsaQpHJE_LShcDJ0dWNudHFZWVJqS1dvb3FLWkVrS0E#gid=0"," LINK TEXT")

您还可以在上面提供的链接中看到如何使用脚本执行此操作。 "此菜单项将打开一个面板,其中包含当前电子表格中所有工作表的名称列表。它看起来并不像,但是如果你点击其中一个工作表名称,那么这个工作表就会出现在前面。"

这是一个可能也有帮助的相关主题:

希望这有帮助!

答案 1 :(得分:4)

Google表格现已正式支持非公式超链接,因此,您现在有两种其他方式。

  1. 手动方法:选择一个单元格,插入链接(“插入”>“插入链接”或Ctrl + K),然后将链接添加到目标工作表#gid=<sheet id>。与HYPERLINK公式不同,该工作表将在当前选项卡中打开。

  2. 自动方式:创建脚本(“工具”>“脚本编辑器”),然后使用setLinkUrl()链接到工作表。
    例如,以下函数从第二行开始遍历工作表“ Foo”的A列中的所有单元格,并根据该行的文本分配链接。

    function linkRange() {
      const startRow = 2,  // Start at the second row.
            column   = 1;  // Add links to column A.
    
      const spreadsheet = SpreadsheetApp.getActive(),
            sheet = spreadsheet.getSheetByName("Foo"),
            lastRow = sheet.getLastRow();
    
      for (let row = startRow; row <= lastRow; row++) {
        const range         = sheet.getRange(row, column),
              richTextValue = range.getRichTextValue(),
              targetSheet   = spreadsheet.getSheetByName(richTextValue.getText());
    
        if (targetSheet !== null) {
          const sheetId = targetSheet.getSheetId(),
                builder = richTextValue.copy().setLinkUrl(`#gid=${sheetId}`);
    
          range.setRichTextValue(builder.build());
        }
      }
    }
    

    请注意,它将丢弃该列中的现有链接和公式。

答案 2 :(得分:0)

这是怎么回事:enter image description here来自我的分析器表,该表提供了许多演示文稿。

如果工作表是动态创建/插入的,则可以自动插入#gid。

EDIT 1 Sheet ref可以减少为#gid;添加了过滤器

=ArrayFormula(
    SORT(
        FILTER(
            HYPERLINK("#gid="&Analyser!H4:H,Analyser!G4:G),Analyser!H4:H>0)
    )
)