我正在尝试寻找一种在Excel公式中用NA()
有效地替换零的方法。我知道以下作品:
=IF(FORMULA = 0, NA(), FORMULA)
但是我的问题是,这将导致FORMULA
执行两次。在某些情况下,在一个巨大的表中,这可能会更长=SUMIFS()
。
所以我想要:
FORMULA
计算一次我以为首先尝试使用SUBSTITUTE()
将“ 0”替换为会触发值错误的内容,然后将所有内容包装在IFERROR()
中。这显然失败了,因为(据我所知)SUBSTITUTE()
不能被强制检查完整的单词匹配(因此100会触发错误)。
这可能吗?我已经想了好多年,但是决定重新考虑一下。
答案 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)