Excel IF函数无法返回正确的值?

ExcelIF函数条件中含有运算时不知道为什么,无法返回正确的结果,具体的看图。知道的大神解释下。图有些看不清,有个表达式=IF((5-4.97)*100<=3,”成立”... Excel IF函数条件中含有运算时不知道为什么,无法返回正确的结果,具体的看图。知道的大神解释下。
图有些看不清,有个表达式
=IF((5-4.97)*100<=3,”成立”,”不成立”)为什么返回的是不成立?
展开
 我来答
boyayes
2018-07-18 · TA获得超过4512个赞
知道大有可为答主
回答量:4231
采纳率:75%
帮助的人:1010万
展开全部

你把公式改一下,先乖100、后减。这样就行了。

=IF(5*100-4.97*100<=3,"成立","不成立")

如果先减的话,那么5-4.97并不等于0.03的,是有误差的。

你可以作个实验,把C1单元格的格式设置为 数字---16位小数,如下图:

追问
问的是为什么,不是要让它成立,实际遇到的问题肯定不会这么简单。
追答

因为精度问题。

虽然C1显示的是0.03,但是实际数值有误差,并不是以你看到的0.03为实际精度。

要解决这个问题,是可以在EXCEL的选项里进行设置的,设置为“以显示精度为准”就可以了,意思就是以显示的数值为精度,比如显示为0.03,那么精度就是0.03,就不存在你看不到的那个误差了。

以前的版本,可以这样设置:

工具——选项——重新计算,勾选“以显示精度为准”。

刚才我看了一下我用的EXCEL2016版,好像有所变动,2016版是这样设置的:

选项——高级——计算此工作簿时,勾选“将精度设为所显示的精度”。

见下图:

2016版的设置方法,就是如上图所示了,

但是请注意一下我额外画蓝圈的地方,这里的意思就是告诉你,此处的设置仅仅是对此文件生效,并不是对所有EXCEL文件生效。如果打开其它的EXCEL文件时,你会发现还是默认未勾选“将精度设为所显示的精度”这项的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式