Excel同一列英文和数字如何分开到两列
如果数字数目固定,我们可以使用简单的LEFT、RIGHT、MID等函数来自动提取。
当Excel单元格中,既包含数字,又包含英文字母,而且数字个数不固定(比较随机,没有规律)的情况下,如何处理?
先看这个案例,如图1。
图 1
我们在单元格B1输入数组公式:
=LEFt(A1,COUNT(VALUE(MId(A1,ROW($1:$10),1))))
注意:
1、输入之后,不要立即按下回车,而是要同时按下快捷键Ctrl+Shift+Enter
这样Excel才能识别出这是数组公式。
2、如果单元格中的数字个数超过10,把公式中的10改为实际数字个数(或者更大的数)
图 2
在单元格C1输入数组公式:
=RIGHt(A1,LEN(A1)-COUNT(VALUE(MId(A1,ROW($1:$10),1))))
同样注意,公式编辑完,最后同时按下快捷键Ctrl+Shift+Enter
图 3
然后,将这两个单元格的公式向下拉自动填充即可。
单元格中数字不连续出现如何分离?
接下来,我们看看更加复杂的情况,如图4。单元格中的数字间断出现,如何统一提取出来呢?
图 4
由于Excel函数公式不支持正则表达式,通配符支持也有限。
如果希望把单元格中的英文字母全部去除掉,可以反复使用SUBSTITUTE函数,把26个字母全部替换掉。
例如,在单元格B1输入公式(这个公式有点长,但是很简单)
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOWER(A1),'a',''),'b',''),'c',''),'d',''),'e',''),'f',''),'g',''),'h',''),'i',''),'j',''),'k',''),'l',''),'m',''),'n',''),'o',''),'p',''),'q',''),'r',''),'s',''),'t',''),'u',''),'v',''),'w',''),'x',''),'y',''),'z','')
即可从混乱的字符串中得到纯数字。
类似地,我们在单元格C1输入公式
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,1,''),2,''),3,''),4,''),5,''),6,''),7,''),8,''),9,''),0,'')
即可得到纯英文字母了。(这个公式要短一点)
最后,老规矩,我们把写好的公式往下拖拉,即可自动填充得到结果。
其实,要分离数字和英文有一个更简单的方法,在word中通过查找替换来实现,把EXCEL单元格字符串内容复制粘帖到word中,打开“查找替换”对话框,点击“特殊格式”,点击“任意字母”,如图,替换为空,这样就只剩下数字了,同样的方法,点击“任意数字”,全部替换为空,这样就只剩下字母了。这样就实现了字母和数字的分离。