前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel揭秘23:公式结果产生的陷阱

Excel揭秘23:公式结果产生的陷阱

作者头像
fanjy
发布2020-06-17 19:04:59
7120
发布2020-06-17 19:04:59
举报
文章被收录于专栏:完美Excel

在使用IF函数时,我们经常会用到下面的结构形式:

=IF(A1>1, B1, “”)

也就是说,如果大于指定值,则输入另一个指定值,否则为空。

然而,这会带来一些潜在的问题。例如,在单元格B2中输入数值,在单元格B3中有一个公式,当B2中的值大于3时,输入B2中的值,否则输入空,如下图1所示。

图1

可以看到,一切都很完美!

但是,修改单元格B2中的数值为1,此时的结果如下图2所示。

图2

看到了什么?单元格B3中的值大于0,判断为TRUE;大于1000000,也判断为TRUE。这是怎么回事?

还是回到公式:

=IF(B2>3,B2,"")

当条件不满足时,会在单元格中输入空。双引号里面没有包含什么,Excel将其视为文本,虽然什么也没有,但它仍然是一个文本字符串。而Excel认为文本大于数值,因此虽然看起来是空值,但其比任何数字都大。这也是在上图2所示的工作表中看到的其比1000000都还大的原因。

此时,如果我们在工作表中筛选大于0的值,那么由公式生成的空单元格也会包含在其中。

当然,我们可以直接在公式中指定0:

=IF(B2>3,B2,"0")

然而,如果我们不喜欢这样让0显示出来,而是喜欢在这种情形中让单元格看起来为空呢?可以使用条件格式,如下图3所示。

图3

当单元格B2中的值大于3时,B3中的值为B2中的值,否则为空(其实,此时该单元格中值为0,只是设置其字体颜色为白色,看不见而已)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档