excel单元格提取字符技巧问题

来源:百度知道 编辑:UC知道 时间:2024/07/12 22:10:42
例如,我现在有以下数据
A B C
1 张小三12450
2 李小四456785
3 王小明8524
4 雷 锋782130

现在的问题是,姓名跟数字都是在同一个单元格里边,想把姓名跟后边的数字分开提取出来,分别放到B列跟C列,该怎么提取,请给位达人赐教。高分回报!
如下图

b1=left(a1,3)
c1=mid(a1,4,len(a1))
下拉填充

在B1输入:
=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))-1)

在C1输入:
=--MID(A1,LEN(B1)+1,LEN(A1)-LEN(B1))

=--RIGHT(A1,LEN(A1)-LEN(B1))
这时c1返回的数字是【数值】,可以运算用。

在C1输入:
=MID(A1,LEN(B1)+1,LEN(A1)-LEN(B1))

=RIGHT(A1,LEN(A1)-LEN(B1))
这时c1返回的数字是【文本】,不可以用来运算。

如果名字为标准的三位
b1输入=left(a1,3)
c1输入=mid(a1,4,len(a1)-3)
把b1和c1向下填充

如果不是:
1、复制表到word里选择性粘贴成文本
2、按ctrl+h调出替换,查找文字输入 ^#,即任意数字,替换为输入 -^& ,然后全部替换,结果为每个数字加上了一个-
3、把word里加上了-的文本复制到excel的一张新吧表的a列中
4、在b列输入=LEFT(A1,FIND("-",A1)-1) ,c列输入=SUBSTITUTE(MID(A1,FIND("-",A1)+1,LEN(A1)-FIND("-",A1)),"-","")
5、向下填充即可

在B1输入公式:
=LEFT(A1,LEN(A1)-LEN(-LOOKUP(,-RIGHT(A1,ROW(1:20)))))

在C1输入公式:
=-LOOKUP(,-RIGHT(A1,ROW(1:20)))

两公式向下填充即可。

我是用比较简单的思考方法。。。
水平只是普通的exce