工作需要在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 作为数组公式输入
- 本文固定链接: https://www.fengshen.cn/2025/05/excel-提取单元格中13位数字(户号)并分列显示/workofwind/
- 转载请注明: fengshen 发表于 Dream of Wind | 一梦风神
觉得文章有用,微信打赏一元。
