Google 用于创建 sheet 带超链接索引的工作表公式
Google Sheets formula to create sheet index with hyperlinks
我正在尝试在 Appscript 中创建单个 GSheets 公式,它将创建文件中所有工作sheet的输出,包括 hyperlink.
我目前有一个创建所有 sheet 名称的公式,另一个创建 GID 列表的公式,然后我在前端使用 =Hyperlink 函数将它们连接在一起
我希望能够通过使用单个公式来创建一个数组来做到这一点,该数组只包含 C 列作为输出,例如每个作品的名称 sheet 和一个 hyperlink sheet.
这是我尝试使用 sheetlink() 的方法,但是它只是粘贴公式而实际上没有 运行 它们,因此没有 link.
function sheetnames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetNames.push([sheet.getSheetName() ]);
Logger.log(indexSheetNames)
})
return indexSheetNames;
}
function sheetIDs() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetIds.push([sheet.getSheetId() ]);
Logger.log(indexSheetIds)
})
return indexSheetIds;
}
function sheetlink() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetIds.push(['=hyperlink("#gid='
+ sheet.getSheetId()
+ '","'
+ sheet.getSheetName()
+ '")']);
Logger.log(indexSheetIds)
})
return indexSheetIds;
}
你不需要第三个自定义函数,你已经有了。
像这样使用你的两个函数:
=ArrayFormula(HYPERLINK("#gid="&sheetIds(), sheetNames()))
我正在尝试在 Appscript 中创建单个 GSheets 公式,它将创建文件中所有工作sheet的输出,包括 hyperlink.
我目前有一个创建所有 sheet 名称的公式,另一个创建 GID 列表的公式,然后我在前端使用 =Hyperlink 函数将它们连接在一起
我希望能够通过使用单个公式来创建一个数组来做到这一点,该数组只包含 C 列作为输出,例如每个作品的名称 sheet 和一个 hyperlink sheet.
这是我尝试使用 sheetlink() 的方法,但是它只是粘贴公式而实际上没有 运行 它们,因此没有 link.
function sheetnames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetNames.push([sheet.getSheetName() ]);
Logger.log(indexSheetNames)
})
return indexSheetNames;
}
function sheetIDs() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetIds.push([sheet.getSheetId() ]);
Logger.log(indexSheetIds)
})
return indexSheetIds;
}
function sheetlink() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var indexSheetNames = [];
var indexSheetIds = [];
// create array of sheet names and sheet gids
sheets.forEach(function(sheet){
indexSheetIds.push(['=hyperlink("#gid='
+ sheet.getSheetId()
+ '","'
+ sheet.getSheetName()
+ '")']);
Logger.log(indexSheetIds)
})
return indexSheetIds;
}
你不需要第三个自定义函数,你已经有了。 像这样使用你的两个函数:
=ArrayFormula(HYPERLINK("#gid="&sheetIds(), sheetNames()))