在同一个单元格上不可能有两个超链接。
可以将脚本写入 Google 电子表格,但我不确定它是否适合您的用例。我看到的解决方案是这样的:
- 用户单击所需的单元格,将其选中。
- 然后他点击自定义菜单并在那里选择一个条目,例如显示链接
- 将显示一个带有链接的弹出窗口(不是在单元格之外,而是在屏幕中央)。
你觉得这样好吗?代码看起来像这样(打开菜单工具 > 脚本编辑器)
function onOpen() {
SpreadsheetApp.getActive().
addMenu("Test", [{name: 'Show Links', functionName:'showLinks'}]);
}
function showLinks() {
var values = SpreadsheetApp.getActiveRange().getValue().split(';');
var app = UiApp.createApplication().setTitle('Links');
var grid = app.createGrid(values.length, 2);
for( var i = 0; i < values.length; ++i ) {
var url = findLink(values[i]);
grid.setWidget(
i, 0, app.createLabel(values[i])).setWidget(
i, 1, url ? app.createAnchor(url, url) : app.createLabel('Not Found'));
}
app.add(grid);
SpreadsheetApp.getActive().show(app);
}
var mapName2Url = null;
function findLink(name) {
if( mapName2Url == null ) { //lazy load
mapName2Url = {};
var data = SpreadsheetApp.getActive().getSheetByName('People').getDataRange().getValues();
for( var i = 1; i < data.length; ++i ) //skipping the header
mapName2Url[data[i][0]] = data[i][1];
}
return mapName2Url[name];
}
将其粘贴到脚本编辑器后,运行两次 onOpen 函数以对其进行授权并为您创建菜单。下次打开电子表格时,应该会自动创建菜单。
顺便说一句,我没有测试过这段代码,所以它可能包含愚蠢的错误。