if函数出错问题
B1的公式为=if(A1>0.3,0,1),在A1中输入0.3,则B1显示1,如果在A1中输入公式如=15-14.7,B1则显示0,这是为什么呢,请高手赐教...
B1的公式为=if(A1>0.3,0,1),在A1中输入0.3,则B1显示1,如果在A1中输入公式如=15-14.7,B1则显示0,这是为什么呢,请高手赐教
展开
4个回答
展开全部
Excel在浮点运算中会有误差。
如果要精确计算,可以把公式=15-14.7改为:
=ROUND(15-14.7,2),就可以避免误差了。
以下是微软官方的解释:
Microsoft Excel 是按照与存储和计算浮点数有关的 IEEE 754 规范设计的。IEEE 的全称是 Institute of Electrical and Electronics Engineers(电气和电子工程师协会),此国际机构确定计算机软硬件的标准和其他许多标准。754 规范是一个广泛采用的规范,它描述了在二进制计算机中应如何存储浮点数。它之所以得到广泛采用,原因是它允许在合理的空间量中存储浮点数,以及相对快速地进行计算。如今,大多数执行浮点运算的基于 PC 的微处理器(包括 Intel、Motorola、Sun 和 MIPS 处理器)在浮点单元和数值数据处理器中均采用 754 标准。
在存储数字时,对应的二进制数字可以表示每一个数字或分数。例如,分数 1/10 在十进制中可以表示为 0.1。但是,二进制格式的相同数字将变为重复二进制小数
0001100110011100110011(等类似数字)
并且可以无限重复。此数字无法用有限的空间量来表示。因此,此数字在存储时向下舍入大约 -2.8E-17。
如果要精确计算,可以把公式=15-14.7改为:
=ROUND(15-14.7,2),就可以避免误差了。
以下是微软官方的解释:
Microsoft Excel 是按照与存储和计算浮点数有关的 IEEE 754 规范设计的。IEEE 的全称是 Institute of Electrical and Electronics Engineers(电气和电子工程师协会),此国际机构确定计算机软硬件的标准和其他许多标准。754 规范是一个广泛采用的规范,它描述了在二进制计算机中应如何存储浮点数。它之所以得到广泛采用,原因是它允许在合理的空间量中存储浮点数,以及相对快速地进行计算。如今,大多数执行浮点运算的基于 PC 的微处理器(包括 Intel、Motorola、Sun 和 MIPS 处理器)在浮点单元和数值数据处理器中均采用 754 标准。
在存储数字时,对应的二进制数字可以表示每一个数字或分数。例如,分数 1/10 在十进制中可以表示为 0.1。但是,二进制格式的相同数字将变为重复二进制小数
0001100110011100110011(等类似数字)
并且可以无限重复。此数字无法用有限的空间量来表示。因此,此数字在存储时向下舍入大约 -2.8E-17。
展开全部
这是文本了,不是数值了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
得看你具体表格,我估计你举这个例子应当不会出错。
楼上不明白就别乱贴东西,浪费资源!
楼上不明白就别乱贴东西,浪费资源!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
shxuzy 的回答是正确的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询