Google sheets 如何从包含超链接的字段中获取url文本
我有一个包含超链接公式的列,例如:Google sheets 如何从包含超链接的字段中获取url文本,google-sheets,Google Sheets,我有一个包含超链接公式的列,例如: =HYPERLINK("http://example.com", "Link") 我希望获得附加列,其中仅显示来自第一列的URL(作为文本),即在本例中: http://example.com 是否有允许从超链接提取url的功能?我还考虑从第一列中获取公式文本,并在最后一列中使用SPLIT/SUBSTITUTE进行剪切,但我不确定是否可以将一个字段代码转换为另一个字段 一种方法是复制包含公式的列(假设您希望保留它们),并删除“多余的”。可以通过编辑>查找和
=HYPERLINK("http://example.com", "Link")
我希望获得附加列,其中仅显示来自第一列的URL(作为文本),即在本例中:
http://example.com
是否有允许从超链接提取url的功能?我还考虑从第一列中获取公式文本,并在最后一列中使用SPLIT/SUBSTITUTE进行剪切,但我不确定是否可以将一个字段代码转换为另一个字段 一种方法是复制包含公式的列(假设您希望保留它们),并删除“多余的”。可以通过编辑>查找和替换。。。在每种情况下,替换为左空白: 左边的部分: 查找
=HYPERLINK(
),并选中“在公式内搜索”
(如果要断开链接,请将“
放入*替换为*)
右边的部分:
查找“”+
并选中“使用正则表达式搜索”和“在公式内搜索”。您可以使用宏、菜单和自定义函数的组合,从单元格的公式中提取超链接的值
下面是它的工作原理:
将打开一个新的浏览器窗口或选项卡
code.gs中的所有代码
code.gs
中的所有内容替换为您将看到在“帮助”之后创建了一个名为“提取”的新菜单项
=HYPERLINK
函数的单元格、行或列Extract->Replace formulas with Text string
启动脚本如果您希望保留原始单元格的内容或格式,我建议您在重复的电子表格上执行此任务,或者至少在原始单元格的副本上执行此任务,以防出现任何问题。您可以通过使用应用程序脚本创建自定义函数来完成此任务。请尝试以下操作:
function EXTRACT_URL(input) {
var range = SpreadsheetApp.getActiveSheet().getRange(input);
var re = /^.+?\(\"(.+?)\",.+?$/;
if (input.indexOf(':') != -1) {
var formulas = range.getFormulas();
for (var i in formulas) {
for (var j in formulas[i]) {
formulas[i][j] = formulas[i][j].replace(re, "$1");
}
}
return formulas;
} else {
return range.getFormula().replace(re, "$1");
}
}
=EXTRACT_URL("A1")
为了减少引号的麻烦,上述脚本还支持范围:
=EXTRACT_URL("A1:B10")
希望这有帮助!试试这个公式
A2=index(SPLIT(SUBSTITUTE(FORMULATEXT(A1),"=HYPERLINK(""",""),""","""),1,1)
范例
A1=HYPERLINK("http://example.com", "Link")
结果是
A2=http://example.com
我的google sheets版本在“查找和替换”中没有“也在公式中搜索”选项。尝试用超链接替换列中的文本会导致“注意:公式单元格中的文本无法替换”。无法使此功能正常工作。文本在我的案例中有超链接,这很好。谢谢。