文中总结了4类从包含有中文、字母、数字的单元格数据中只提取数字的公式。(使用的时候把单元格名称改为实际的单元格名称即可)。
1.提取文本左侧数据
当单元格中数字在左侧,文字内容在右侧时,我们可以使用一下公式来将数字快速提取出来。
函数公式:
=LEFT(A2,2*LEN(A2)-LENB(A2))
2.提取文本右侧数据
当单元格中数字在右侧,中文内容在左侧,我们可以使用该公式。
函数公式:
=RIGHT(A2,2*LEN(A2)-LENB(A2))
3.提取文本中的数据
在单元格中有许多中文,而数字则在中间的话,我们应该如何快速提取其中的数字呢?
函数公式:
=MIDB(A2,SEARCHB("?",A2),2*LEN(A2)-LENB(A2))
4.混合文本中提取数据
如果在单元格中出现了中文、字母、数字等字符,但我们只希望提取其中的数字,可以试试这个公式。
函数公式:
=SUM(MID(0&A2,LARGE(ISNUMBER(--MID(A2,ROW($1:$1024),1))* ROW($1:$1024),ROW($1:$308))+1,1)*10^ROW($1:$308)/10)
在录入公式完成后,使用组合键「Ctrl + Shitf + 回车」。
5.原理
在 Excel 中,统计文本的长度可以用 Len
函数和 LenB
函数,它们都只一个参数;其中,前者把字母、数字、空格和汉字都算一个字符,后者把字母、数字、空格算一个字节、把汉字算两个字节。
二者结合可以获取空与空格的长度,字母、数字与汉字的长度,半角与全角标点符号的长度,再结合字符串函数截取文本中所有字母数字和截取文本中所有汉字或者数字了。
说明
LEN() 返回文本字符串中的字符个数。
LENB ()返回文本字符串中用于代表字符的字节数。
6.举例
len()函数统计文本“Excel 2016 教程”中共有 5 个字母,4 个数字、2 个空格和 2 个汉字,所以长度为 13,说明 Len函数把字母、数字和汉字都算一个字符。
lenb()函数统计文本“Excel 2016 教程”中,字母、空格和数字共 11 个,汉字两个,每个汉字 LenB 算两个字节,因此返回 15。
1、截取文本中的字母和数字
1、假如要截取“Excel 2016 教程”中的字母和数字。把公式 =LEFT(A1,LEN(A1)-(LENB(A1)-LEN(A1))
复制到 B1 单元格。
2、公式说明:
A、公式用 LENB(A1)-LEN(A1)
计算有多少个汉字。LENB(A1) 返回文本“Excel 2016 教程”的总字节数 15,再用 LEN(A1) 返回总字符数 13,15 - 13 = 2,每个汉字占两个字节,用总字节数减总字符数,恰好求得汉字个数。提示:把每个汉字都分一个字节出去还剩一个字节更好理解。
B、再用字符总数减汉字个数,即 LEN(A1)-(LENB(A1)-LEN(A1)),恰好求得字母和数字总数 11;最后用 Left 截取,即 =LEFT(A1,11),因此最后返回 Excel 2016。
2、截取文本中的汉字
1、假如要截取“Excel 2016 教程”中的汉字。把公式 =RIGHT(A1,LENB(A1)-LEN(A1))
复制到 B2 单元格,按回车,返回“教程”二字
2、公式说明:LENB(A1)-LEN(A1)
恰算得汉字的个数 2,上面已经分析过;然后再用从右边开始截取的 Right函数,即 =RIGHT(A1,2),因此返回“教程”二字。