我有一个Google表格工作簿,其中包含70多个标签或表格。在其中一个中,我有一个所有这些的主列表。为了更好地参考,在“PropertyID”选项卡和F列中,从2和向下,我在工作簿中具有每个其他工作表的名称。我想找到一种方法将每个工作表超链接到PropertyID选项卡,这样如果有人按下这个主“菜单”中的链接,它就会将它们带到特定工作表。到目前为止,我一直在对每张表进行评论,并使用“链接评论”链接来做我想要的,但这个过程很繁琐,必须手动完成,如果我必须将工作簿下载到excel为了便于编辑,然后回到工作表,所有的内容都变成了“注释”,链接丢失了。我能以任何方式完成这个任务吗?
答案 0 :(得分:10)
这是forum,与您的关注点类似。
当您切换到Google电子表格中的其他工作表时,请注意浏览器地址栏中的网址。在URL的末尾,您应该看到类似的内容:
#gid=0
切换工作表时,此数字会更改,并指定要显示的工作表。复制整个URL并使用以下公式创建指向它的超链接:
=超链接(" https://docs.google.com/spreadsheet/ccc?key=0AsaQpHJE_LShcDJ0dWNudHFZWVJqS1dvb3FLWkVrS0E#gid=0"," LINK TEXT")
您还可以在上面提供的链接中看到如何使用脚本执行此操作。 "此菜单项将打开一个面板,其中包含当前电子表格中所有工作表的名称列表。它看起来并不像,但是如果你点击其中一个工作表名称,那么这个工作表就会出现在前面。"
这是一个可能也有帮助的相关主题:
希望这有帮助!
答案 1 :(得分:4)
Google表格现已正式支持非公式超链接,因此,您现在有两种其他方式。
手动方法:选择一个单元格,插入链接(“插入”>“插入链接”或Ctrl + K),然后将链接添加到目标工作表#gid=<sheet id>
。与HYPERLINK公式不同,该工作表将在当前选项卡中打开。
自动方式:创建脚本(“工具”>“脚本编辑器”),然后使用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)