EXCEL如何只引用数字+文本单元格里数值部分?

来源:百度知道 编辑:UC知道 时间:2024/06/06 08:26:03
如: A1~A5分别为1A、BB2、33CCC、DDD444、E5555,如何在B1~B5里用公式,引用成1、2、33、44、5555。一格一格的输公式就免了,我需要那种在B1里输一次公式就能直接复制下去的,因为要处理的数据很多。MID、FIND这些不管用。
一楼VBA不懂;二楼不能引用分开的数字,如A1A2A3;三楼那个公式复制不全

数字是不是紧挨着(我是说,没有34JHJ7这种情况吧)?
B1=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW($1:$99)))

在VBA中插入一个用户模块,并输入下面代码,这是一个自定义函数。
假设你的数据在A列,第一个位置是A1单元格,你可以在B1中使用这个自定义函数 =hhh(a1)
向下复制就行了。

Function hhh(a As Range)
智能计算混合录入中的数字
10: s = s + 1
If s > Len(a) Then Exit Function
If Mid(a, s, 1) Like "[0-9]" Then
t = Val(Mid(a, s, Len(a)))
hhh = hhh + t
tt = Len(Str(t)) - 1
s = s + tt
End If
GoTo 10
End Function

建议看看微软官网的一会MVP专家对该方法的讲解,我还没来得及试,希望你可以研究一下,能有所帮助
http://office.microsoft.com/zh-cn/excel/HA011549012052.aspx