excel中提取超链接url有四种方法:一、用cell函数配合公式提取手动插入的超链接;二、用vba宏批量读取所有类型超链接地址;三、用power query通过html转换与值提取分离url;四、用kutools等第三方插件一键提取。

如果您在Excel中看到单元格内显示为可点击的超链接文本,但实际需要获取其背后的URL地址,则无法通过常规复制粘贴直接提取。以下是多种可行的批量提取方法:
一、使用HYPERLINK函数配合CELL函数反向提取(适用于手动创建的超链接)
该方法适用于通过“插入超链接”功能添加的超链接,Excel会将链接地址存储于单元格属性中,可通过CELL函数读取。注意:此法对公式生成的超链接或导入数据中的嵌入链接无效。
1、在空白列(如B1)输入公式:=CELL("address",A1),确认是否返回A1单元格地址;
2、在C1单元格输入公式:=IF(ISBLANK(A1),"",SUBSTITUTE(CELL("hyperlink",A1),LEFT(CELL("hyperlink",A1),FIND("#",CELL("hyperlink",A1)&"#")-1),""));
3、若链接无锚点,改用更稳定写法:=IFERROR(TRIM(MID(CELL("hyperlink",A1),FIND("://",CELL("hyperlink",A1))-5,LEN(CELL("hyperlink",A1)))),"");
4、将公式向下填充至对应行数,结果列即为提取出的URL。
二、使用VBA宏一键批量提取(通用性强,支持所有类型超链接)
VBA可直接访问Range.Hyperlinks集合,逐个读取Address属性,不受链接创建方式限制,适合处理数百行以上数据。
1、按Alt + F11打开VBA编辑器;
2、插入新模块:点击“插入”→“模块”;
3、粘贴以下代码:
Sub ExtractHyperlinks()
Dim rng As Range, cell As Range, hl As Hyperlink
Set rng = Selection
For Each cell In rng
If cell.Hyperlinks.Count > 0 Then
cell.Offset(0, 1).Value = cell.Hyperlinks(1).Address
End If
Next cell
End Sub
4、返回Excel,选中含超链接的单元格区域;
5、按F5运行宏,右侧相邻列将自动填入对应链接地址。
三、利用Power Query提取(适用于结构化表格且需保留原始格式)
Power Query可将超链接作为元数据导入,通过扩展操作分离显示文本与地址字段,适合需后续清洗或合并的场景。
1、选中数据区域,点击“数据”选项卡→“从表格/区域”(勾选“表包含标题”);
2、在Power Query编辑器中,右键含超链接的列→“转换”→“HTML转文本”(若未显示,先点击列标题旁的展开图标);
3、再次右键该列→“提取值”→选择“URL”;
4、点击“关闭并上载”,结果将作为新表插入工作表,URL单独成列。
四、使用第三方加载项(免编程,适合临时高频操作)
部分Excel插件(如Kutools for Excel)内置“提取超链接”功能,无需编写公式或代码,操作路径直观,但需提前安装并授权。
1、安装Kutools后,在Excel功能区出现“Kutools”选项卡;
2、选中目标单元格区域;
3、点击“Kutools”→“链接”→“提取超链接”;
4、在弹出窗口中选择“仅提取地址”或“同时提取文本与地址”,点击确定;
5、结果默认插入到所选区域右侧空白列中。










