如何自动复制超链接,使其链接到相同的复制页面,而不是Google表格中的原始页面?

时间:2019-05-23 12:51:06

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

我有一张长桌子,上面有Google表格中的部分。前四行被冻结,并且具有指向表中所有部分的超链接,因此我可以快速访问这些部分。我需要每周创建一个新的重复工作表,但是如果我不手动进行更改,重复工作表中的超链接仍会链接到原始页面。如何在复制模板工作表时做到这一点,超链接会自动链接到复制工作表中的表部分,而不是原始链接?

简要介绍一下工作表。复制了TEMP,那里的所有超链接仍然链接到TEMP页面。 https://docs.google.com/spreadsheets/d/1jIdWY583ZQwau10NAskK4u7RjaPNKJxCTk5DYippV8Y/edit?usp=sharing

1 个答案:

答案 0 :(得分:1)

代替该公式:

=HYPERLINK("#gid=932114522&range=B33:U33","EXAMPLE 5")

您需要这样做:

=HYPERLINK("#gid="&VLOOKUP(SHEETNAME(), SHEETLIST(), 2, 0)&"range=B33:U33", "EXAMPLE 5")

将以下两个脚本添加到工作表后:

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!" 
}
}

function SHEETNAME() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}