excel如何提取包含数值、文本单元格中的数字

如题所述

假设数据在A列,如下图:

则B1输入下图的公式后下拉复制填充,结果如下图:

=RIGHT(A1,LEN(A1)*2-LENB(A1))

公式解析:

LEN函数是返回字符串的长度(不管是双字节还是单字节都计为1)

LENB函数是返回字符串的长度(双字节计为2,单字节计为1)

中文字符都是双字节,而图片中的阿拉伯数字和小数点都是单字节,因此用LEN*2-LENB就是数字+小数点的位数。

知识扩展:

本例中,我上传的图片中,二、三级科目单元格前面是没有空格的(使用单元格缩进来解决不同级别科目间的缩进),而空格也是单字节,如果不是使用缩进,而是使用空格来调整缩进,则公式中可以增加TRIM函数来清除空格:

=RIGHT(TRIM(A1),LEN(TRIM(A1))*2-LENB(TRIM(A1)))

说明:

TRIM函数是清除字符串前后的空格(不包含中间的空格),如=TRIM(" 地  方  ")="地 方",中间的空格不清除。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-19
首数字出现位置
INT-CHANNEL EZP KA56435320.01 =RIGHT(A2,LEN(A2)-MATCH(TRUE,ISNUMBER(--MID(A2,ROW($1:$94),1)),0)+1)
INT-CHANNEL BED KA5632.456 5632.456
INT- CHANNEL RW KA5612332 5612332
INT-CHANNEL EZP KA56245 56245
INT-CHANNEL BED KA5632.123.258 5632.123.258
INT- CHANNEL RW KA556 556

公式为数组函数,记得按shift+ctrl+enter后才能生效:
=RIGHT(A2,LEN(A2)-MATCH(TRUE,ISNUMBER(--MID(A2,ROW($1:$94),1)),0)+1)

欢迎来到ExcelHome交流学习~~~~本回答被网友采纳
第2个回答  2012-07-19
=RIGHT(TRIM(A1),2*LEN(TRIM(A1))-LENB(TRIM(A1)))
第3个回答  2012-07-19
这所有的文本中,数字都是在最后,而且后面都不会跟其它文本内容了么?
相似回答