Excel中8个必会的高效提取数字法,你知道几个?

时间:2022-10-12       来源: IT之家       阅读量:6140   

原标题:《抽取数字的8种必要且高效的方法你认识几个

大家好,我是一个沉迷于学习VBA的小酷~

最近,我有一个小粉丝——葛源同学。

应葛源的要求,今天我给大家简单介绍一下——用函数从单元格中快速提取数字!

01.数字和汉字▋数字和汉字之间有分隔符。

amp分类的方法大家都很熟悉,这里就不赘述了~

这里我们也可以使用find函数来查找分隔符。

在单元格C2中输入如下公式,然后下拉并填充它。

=左—1)

小分析:用find函数找到分隔符的位置,然后用left函数从左边提取数字。

▋数字和汉字之间没有分隔符。

数字在汉字的左边。

如上,你也可以使用快捷键来排序。

我们还可以使用lenb+len函数获取位置信息,提取号码。

下图中,len函数以英文为一个字节,lenb函数以汉字为两个字节。

因此,我们在单元格F2中输入以下公式,并将其下拉以填充它:

=LEFT*2—LENB(E2))

小分析:

LEN *2—LENB是获取左数位的个数,用left函数截取左数位。

数字在汉字的右边。

当数字在汉字右侧时,我们可以使用函数len+lenb+mid。

输入公式如下:

=中长(H2)+1.99)

小分析:

LENB —LEN主要获取左边文本的编号,加1后就是第一个数字出现的位数。

从第一个位置截取到99位。

数字是汉字的一部分。

您需要使用带有数组公式的查找函数来完成此操作。

公式如下:

=—查找,行(:)))

小分析:

这里,SEARCHB函数的通配符搜索函数用于查找字符串中的数字。

因为公式是数组公式,所以需要根据执行数组运算。

02.数字中夹杂着字母和汉字。

当数字,字母和汉字混合在一起时,我们需要使用复杂的数组公式。

公式需要按住才能进行数组运算,公式的左右两边会出现花括号,

如果你是Office 365的最新预览版,按回车即可。

▋提取字符串左右两边的连续数字。

号码在最右边。

=—查找))

号码在最左边。

=—查找))

小分析:

首先使用right函数从右到左截取长度为1到15的子串,然后使用负运算将文本转换为错误值,将数值转换为负数。

然后用lookup函数得到数组的最后一个值,最后把负数变成正数。

从左侧抽取数字的原理和从右侧抽取数字的原理是一样的。

▋的号码随处可见。

借助查找功能。

=—LOOKUP—1,K2amp1/17)),行(:)))

小分析:

首先,使用ROW函数构造一个0—9的数值数组:

第1行

1/17等于0.0588235294117647,是包含从0到9的所有数字的值它连接在文本的末尾,以防止FIND函数返回错误值,因为在搜索数字时,文本缺少相应的数字

使用FIND函数查找文本中10个数字的位置,使用MIN函数返回数字在文本中出现的最小位置,即可以获得第一个数字的位置。

使用MID函数,从第一个数字位置开始,依次向右截取15个长度为1~15的子串,加上负号,将数字转换成负数,将文本转换成错误值。

最后用查找函数返回最大的数,然后用负号把负数转换成正数。

借助max函数。

公式如下:

=MAX),列($A:$D),0))

小分析:

首先,使用len函数确定字符串中最长的数字。

Row ——13这个数字可以大于字符串中最长的数字,目的是截取下一个子字符。

left—从第一个字符开始,依次从右边截取1~13个子字符串。

列——:D取决于字符串中的最大位数。

Right),column($ a:$ d)——从左到右截取1~13个子字符,然后在这个数组的基础上从右到左截取1~4个子字符此时是13*4的阵列

公式以—为前缀,以便将文本转换为错误值。

将错误值转换为0,并从数组中选择最大值以获得最大值。

还是讲了一会,我问远歌:

从细胞中提取数字一般是怎么做的。

声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。