Win*_*ind 5 rtf function hyperlink google-sheets google-sheets-formula
前段时间,谷歌表格改变了富文本添加链接,现在公式里找不到链接了。我个人非常不喜欢这种变化,因为我使用一个自定义函数从带有旧公式的单元格中提取超链接,而在新的变化中,我找不到这样做的方法。我对函数还不是很了解,主要是我的问题标题写的越详细越好。
我需要做的是使用自定义公式从单元格中提取超链接,因为它需要在许多其他香草公式中使用。如何设置自定义函数/公式以根据范围提取新超链接?
以下是我想提取链接的工作表:https : //docs.google.com/spreadsheets/d/1JnSKQ7nd4J3NPRH4uSsOCYms-DF16j1pkCAuJeikToo/edit#gid=317867416
我想从正在发布的游戏中提取链接,因为我需要在其他地方使用这些链接,而且我还希望在需要时准备好导入它们。我需要在另一个单元格中指定一个公式来提取这些链接。例如=GETURL(B6),这将根据我为它插入的范围提取新的富文本超链接。
或者,是否可以配置文档,以便在插入时以旧格式生成链接?通过这种方式,我可以尝试解决新设置,而未来插入的链接将=HYPERLINK改为进入公式。
非常感谢!
小智 0
我认为这个脚本会派上用场。\n它提供了从超链接公式检索 URL 的可能性。
\n=linkURL(A1),然后按 Enter。function linkURL(reference) {\n var sheet = SpreadsheetApp.getActiveSheet();\n var formula = SpreadsheetApp.getActiveRange().getFormula();\n var args = formula.match(/=w+((.*))/i);\n try {\n var range = sheet.getRange(args[1]);\n }\n catch(e) {\n throw new Error(args[1] + ' is not a valid range');\n }\n var formulas = range.getFormulas();\n var output = [];\n for (var i = 0; i < formulas.length; i++) {\n var row = [];\n for (var j = 0; j < formulas[0].length; j++) {\n var url = formulas[i][j].match(/=hyperlink("([^"]+)"/i);\n row.push(url ? url[1] : '');\n }\n output.push(row);\n }\n return output\n}\nRun Code Online (Sandbox Code Playgroud)\n