excel提取数字的方法步骤详解

 我来答
黑科技1718
2022-06-05 · TA获得超过5833个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:80.1万
展开全部

  当我们在使用 Excel 进行办公的时候,我们可能会遇到一些数据需要进行特殊提取的情况,下面我就为你们介绍excel怎么提取数字。希望对你有帮助!

  excel提取数字的办法

  1、汉字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字。如图:在B2输入“=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),20)”


excel提取数字的步骤图1

  2 、把单元格里面所有的数字都提出来。可以使用宏。先打开VBA编辑器。工具——宏——visual basic 编辑器


excel提取数字的步骤图2

  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单元格里所有的数字都提取出来了,如图所示。


excel提取数字的步骤图3

  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


excel提取数字的步骤图4

  6、在回到单元格那里输入“=Getnums(A3,2)”就可以提取第几次出现的数组了,如图所示。


excel提取数字的步骤图5 猜你喜欢:

1. excel表格如何提取单元格数字

2. excel利用函数取整数的教程

3. 怎么使用excel进行信息的提取

4. excel如何提取数字

5. excel怎么提取数字

6. excel 利用公式提取数字的方法

7. excel工作簿怎么单独提取一个表单

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式