视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
excel混合文本提取数字 13个步骤来解决
2022-03-31 15:47:05 责编:小OO
文档


1、首先要分析数据内容,根据不同的类型,使用不同的方法。

2、分析这个表格,可以发现,除了数字外,就是汉字,在双字节字符中,每个汉字算两个字节,利用此特点,可以算出有多少个汉字、多少个数字,单字节字符数用LEN函数:=LEN(A2)。

3、双字节字节数用LENB函数,注意下两者的区分,单字节指字符个数,双字节指字节个数:=LENB(A2)。

4、二者相减,即可得到文字的个数:=LENB(A2)-LEN(A2)。

5、再用总字符数减去文字个数,即得到要提取出来的数字个数:=LEN(A2)-(LENB(A2)-LEN(A2)),去掉括号,合并起来,公式为:=LEN(A2)*2-LENB(A2)。

6、知道了数字个数,再知道数字开始的位置,就可以用MID函数将数字提取出来了,但是现在不知道数字是从什么位置开始的,可以使用SEARCHB双字节查找函数+通配符?来查询单字节出现的位置:=SEARCHB(?,A2)。

7、这样提取公式就有了,提取函数也要用双字节函数:=MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),如果用单字节函数也可以,但公式稍长些:=MID(A2,INT(SEARCHB(?,A2)/2)+1,LEN(A2)*2-LENB(A2))。

8、提取结果是文本格式,如果要转为常规的数字格式,可以在公式前加上--,或者*1,来转换:=--MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),转换格式后,可以进行下一步的统计运算。

9、如果文字中有空格,直接提取就会出去,需要对原来的内容进行去空格替换后,再提取:=--MIDB(SUBSTITUTE(A2, ,),SEARCHB(?,SUBSTITUTE(A2, ,)),LEN(SUBSTITUTE(A2, ,))*2-LENB(SUBSTITUTE(A2, ,)))。

10、但是上面的方法,只能用于除了数字就是文字的内容提取,如果除此之外,还有其它的字母、符号等单字节字符,就会出错。

11、对于这种不定型的,可以用数组公式进行提取,从每个字符开始,取出1~若干个字符(比如10个),再加上运算符号进行判断,取出的是不是数值,再用MAX函数从中取出是数值的最多数字:=MAX(IFERROR(--MID(A2,ROW($1:$30),COLUMN($A:$J)),)),在输入数组公式时,需要同时按住Ctrl+Shift+Enter结束公式编辑,公式会自动生成一对“{}”。

12、当然,也可以不用上面的数组公式,利用LOOKUP函数的向后兼容性,来提取出数字:=-LOOKUP(1,-MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&01234567;)),ROW($1:$10))),此公式先判断数字出现的最小位置,再从此位置开始依次取出若干个字符,最后用LOOKUP函数取出最长数字串的那个数字,即达目的。

13、虽然利用公式,可以从各种不同的混合文本中找出规律提取出数字,但是还是应该养成良好的习惯,在制作表格时,就将其分在不同的列中,有助于后续统计。

下载本文
显示全文
专题