内容提要:本文的excel截取括号内数字案例来源于群内网友的提问,老师将公式进行整理剖析,告诉大家excel提取括号内数据的公式.
卢子老师在QQ群(28246933)内回答了一个问题,里面涉及到的知识点很容易被人忽略,所以整理出来分享给大家。
下面是老师和学友之间的对话:
人生:请教下高手,=IF(AND(B12=10.1,(FIND("Ø",C12)=2)),(ABS(SUBSTITUTE(C12,"Ø",""))))与=IF(AND(B12=10.1,(FIND("R",C12)=2)),ABS(SUBSTITUTE(C12,"R","")))两个公式如何合并在一起?将三种取值方法合并到一个公式里。
今朝:提取数字?
人生:对
今朝:只有两个特殊字符?
人生:对,但是括号内数字的位数是不固定的哈
今朝:=TEXT(-SUBSTITUTE(SUBSTITUTE(C12,"Ø",),"R",),"0.000")
下面是对上面的excel截取括号内数字公式进行剖析:
1、了解负数的另一种表示方法
负数等同于带括号的数字。
2、文本数字转换是数值
通过负运算可以将文本数字转换成数值。
3、替换掉无用字符
Ø跟R是非数字,用技巧的话可以用查找替换,在公式中的替换用SUBSTITUTE
=SUBSTITUTE(SUBSTITUTE(C12,"Ø",),"R",)
完整公式应该这么写
=SUBSTITUTE(SUBSTITUTE(C12,"Ø",""),"R","")
这里有一个专业名词叫缺省,也就是默认的意思,但缺省不同于省略,而是有用逗号占位。最常见的是VLOOKUP函数的用法
=VLOOKUP(A1,B:C,2,)精确查找(用逗号占位就表示,默认这里是0)
=VLOOKUP(A1,B:C,2)模糊查找(省略逗号就表示这里什么都没,只有三个参数)
到这里就得到带括号数字,如果不懂转换请重新看1、2点。TEXT在这里的作用等同于自定义单元格格式效果,将小数点设置成3位。