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

如何在Excel中提取首个连续9位字母数字字符?

提取字符串中首个连续9位字母数字字符的解决方案

非数组公式方案(兼容多数Excel版本)

如果你不想用VBA,可尝试以下非数组公式(无需按Ctrl+Shift+Enter输入):

=MID(A1,AGGREGATE(15,6,SEARCH(REPT("[0-9A-Za-z]",9),A1,ROW($1:$LEN(A1))),1),9)

这个公式通过AGGREGATE函数筛选出首个匹配连续9位字母数字的位置,再用MID截取内容,避免了数组公式的复杂操作,也不依赖固定分隔符。

VBA自定义函数方案(更精准稳定)

由于分隔符不固定,用正则表达式匹配是最可靠的方式,以下是自定义函数实现步骤:

  1. 按Alt+F11打开VBA编辑器
  2. 插入新模块:右键左侧工程资源管理器 → 插入 → 模块
  3. 粘贴以下代码:
Function Get9CharAlphaNum(inputText As String) As String
    Dim regex As Object
    Set regex = CreateObject("VBScript.RegExp")
    
    With regex
        .Pattern = "[0-9A-Za-z]{9}" ' 匹配连续9位字母数字
        .Global = False ' 仅返回第一个匹配项
    End With
    
    If regex.Test(inputText) Then
        Get9CharAlphaNum = regex.Execute(inputText)(0).Value
    Else
        Get9CharAlphaNum = "" ' 无匹配时返回空字符串
    End If
    
    Set regex = Nothing
End Function
  1. 返回Excel,在目标单元格输入=Get9CharAlphaNum(A1)即可提取结果。

补充说明

  • 若需要确保提取的是独立的字符组(不与其他字母数字连在一起),可将正则模式改为"\b[0-9A-Za-z]{9}\b",其中\b代表单词边界。
  • 如需忽略大小写,在With regex代码块中添加.IgnoreCase = True即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:25:53