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

如何在Excel中用自定义公式、VBA或格式代码批量转换IP段格式?

IP段格式批量转换解决方案

以下提供两种可直接使用的实现方案,完全匹配你给出的转换规则:

方案1:Excel自定义公式(仅支持Excel 365/2021及以上版本)

假设原始IP段存储在A列,在B1单元格粘贴以下公式,下拉即可批量填充:

=LET(
    分隔符," - ",
    起始IP,TEXTBEFORE(A1,分隔符),
    结束IP,TEXTAFTER(A1,分隔符),
    拆起始,TEXTSPLIT(起始IP,"."),
    拆结束,TEXTSPLIT(结束IP,"."),
    前三段相同,INDEX(拆起始,1)&INDEX(拆起始,2)&INDEX(拆起始,3)=INDEX(拆结束,1)&INDEX(拆结束,2)&INDEX(拆结束,3),
    前两段相同,INDEX(拆起始,1)&INDEX(拆起始,2)=INDEX(拆结束,1)&INDEX(拆结束,2),
    IF(前三段相同,
        INDEX(拆起始,1)&"."&INDEX(拆起始,2)&"."&INDEX(拆起始,3)&"."&INDEX(拆起始,4)&"-"&INDEX(拆结束,4),
        IF(前两段相同,
            INDEX(拆起始,1)&"."&INDEX(拆起始,2)&"."&INDEX(拆起始,3)&"-"&INDEX(拆结束,3)&".*",
            "格式不匹配"
        )
    )
)

方案2:VBA自定义函数(支持所有Excel版本)

操作步骤:

  1. 按Alt+F11打开VBA编辑器
  2. 右键点击当前工作簿名称→插入→模块
  3. 将以下代码粘贴到模块编辑区,保存文件(如果是.xlsx格式需要另存为.xlsm启用宏格式)
  4. 回到工作表,在B1单元格输入=IPConvert(A1),下拉即可批量转换
Function IPConvert(ByVal IPstr As String) As String
    Dim splitArr, startIP, endIP, startSeg, endSeg
    splitArr = Split(IPstr, " - ")
    If UBound(splitArr) <> 1 Then
        IPConvert = "输入格式错误"
        Exit Function
    End If
    startIP = splitArr(0)
    endIP = splitArr(1)
    startSeg = Split(startIP, ".")
    endSeg = Split(endIP, ".")
    If UBound(startSeg) <> 3 Or UBound(endSeg) <> 3 Then
        IPConvert = "IP格式错误"
        Exit Function
    End If
    If startSeg(0) = endSeg(0) And startSeg(1) = endSeg(1) Then
        If startSeg(2) = endSeg(2) Then
            IPConvert = startSeg(0) & "." & startSeg(1) & "." & startSeg(2) & "." & startSeg(3) & "-" & endSeg(3)
        Else
            IPConvert = startSeg(0) & "." & startSeg(1) & "." & startSeg(2) & "-" & endSeg(2) & ".*"
        End If
    Else
        IPConvert = "不支持的IP段格式"
    End If
End Function

注意事项

  • 如果原始IP段的分隔符不是「空格-空格」,自行修改公式或代码里的分隔符参数即可
  • 两种方案均严格匹配你给出的转换规则,仅支持前两段相同的连续IP段转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 16:00:03