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

如何批量提取单元格中逗号与下划线间的字母数字项目前缀?

我来帮你搞定这个批量提取的问题!针对你说的这种逗号分隔、每个条目都是「代码_用户名」格式的字符串,我整理了几个实用方案,你可以根据自己的Excel版本和需求来选:

方案1:Excel动态数组公式(适用于365/2021及以上版本)

如果你的Excel支持动态数组,这个方法最省心,直接输入公式就能一次性返回所有目标代码,不用下拉填充。

假设你的目标字符串在A1单元格,用这个公式:

=LET(
    str, A1&",",
    comma_pos, FIND(",", str, SEQUENCE(LEN(str))),
    underscore_pos, FIND("_", str, comma_pos),
    codes, MID(str, comma_pos+1, underscore_pos-comma_pos-1),
    FILTER(codes, codes<>"")
)

公式说明:

  • A1&",":给字符串末尾补个逗号,确保最后一个条目也能被正确识别
  • comma_pos:找出所有逗号的位置
  • underscore_pos:对应每个逗号,找到后面第一个下划线的位置
  • MID(...):提取逗号和下划线之间的内容
  • FILTER(...):过滤掉空值,只保留有效的代码

你也可以用更简洁的版本:

=TEXTSPLIT(TEXTBEFORE(A1&",", "_", SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1,"_","")))), ",,", , TRUE)
方案2:Power Query(批量处理多行数据首选)

如果要处理整列的多行数据,Power Query绝对是最佳选择,操作一次就能批量搞定所有行,还支持后续刷新更新。

步骤如下:

  1. 选中包含数据的列(比如A列),点击「数据」选项卡 → 「从表格/区域」(如果提示表格有标题,根据实际情况选择)
  2. 进入Power Query编辑器后,选中目标列,点击「添加列」→ 「自定义列」,输入公式:
    =List.Transform(Text.Split([Column1], ","), each if Text.Contains(_, "_") then Text.BeforeDelimiter(_, "_") else null)
    
    注意把[Column1]换成你实际的列名(比如你的列叫「用户名」就写[用户名])
  3. 点击自定义列右侧的扩展箭头,选择「扩展到新行」,这样每个代码会单独占一行
  4. 最后点击「关闭并上载」,结果会自动放到新的工作表里,以后数据源更新了,右键点击表格选择「刷新」就能同步最新结果
方案3:VBA自定义函数(兼容旧版Excel)

如果你的Excel版本比较旧,不支持动态数组,那就写个自定义函数来实现:

  1. 按Alt+F11打开VBA编辑器,右键点击左侧的工作簿名称,选择「插入」→ 「模块」
  2. 粘贴下面的代码:
Function ExtractCodes(inputStr As String) As Variant
    Dim arr() As String
    Dim result() As String
    Dim i As Integer, count As Integer
    
    arr = Split(inputStr, ",")
    count = 0
    
    For i = LBound(arr) To UBound(arr)
        If InStr(arr(i), "_") > 0 Then
            count = count + 1
            ReDim Preserve result(1 To count)
            result(count) = Left(arr(i), InStr(arr(i), "_") - 1)
        End If
    Next i
    
    ExtractCodes = result
End Function
  1. 回到Excel,在单元格输入=ExtractCodes(A1),旧版Excel需要按Ctrl+Shift+Enter作为数组公式输入,新版直接回车就行;如果想把结果横向排列,用=TRANSPOSE(ExtractCodes(A1)),下拉填充就能批量处理多行数据

这三个方案各有侧重:Power Query适合批量处理多行,动态数组公式适合新版Excel快速提取,VBA兼容所有版本,你可以根据自己的情况选~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:29:01