发布网友 发布时间:2022-04-23 07:21
共1个回答
热心网友 时间:2023-07-08 23:58
Excel 提取数字的方法
1、汉字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字。
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
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
1、首先将单元格格式设置成文本格式,可以通过右键或其他方式进行设置。
2、转成文本后,再将单元格双击一下或者在数字前面加个单引号:'(注意这个单引号是英文输入法状态下输入的)。
以上这个方法操作比较简单,但是对于数据量比较大的场合,就不再试用了,一个一个的处理效率显然太低,采用分列的方法可以很快的处理所有单元格,这就是下面为大家介绍的这个方法。
1、首先选中需要处理的单元格或列,这一步是必须的,接着点击分列按钮或菜单。
2、一直点击“下一步”直到选择格式那一步。
3、在列数据格式一栏中选择“文本”格式,然后点击“完成”按钮即可。