首页 > 风衣足食 > Excel 提取单元格中13位数字(户号)并分列显示
2025
05-27

Excel 提取单元格中13位数字(户号)并分列显示

工作需要在excel文件中,将一个单元格中混合文字与数字的信息中,长度为13位的多个数字提取出来,每串数字一格。

使用VBA自定义函数实现此功能
1.按 Alt+F11 打开VBA编辑器
2.点击"插入" > "模块",粘贴以下代码:

Function Extract13DigitNumbers(text As String) As Variant
    Dim regex As Object, matches As Object
    Dim result() As String
    Dim i As Integer, count As Integer
    
    Set regex = CreateObject("VBScript.RegExp")
    regex.Global = True
    regex.Pattern = "\d{13}"  '匹配13位数字
    
    Set matches = regex.Execute(text)
    count = matches.count
    
    If count = 0 Then
        Extract13DigitNumbers = CVErr(xlErrNA)
        Exit Function
    End If
    
    ReDim result(1 To count)
    
    For i = 1 To count
        result(i) = matches(i - 1)
    Next i
    
    Extract13DigitNumbers = result
End Function

3.返回Excel,选择一行中足够多的单元格(如B1:M1)
4.输入公式 =Extract13DigitNumbers(A1)(假设A1是源单元格)
5.按 Ctrl+Shift+Enter 作为数组公式输入

觉得文章有用,微信打赏一元。



留下一个回复

你的email不会被公开。