有效地用NA替换0

时间:2019-05-08 18:48:11

标签: excel excel-formula

我正在尝试寻找一种在Excel公式中用NA() 有效地替换零的方法。我知道以下作品:

=IF(FORMULA = 0, NA(), FORMULA)

但是我的问题是,这将导致FORMULA执行两次。在某些情况下,在一个巨大的表中,这可能会更长=SUMIFS()

所以我想要:

  • 没有VBA
  • 仅基础FORMULA计算一次

我以为首先尝试使用SUBSTITUTE()将“ 0”替换为会触发值错误的内容,然后将所有内容包装在IFERROR()中。这显然失败了,因为(据我所知)SUBSTITUTE()不能被强制检查完整的单词匹配(因此100会触发错误)。

这可能吗?我已经想了好多年,但是决定重新考虑一下。

2 个答案:

答案 0 :(得分:4)

一般答案是

=IFERROR(f'(f(FORMULA)), AlternateValue)

其中f(FORMUALA)返回FORMULA值的错误(任何错误都会发生),您需要为其提供替代值。

f'(...)f(...)的倒数,因此f'(f(FORMULA))返回FORMULA以获得其他值。

确保将第一个功能应用于整个FORMULA。将其括在()中可以保证。

第二,确保以正确的顺序应用这两个功能,这也是使用()实现的。

在这种情况下,您需要0的替代值,以便可以使用

=IFERROR(1/(1/(FORMULA)), NA())

答案 1 :(得分:0)

计算和显示可以在两个不同的位置进行-为什么在不需要时合并操作?

A1-=Formula
B1-=If(A1 = 0, NA(),A1)