相信大家在平时使用EXCEL时,会有如下的需求:
- 小王12345678910 (姓名 + 电话号码):如何提取电话号码?
- 字母(不等长)+ 数字:例如SPC270C,SPHC270C等,如何提取数字前的不等字符串?
上述需求,可以归纳为一个问题:如何获取第一个数字位置,从而截取所需的字符串?
结合网上搜集的各个资料,目前看到最简单、最易理解的公式为
=MATCH(0,MID(A1,ROW($1:$20),1)*0,)
假设:A1填充内容为SPC270C
1. MID(A1,ROW($1:$99),1) —— A1字符串拆解为字符数组
PS:ROW($1:$20)用于决定数组元素的个数,各位可根据各自需求改写!
2. 数值 * 0 = 0,文字 * 0 = #VALUE!(出错)
3. 利用match函数找字符“0”所在位置,由于MATCH函数只会返回第一个满足条件的字符“0”位置,因此即可知道原字符串的第一个数字位置!
以上,谢谢大家!
参考文章: