如何提取单元格文本字符串中的首个与末尾数字?求适用公式
提取字符串中的首个和末尾数字
| A | B | C | |
|---|---|---|---|
| 1 | first number | last number | |
| 2 | Top1-5 | 1 | 5 |
| 3 | Top5-10 | 5 | 10 |
| 4 | Top11-15 | 11 | 15 |
需要在Column B中提取Column A单元格文本字符串里的首个数字,在Column C中提取Column A单元格文本字符串里的末尾数字。
适配你的固定字符串格式(TopX-Y)
如果你的字符串都是Top+数字-数字的固定结构,用以下公式最简便:
- B列提取首个数字(在B2输入后下拉填充):
=INDEX(TEXTSPLIT(A2,{"Top","-"}),2)+0 - C列提取末尾数字(在C2输入后下拉填充):
=INDEX(TEXTSPLIT(A2,{"Top","-"}),3)+0
通用场景(前缀不固定)
若字符串前缀无固定规律,只要包含数字-数字结构,可使用通用公式:
- B列提取首个数字:
=--MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),FIND("-",A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))) - C列提取末尾数字:
=--MID(A2,FIND("-",A2)+1,LEN(A2)-FIND("-",A2))
说明:公式中的--用于将提取到的文本型数字转换为数值型,确保数字格式正常显示。
内容的提问来源于stack exchange,提问作者Michi
相关产品推荐
相关产品推荐

