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

如何在Excel单元格文本中提取单字母加数字形式的课程编码(如C2、H3等)

Excel提取单个字母+数字组合课程编码的方案

适用Excel 365/2021及以上版本

直接在单元格输入如下公式即可(默认原始数据存放在A1单元格,可按需调整):
=TEXTJOIN("、",TRUE,IFERROR(REGEXEXTRACT(TEXTSPLIT(A1," "),"^[A-Za-z]\d$"),""))
公式逻辑说明:

  • 先用TEXTSPLIT按空格拆分原始文本为独立片段
  • 用REGEXEXTRACT匹配符合「单个字母+单个数字」规则的片段,不符合的返回错误值
  • IFERROR过滤无效错误值,最终用TEXTJOIN将所有匹配到的编码用指定分隔符拼接
    如需匹配字母加多位数字的编码(如A12、B123),可将正则规则修改为^[A-Za-z]\d+$。

适用2019及更早的无正则函数的旧版Excel

使用VBA自定义函数实现,操作步骤如下:

  1. 按Alt+F11打开VBA编辑器,右键点击当前工作簿名称,选择「插入」-「模块」
  2. 在模块编辑框粘贴如下代码:
Function ExtractCourseCode(rng As Range) As String
    Dim regEx As Object
    Dim matches As Object
    Dim i As Integer
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.Global = True
    ' 匹配单个字母加单个数字,如需匹配多位数字,将下方规则改为 "[A-Za-z]\d+"
    regEx.Pattern = "[A-Za-z]\d"
    Set matches = regEx.Execute(rng.Value)
    For i = 0 To matches.Count - 1
        ' 顿号为编码分隔符,可按需替换为逗号、空格等
        ExtractCourseCode = ExtractCourseCode & "、" & matches(i)
    Next
    If Len(ExtractCourseCode) > 0 Then ExtractCourseCode = Mid(ExtractCourseCode, 2)
End Function
  1. 保存工作簿为「启用宏的工作簿(*.xlsm)」格式,回到工作表后输入公式=ExtractCourseCode(A1)即可提取对应单元格的所有课程编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:08