excel 将一列中的"字母和数字"分在两列?

2024-12-01 22:51:01
推荐回答(4个)
回答1:

一、用Word辅助
1、首先,新建一个Word文档,把那一列内容复制到新建的Word文档;
2、按“Ctrl+H”打开替换对话框,在“查找内容”中输入“[0-9]”,“替换为”内不填任何内容,勾选“常规”中的“使用通配符”,点“全部替换”,再把替换后得到的字母复制到Excel中的另一列就得到分开的字母了;
3、按“Ctrl+Z”撤销上次操作,按“Ctrl+H”打开替换对话框,在“查找内容”中输入“[a-zA-Z]”,“替换为”内不填任何内容,勾选“常规”中的“使用通配符”,点“全部替换”,再把替换后得到的数字复制到Excel中的另一列就得到分开的数字了。
二、用Excel的公式应该也能达到目的,不过时间关系,等我有时间想到了,再跟您说。
希望对您有所帮助。

回答2:

按你以上所给例子,假如它们都在A列,格式是 字母+数字,则你在B列输入公式,可取得数字

=LOOKUP(9E+307,--MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),ROW(INDIRECT("1:"&LEN(A1)))))

然后,在C列输入公式可取得字母
=left(a1,len(a1)-len(b1))

以上均可向下拖拉公式

回答3:

我看一二楼说的都不错!
缺点一楼的得转换,二楼的公式太长
在B1中输入公式:
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),65536)
是不是短了点呢?
在C1中也是输入公式:=LEFT(A1,LEN(A1)-LEN(B1))
把我的公式复制到你的单元格中试一下,我刚试过没问题!

回答4:

假设你的数据在A列(从A1起就是),我的建议如下:
B列先判断第一个数字出现的位置,则B1输入
=MIN(IF(ISERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1)),"",FIND({0,1,2,3,4,5,6,7,8,9},A1))) 数组公式,三键下拉.

这样B1就判断出了第一个数字出现的位置了.比如A1=abc301,刚才这个公式求出的结果是4

第二步:截取字母
C1=MID(A1,1,B1-1)

第二步:截取数字
D1=MID(A1,B1,LEN(A1)*1+1-B1)

OVER!

例:
A1=abc301
那么用我刚才的公式,B1 C1 D1依次求出的结果如下:
B1=4
C1=abc
D1=301

PS:我回答结束后发现楼上那个兄弟的公式更简单,且是正确的.