excel二进制结果怎么转换,excel表格数字转换成二进制

首页 > 实用技巧 > 作者:YD1662023-05-12 19:09:36

但是,如果你把这个算式用于MATCH等函数内,结果却是报错的……

excel二进制结果怎么转换,excel表格数字转换成二进制(5)

excel二进制结果怎么转换,excel表格数字转换成二进制(6)

因为对Excel来说,浮点精度是可以超过15位的,可以视为高精度的浮点误差

百度后发现JS里0.1 0.2就是典型浮点误差结果为:

0.30000000000000004

由于Excel有15位精度限制,故只显示出0.3,因为15位下剩余小数位数均为0未显示出来,因此,这个性质说明Excel的浮点精度是可以高于15位的。

在实际测试中,发现部分函数能识别这种高于15位的精度差异,而且这种差异会影响公式结果,这些函数包括:

RANK、FREQUENCY、MATCH、MODE、VLOOKUP、MODE.MULT、HLOOKUP、LOOKUP

有好多同学已经被类似0.1 0.2这种不产生大量小数位数的浮点误差坑过,因为使用F9或者等号检测时都无法检测出这种高于15位的精度差异。

看到这里肯定有人会问,有没有什么函数能直接识别这种精度差?

答案是当然有,有个DELTA函数专门判断参数是不是相等的,可以识别出来,这个函数的结果为1,说明参数完全相等,为0则说明是有差异的:

excel二进制结果怎么转换,excel表格数字转换成二进制(7)

除了使用ROUND修正精度的方式外,有时候我们也可以使用像COUNTIF这种不识别高于15位的精度的函数来解决这类数值的匹配问题,因为COUNTIF的第二参数在没有无比较运算符和通配符等时,会将数字全部识别为数值型统计且不会识别高于15位的精度。

excel二进制结果怎么转换,excel表格数字转换成二进制(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.