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

如何用通用方法从多种格式字符串中提取6位数字?

通用提取字符串中6位数字的Excel方案

VBA自定义函数(推荐,完全通用)

用正则表达式匹配任意位置的独立6位数字,无需手动适配格式:

  1. 按Alt + F11打开VBA编辑器,右键左侧工程窗口的工作簿名 → 插入 → 模块
  2. 粘贴以下代码:
Function Extract6Digits(str As String) As String
    Dim regEx As Object, matches As Object, result As String, i As Integer
    Set regEx = CreateObject("VBScript.RegExp")
    
    With regEx
        .Global = True
        .Pattern = "\b\d{6}\b" ' 匹配独立6位数字,避免截取长数字片段
    End With
    
    Set matches = regEx.Execute(str)
    If matches.Count > 0 Then
        For i = 0 To matches.Count - 1
            result = result & matches(i).Value & ", "
        Next i
        Extract6Digits = Left(result, Len(result) - 2)
    Else
        Extract6Digits = ""
    End If
End Function
  1. 返回Excel,在目标单元格输入=Extract6Digits(A1)(A1为待提取的字符串单元格),即可得到所有6位数字(多结果用逗号分隔)。

示例效果

  • 输入:表'East Contingency'中主键=21733的记录指定的分支'100235 to 100236 Ckt 1'未在分支或变压器数据中找到
    输出:100235, 100236
  • 输入:补充分支表中定义的Loadflow分支ID'256574_701027_1'未在分支或变压器输入中找到
    输出:256574, 701027
  • 输入:为走廊'IESO-NYISO'定义的、从母线编号135415到157062、电路ID=1的输电元件未在输入数据中找到
    输出:135415, 157062

如果只需要第一个匹配的6位数字,用简化版函数:

Function ExtractFirst6Digits(str As String) As String
    Dim regEx As Object, matches As Object
    Set regEx = CreateObject("VBScript.RegExp")
    
    With regEx
        .Global = False
        .Pattern = "\b\d{6}\b"
    End With
    
    Set matches = regEx.Execute(str)
    ExtractFirst6Digits = IIf(matches.Count > 0, matches(0).Value, "")
End Function

无VBA数组公式方案

适用于Excel 2019及以上版本,输入后按Ctrl + Shift + Enter确认数组公式:

=TEXTJOIN(", ", TRUE, IF(ISNUMBER(--MID(A1, ROW($1:$100), 6)), IF(OR(ROW($1:$100)=1, NOT(ISNUMBER(--MID(A1, ROW($1:$100)-1, 1)))), IF(OR(ROW($1:$100)+6>LEN(A1), NOT(ISNUMBER(--MID(A1, ROW($1:$100)+6, 1)))), MID(A1, ROW($1:$100), 6), ""), ""), ""))

注:ROW($1:$100)对应字符串最大长度,若字符串更长可调整为更大范围(如ROW($1:$200))。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:45:51