Excel怎么只提取表格中的数字?
发布时间:2015-05-24 14:32:03 作者:佚名 我要评论
Excel怎么只提取表格中的数字?字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字,具体方法请看下文,需要的朋友可以参考下
Excel 提取数字的方法
1、汉字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字。如图:在B2输入“=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),20)”
2 、把单元格里面所有的数字都提出来。可以使用宏。先打开VBA编辑器。工具——宏——visual basic 编辑器
3、在编辑器里点击插入——模块。在模块那里输入如下代码:
复制内容到剪贴板
- Function zzsz(xStr As String) As StringDim i As IntegerFor i = 1 To Len(xStr)If IsNumeric(Mid(xStr, i, 1)) Then zzsz = zzsz & Mid(xStr, i, 1)NextEnd Function
4、回到工作表,在B2单元格那里输入“=zzsz(A2)”。就可以用VBA把A2单元格里所有的数字都提取出来了,如图所示。
5、指定从第几个数组提取开始。也就是说在不连续的那些数字中,从第几次出现的数组开始提取。同样在模块那里输入如下代码:
复制内容到剪贴板
- Function GetNums(rCell As Range, num As Integer) As StringDim Arr1() As String, Arr2() As StringDim chr As String, Str As StringDim i As Integer, j As IntegerOn Error GoTo line1
- Str = rCell.TextFor i = 1 To Len(Str)chr = Mid(Str, i, 1)If (Asc(chr) < 48 Or Asc(chr) > 57) ThenStr = Replace(Str, chr, " ")End IfNext
- Arr1 = Split(Trim(Str))ReDim Arr2(UBound(Arr1))For i = 0 To UBound(Arr1)If Arr1(i) <> "" ThenArr2(j) = Arr1(i)j = j + 1End IfNext
- GetNums = IIf(num <= j, Arr2(num - 1), "")line1:End Function
6、在回到单元格那里输入“=Getnums(A3,2)”就可以提取第几次出现的数组了,如图所示。
7、以上是我平时和大家学习得的经验和大家分享,希望对大家有帮助。如果对你有用处的话,请投我一票以示鼓励。
相关文章
- excel中的单元格如何把数字设置为万元?相信很多朋友都不是很清楚吧,其实方法很简单的,下面小编就为大家详细介绍一下,一起来看看吧2015-05-08
- Excel表格对指定内容进行批量替换操作的教程?需要修改excel中的一项信息,而这项信息出现的次数又较多时,显然逐个修改很是麻烦,下面分析那个excel表格内容批量替换的教2015-05-06
- 在excel中怎么用函数自动填充随机数字?相信很多朋友都不是很清楚吧,下面小编就为大家介绍一下,不会的朋友一起来学习吧2015-04-23
- 下面小编为大家送来了了excel中将阿拉伯数字转换成中文大写数字的函数方式,教程比较实用,对于经常使用excel的朋友非常的有帮助,好了,下面我们一起来学习吧2014-12-26
如何在Excel中让数字里第一个为0的数字显示出来的图文方法
好多人在运用Excel是显示数字的第一个数字为0是总是显示不出来.2011-08-03
最新评论