我有一个我在excel中使用的公式。该公式以列的形式返回值数组。我只知道如何在单元格或返回一个单元格的公式上使用IF语句。但是,我不知道如何应用它来使公式返回的数组中的NA()替换所有0值。我想用IF语句包装公式。
这是路透社公式:= IF(RData(D17:D26; H16)= 0; NA(); RData(D17:D26; H16)),但它根本不起作用。
RData(D17:D26; H16)返回以下列
H16包含:AST_SWPSPD
D17:D26包含以下RIC代码:
BMPS2YEUAM=R
BMPS3YEUAM=R
BMPS4YEUAM=R
BMPS5YEUAM=R
BMPS7YEUAM=R
BMPS10YEUAM=R
BMPS20YEUAM=R
BMPS30YEUAM=R
结果列如下
201.7
499.5
389.2
470.6
306.8
0
0
525.3
525.3
525.3
我想摆脱零并用NA替换它们 这可能吗?
谢谢。
答案 0 :(得分:3)
它应该完全一样。让我们假装你的公式是F
(但如果你添加了你的实际公式或与你的问题类似的东西会更好)
=IF(F=0, NA(), F)
即使F
返回数组也能正常工作。只需用您的整个公式替换F
,不要忘记按ctrl + shift + enter
答案 1 :(得分:1)
感谢大家的投入,
我找到了解决问题的方法,只需一次返回一个值并用IF语句包装它。
所以变成:= IF(RData(D17; $ H $ 16)= 0; NA(); RData(D17; $ H $ 16))
我正在修复H16,因为它包含公式所需的参数。
这种方式有效。
答案 2 :(得分:1)
您也可以使用
=IFERROR(1/(1/(RData(D17;$H$16)));NA())
而不是
=IF(RData(D17;$H$16)=0;NA(); RData(D17;$H$16))
。
这样,你的函数只被调用一次,这将减少计算时间。