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

如何在Excel中将含NCT的字符串提取至对应行的新列?

从Excel列提取含NCT的字符串到新列的实现方法

方法一:Excel公式(适合普通用户)

假设你的数据在A列,要在B列生成提取结果,直接在B1单元格输入以下公式:
=TEXTJOIN("; ",TRUE,IF(ISNUMBER(SEARCH("NCT",TRIM(MID(SUBSTITUTE(A1,";",REPT(" ",LEN(A1))),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,";",""))+1))*LEN(A1)-LEN(A1)+1,LEN(A1)))),TRIM(MID(SUBSTITUTE(A1,";",REPT(" ",LEN(A1))),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,";",""))+1))*LEN(A1)-LEN(A1)+1,LEN(A1))),""))

  • 旧版Excel输入完成后,需按 Ctrl+Shift+Enter 触发数组公式;新版Excel直接回车即可生效
  • 逻辑说明:先把分号替换为空格拆分每段内容,逐个检查片段是否包含NCT,最后把符合条件的内容用分号拼接输出

方法二:Power Query(处理大量数据更高效)

  1. 选中「Trial identifier」数据列,点击顶部菜单栏「数据」→「从表格/区域」,将数据加载到Power Query编辑器
  2. 切换到「添加列」选项卡,点击「自定义列」,在编辑框中输入:
    =Text.Combine(List.Select(Text.Split([Trial identifier], ";"), each Text.Contains(_, "NCT")), "; ")
  3. 点击「确定」后,再点击「关闭并上载」,提取好的NCT编号会自动生成在新的表格列中

方法三:VBA宏(适合批量自动化操作)

  1. 按 Alt+F11 打开VBA编辑器,右键点击左侧工作表名称,选择「插入」→「模块」
  2. 在模块中粘贴以下代码:
Sub ExtractNCT()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim arr As Variant
    Dim result As String
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    For i = 1 To lastRow
        arr = Split(ws.Cells(i, "A").Value, ";")
        result = ""
        For Each item In arr
            If InStr(Trim(item), "NCT") > 0 Then
                If result <> "" Then result = result & "; "
                result = result & Trim(item)
            End If
        Next item
        ws.Cells(i, "B").Value = result
    Next i
End Sub
  1. 返回Excel界面,按 Alt+F8,选中「ExtractNCT」宏并点击「执行」,B列会自动填充提取出的所有NCT编号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:10:14