超链接到具有相同 name/value - Google 工作表的单元格范围
Hyperlink to range of cells with same name/value - Google Sheets
我有一个 Spreadsheet,其中有一个 DASHBOARD + 多个 (300+) sheets(在同一个 spreadsheet 内)。在仪表板中,我有一个范围列,其中包含所有 sheets.
的名称
我想自动将所有单元格超链接到具有相应名称的 sheet。
Example:
您不需要超链接即可快速跳转到另一个 sheet。相反,使用名称框。它位于 ƒ 符号左侧的公式栏中。
单击名称框并键入 sheet 名称的一部分以快速找到 sheet,然后按 Enter 转到 sheet.
试试这个脚本,但还要添加对您需要转到的单元格的搜索(这可以通过 C 列中的公式完成)或根据更多信息进行过滤...
function onEdit(event){
var sh = event.source.getActiveSheet();
var cel = event.source.getActiveRange();
if (sh.getName()=='DASHBOARD' && cel.getColumn()==2 && cel.getRow()>1 && cel.getValue()){
try {
cel.setValue(!cel.getValue())
// add the right destination in the targeted sheet ...
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(cel.offset(0,-1).getValue()).activate()
}
catch(err){
}
}
}
试试这个:
function convertToLinks() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("DASHBOARD");
var range = sh.getRange("A11:A15");
var data = range.getValues();
var formulaArr = [];
data.forEach(sheet => {
var targetSheet = ss.getSheetByName(sheet[0]);
if(targetSheet){
var url = ss.getUrl() + '#gid=' + targetSheet.getSheetId();
formulaArr.push(['=HYPERLINK("'+ url +'","'+ sheet[0] +'")'])
}else{
formulaArr.push([sheet[0]]);
}
})
range.setValues(formulaArr);
}
上面的脚本会将单元格 A11:A15 转换为相应工作表的超链接。
示例:
之前:
之后:
参考文献:
我有一个 Spreadsheet,其中有一个 DASHBOARD + 多个 (300+) sheets(在同一个 spreadsheet 内)。在仪表板中,我有一个范围列,其中包含所有 sheets.
的名称我想自动将所有单元格超链接到具有相应名称的 sheet。
Example:
您不需要超链接即可快速跳转到另一个 sheet。相反,使用名称框。它位于 ƒ 符号左侧的公式栏中。
单击名称框并键入 sheet 名称的一部分以快速找到 sheet,然后按 Enter 转到 sheet.
试试这个脚本,但还要添加对您需要转到的单元格的搜索(这可以通过 C 列中的公式完成)或根据更多信息进行过滤...
function onEdit(event){
var sh = event.source.getActiveSheet();
var cel = event.source.getActiveRange();
if (sh.getName()=='DASHBOARD' && cel.getColumn()==2 && cel.getRow()>1 && cel.getValue()){
try {
cel.setValue(!cel.getValue())
// add the right destination in the targeted sheet ...
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(cel.offset(0,-1).getValue()).activate()
}
catch(err){
}
}
}
试试这个:
function convertToLinks() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("DASHBOARD");
var range = sh.getRange("A11:A15");
var data = range.getValues();
var formulaArr = [];
data.forEach(sheet => {
var targetSheet = ss.getSheetByName(sheet[0]);
if(targetSheet){
var url = ss.getUrl() + '#gid=' + targetSheet.getSheetId();
formulaArr.push(['=HYPERLINK("'+ url +'","'+ sheet[0] +'")'])
}else{
formulaArr.push([sheet[0]]);
}
})
range.setValues(formulaArr);
}
上面的脚本会将单元格 A11:A15 转换为相应工作表的超链接。
示例:
之前:
之后: