我需要将公式添加到Google工作表工作簿中的所有工作表中的相同单元格中

时间:2016-10-10 13:48:42

标签: google-apps-script google-sheets

我有一个包含大约150张的工作簿,我正在尝试使用从索引到每个单独工作表的超链接创建所有工作表的索引。

在索引表中,我列出了A列中的所有工作表名称和公式INDIRECT("'"& A1&"'!AF1“) B列然后在每张工作表的单元格AF1中,我使用了脚本(我在下面发布了此脚本),用该电子表格的spreadsheetID(URL + ID)填充此单元格。

现在我遇到了将公式" = sheetURL()“添加到工作簿中所有工作表的单元格AF1而不必手动执行此操作的问题。

function sheetURL()
{
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getActiveSheet().getSheetId();

 return ss.getUrl() + '#gid=' + sheet;
}

1 个答案:

答案 0 :(得分:1)

你很亲密

function sheetURL(sheetName) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets().filter(function(sheet) {
    return sheet.getName() == sheetName;
  })[0];

  return ss.getUrl() + '#gid=' + sheet.getSheetId();
}

这得到了第一个"具有所需名称的表格,其中只能有一个,然后提取sheetId。

您可以通过在索引表中调用=sheetURL(A1)并向下拖动来使用它。