You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL清洗方案咨询:批量提取网页分析数据中的标准URL

解决方案

Excel公式法(适用于标准URL路径层级固定的场景)

假设标准URL结构为 域名/一级路径/二级路径(如例子中的www.webdomain.co.uk/section/pagename),可使用以下公式提取标准URL(假设URL在A1单元格):

=TEXTJOIN("/",TRUE,INDEX(TEXTSPLIT(A1,"/"),SEQUENCE(3)))
  • 原理:先按/拆分URL为列表,取前3个元素(域名、一级路径、二级路径),再用/拼接成标准URL。无论原URL后带多少额外路径或查询参数,都能精准提取目标部分。
  • 注意:如果你的标准URL路径层级不是3级(比如是4级),只需把公式中的3改成对应层级数即可。

如果需要先清除?及后面的查询参数,再提取标准URL,可嵌套公式:

=TEXTJOIN("/",TRUE,INDEX(TEXTSPLIT(TEXTBEFORE(A1,"?"),"/"),SEQUENCE(3)))

Power Query法(适用于批量处理大量数据)

  1. 选中包含URL的数据区域,点击「数据」选项卡 →「自表格/区域」,将数据导入Power Query编辑器。
  2. 在「添加列」选项卡点击「自定义列」,输入以下公式(根据实际层级调整3):
= Text.Combine(List.FirstN(Text.Split(Text.BeforeDelimiter([URL], "?"), "/"), 3), "/")
  1. 点击「确定」后,删除原URL列,点击「关闭并上载」,处理后的数据会导入新工作表。

VBA宏法(适用于重复批量处理场景)

按Alt+F11打开VBA编辑器,插入新模块,粘贴以下代码:

Sub CleanTrackedURLs()
    Dim targetRange As Range
    Dim cell As Range
    Dim urlSegments As Variant
    Dim cleanURL As String
    
    Set targetRange = Application.InputBox("请选择包含URL的单元格区域", Type:=8)
    
    For Each cell In targetRange
        If cell.Value <> "" Then
            ' 移除?及后续查询参数
            cell.Value = Split(cell.Value, "?")(0)
            ' 按/拆分URL
            urlSegments = Split(cell.Value, "/")
            ' 取前3段拼接成标准URL(按需调整层级数)
            If UBound(urlSegments) >= 2 Then
                cleanURL = urlSegments(0) & "/" & urlSegments(1) & "/" & urlSegments(2)
                cell.Value = cleanURL
            End If
        End If
    Next cell
End Sub
  • 使用方法:回到Excel,按Alt+F8选择CleanTrackedURLs宏,选择目标区域即可批量处理。

内容的提问来源于stack exchange,提问作者jw_data

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:45:54