excel 如何将单元格中的数字和文字分离,各成一列?
如一列下各单元格是这样的:A1:张三4567A2:234569王小明如何把它变成:A1:张三B1:4567A2:王小明B2:234569分别在哪行的顺序都不变(数据有N行...
如一列下各单元格是这样的:
A1:张三4567
A2:234569王小明
如何把它变成:
A1:张三 B1:4567
A2:王小明 B2:234569
分别在哪行的顺序都不变(数据有N行)
可以的话尽量详细一些哦.万分感激!!!
回答第一位大哥,我有N行啊. 展开
A1:张三4567
A2:234569王小明
如何把它变成:
A1:张三 B1:4567
A2:王小明 B2:234569
分别在哪行的顺序都不变(数据有N行)
可以的话尽量详细一些哦.万分感激!!!
回答第一位大哥,我有N行啊. 展开
4个回答
展开全部
呵呵,这个问题好像刚刚有人问过了,不知是不是同一个人,不管了,挣分了,合适的话我们以后经常相互学习。
我水平比较低,只知道一个比较麻烦点的办法:
首先,在A列的数字和文本之间都加上一个空格,
变成A1:张三 4567 A2:234569 王小明
然后在B1中输入公式:=LEFT(A1,FIND(" ",A1)-1)
在C1中输入公式:=RIGHT(A1,LEN(A1)-FIND(" ",A1))
并将上述公式分别下拉复制到B列、C列的其他单元格中,这时你会发现数字和汉字已经分成了两列,只是每列都是数字和汉字的混合而已
最后,在D1中输入公式:=IF(TYPE(VALUE(B1))=16,B1,C1)
在E1中输入公式:=IF(TYPE(VALUE(B1))=1,B1,C1)
并将上述公式下拉复制到D列、E列的其他单元格中
则D、E两列就是你要的结果
这样操作起来在第一步加空格的时候是有点麻烦,但比你一个一个的复制粘贴还是要省事许多,不知道能不能帮到你。
补充:呵呵,刚刚跟别人学了个比较简单的方法,告诉你吧
在B1中输入公式:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))
C1中输入公式:=SEARCH(B1,A1)
D1中输入公式:=REPLACE(A1,C1,LEN(B1),"")
并将上述公式下拉复制到B、C、D列的其他单元格中
则B列和D列就是你要的数据
我水平比较低,只知道一个比较麻烦点的办法:
首先,在A列的数字和文本之间都加上一个空格,
变成A1:张三 4567 A2:234569 王小明
然后在B1中输入公式:=LEFT(A1,FIND(" ",A1)-1)
在C1中输入公式:=RIGHT(A1,LEN(A1)-FIND(" ",A1))
并将上述公式分别下拉复制到B列、C列的其他单元格中,这时你会发现数字和汉字已经分成了两列,只是每列都是数字和汉字的混合而已
最后,在D1中输入公式:=IF(TYPE(VALUE(B1))=16,B1,C1)
在E1中输入公式:=IF(TYPE(VALUE(B1))=1,B1,C1)
并将上述公式下拉复制到D列、E列的其他单元格中
则D、E两列就是你要的结果
这样操作起来在第一步加空格的时候是有点麻烦,但比你一个一个的复制粘贴还是要省事许多,不知道能不能帮到你。
补充:呵呵,刚刚跟别人学了个比较简单的方法,告诉你吧
在B1中输入公式:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))
C1中输入公式:=SEARCH(B1,A1)
D1中输入公式:=REPLACE(A1,C1,LEN(B1),"")
并将上述公式下拉复制到B、C、D列的其他单元格中
则B列和D列就是你要的数据
TableDI
2024-07-18 广告
2024-07-18 广告
仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击53步自动完成表格匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
2015-10-07 · 知道合伙人软件行家
关注
展开全部
假设您的原始数据是以字符开始,后面接数字。那么关键是要找到第一个数字的位置,然后用left和right结合len函数就可以实现了。
关于找第一个数字的位置,网上有用数组公式来做,我觉得很难理解。简单点还是做一个自定义函数。自定义函数的代码如下:
Function mYf(A As String) As Integer
Dim I, J As Integer
Dim mYs As String
I = Len(A)
For J = 1 To I
mYs = Mid(A, J, 1)
If Asc(mYs) >= Asc(0) And Asc(mYs) <= Asc(9) Then
mYf = J
Exit Function
End If
Next J
mYf = J + 1 '如果找不到数字,就等于字符长度+1
End Function
实现的公式如图所示:
结果如图所示:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做好了,说明很麻烦的,直接给你发邮件,告诉我你的信箱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询