Google Sheets 允许以两种方式指定超链接:
- 通过使用 HYPERLINK公式/函数,例如:
=HYPERLINK("http://example.com/", "Example.com")
- 通过使用“链接”功能 -
插入»插入链接
网络上有很多关于从第一个选项 - HYPERLINK公式中提取URL的解决方案,但我没有找到从第二个选项中提取它的任何方法。
Google Sheets 允许以两种方式指定超链接:
=HYPERLINK("http://example.com/", "Example.com")
插入»插入链接
网络上有很多关于从第一个选项 - HYPERLINK公式中提取URL的解决方案,但我没有找到从第二个选项中提取它的任何方法。
https://developers.google.com/apps-script/reference/spreadsheet/rich-text-value
的类,可以帮助您检索包含在单元格中的不仅是纯文本,还包括其属性,例如链接 URL。示例:在自定义函数中检索链接 URL:
function getLink(range){
var link = SpreadsheetApp.getActive().getActiveSheet().getRange(range).getRichTextValue().getLinkUrl();
return link;
}
编写并保存此代码后,只需从任何单元格调用它,将带有链接URL的单元格引用作为参数传递。
重要提示:
由于应该传递单元格的引用而不是值,因此您需要将A1表示法放在引号中。
示例:
=getLink("A1")
SpreadsheetApp.openById("XXX").getSheetByName("YYY").getRange(range).getRichTextValue().getLinkUrl();
来避免歧义。 - ziganotschka=getLink(ADDRESS(row(),column(A1)))
如果希望使用正常公式而不需要引号,
function GetURL(input) {
var formula = SpreadsheetApp.getActiveRange().getFormula();
var rx = /=geturl\((.*)\)/gi;
var rng_txt = rx.exec(formula)[1]
var rng = SpreadsheetApp.getActiveSheet().getRange(rng_txt);
return rng.getRichTextValue().getLinkUrl()
}