今天要跟大家解释 Excel 中的空单元格和公式设置出来的空 "" 到底有什么区别,不同的场景下怎么应用和设置。
案例:以本文为例,当看似空的单元格中其实是 "" 时,在公式中引用这个单元格会计算出错误结果。即使将这个单元格粘贴为数值,结果仍然是错误值。
那么 "" 和空到底有什么不同?遇到这种情况又该怎么处理?
1. 选中 G 列的空白区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=IF(E2-F2=0,"",E2-F2)
公式很容易理解,就是个减法,只不过将所有 0 值都替换成了 "",显示出来就是空。
那么这个 "" 和真正的一个空单元格是不是一回事呢?这就是今天要讲解的知识点。
2. 选中 H 列的空白区域 --> 输入以下公式 --> 按 Ctrl+Enter:
=IF(D2=0,"",G2/D2)
最后的结果是下图这样的:除了因为指标为 0 被强制设置为 "" 的之外,其余“净增数”为 "" 的行,结果都是错误值。
为什么会这样呢?因为在 Excel 中,"" 不是真正的空,只要有公式,就不是空,肉眼看不见不代表没有。结果为 "" 的单元格是文本格式,无法参与计算。
这就有点像佛教说的,死亡只是肉体的灭亡,精神会去往下一个轮回,所以不是真正的虚无;而高僧要参悟和追求的,则是一种真正的空,彻底跳出三界之外,什么都不存在的空。
回到正题,接下来我们试试解决问题,把 "" 除去是不是可行?
3. 将 G 列的公式复制粘贴成为数值。
G 列虽然变成了数值,但是 H 列的错误值还在。怎么办?
解决方案 1:1. 复制 G 列的值 --> 选择菜单栏的“开始”--> 点击“剪贴板”区域右下角的小箭头
2. 保持选中 G 列的值区域 --> 单击“剪贴板”区域中的项目
现在 H 列中的错误值就没有了。这是因为剪贴板有个特长,就是所见即所得,粘贴过来的空单元格就因此转换成了真正的空。
解决方案 2:1. 将 H 列的公式修改如下:
=IF(D2=0,"",N(G2)/D2)
这个公式只是在 G2 单元格的外面套了个 N 函数,就成功将值转换成了数值;
n 函数的用法很简单,就是将参数转换成数值,下图是各种不同类型的引用对应的转换结果;
有关 n 函数的详述,请参阅 Excel函数(11)–n函数转换为数值。
解决方案 3:1. 这两个公式我觉得可以放在一起解释:在 G2 外面套上 sum 或 sumproduct 函数,利用求和函数会过滤掉非数值的特性,将本案例中的非数值转换成了 0。
=IF(D2=0,"",SUM(G2)/D2)
=IF(D2=0,"",SUMPRODUCT(G2)/D2)