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

如何用Excel公式拆分单元格中的数字与文本组合内容?

Excel公式拆分单元格中的数字与文本组合内容

可以通过Excel公式实现这类拆分需求,以下分两种版本给出解决方案:

一、Excel 365/2021及以上版本(支持TEXTSPLIT函数)

这类版本可借助TEXTSPLIT快速拆分分隔符,再提取每个片段的数字和文本:

1. 提取第一个数字(B2单元格)

=IFERROR(--LEFT(INDEX(TEXTSPLIT(A2,"/"),1),MATCH(FALSE,ISNUMBER(--MID(INDEX(TEXTSPLIT(A2,"/"),1),ROW(INDIRECT("1:"&LEN(INDEX(TEXTSPLIT(A2,"/"),1)))),1)),0)-1),"")

2. 提取第一个文本(C2单元格)

=IFERROR(MID(INDEX(TEXTSPLIT(A2,"/"),1),MATCH(FALSE,ISNUMBER(--MID(INDEX(TEXTSPLIT(A2,"/"),1),ROW(INDIRECT("1:"&LEN(INDEX(TEXTSPLIT(A2,"/"),1)))),1)),0),LEN(INDEX(TEXTSPLIT(A2,"/"),1))),"")

3. 提取后续数字和文本

  • 第二个数字(D2):将公式中的INDEX(...,1)改为INDEX(...,2)
  • 第二个文本(E2):同样将INDEX(...,1)改为INDEX(...,2)
  • 以此类推,对应第N组内容时,将1替换为N即可

二、旧版Excel(无TEXTSPLIT函数)

使用FILTERXML拆分分隔符,再提取数字和文本:

1. 提取第一个数字(B2单元格)

=IFERROR(--LEFT(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]"),MATCH(FALSE,ISNUMBER(--MID(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]"),ROW(INDIRECT("1:"&LEN(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]")))),1)),0)-1),"")

2. 提取第一个文本(C2单元格)

=IFERROR(MID(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]"),MATCH(FALSE,ISNUMBER(--MID(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]"),ROW(INDIRECT("1:"&LEN(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]")))),1)),0),LEN(FILTERXML("<t><s>"&SUBSTITUTE(A2,"/","</s><s>")&"</s></t>","//s[1]"))),"")

3. 提取后续内容

将公式中的//s[1]替换为//s[2]、//s[3]等,即可对应第N组的数字和文本。

注意事项

  • 公式中的--用于将提取的文本型数字转换为数值型,若不需要可直接去掉
  • 第二个示例中6CA对应目标列CS应为输入笔误,公式会正确提取CA
  • 若单元格内容为空,公式会返回空值,符合目标格式要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:01:08