我想包装一个Excel的公式,返回一个值的数组,所以它取代0值NA()

我有一个公式,我在Excel中使用。 该公式以列的forms返回值的数组。 我只知道如何在单元格或返回一个单元格的公式上使用IF语句。 但是,我不知道如何应用它来使用公式返回的数组中的NA()replace所有的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来代替它可能吗?

谢谢。

它应该完全一样。 让我们假装你的公式是F (但是如果你添加了你的实际公式或者类似于你的问题会好很多)

 =IF(F=0, NA(), F) 

即使F返回一个数组也会工作。 只需用您的整个公式replaceF ,不要忘记按Ctrl + Shift + Enter

谢谢大家的意见,

我find了一种方法来绕过它,只需一次返回一个值,并用IF语句包装它。

所以它变成:= IF(RData(D17; $ H $ 16)= 0; NA(); RData(D17; $ H $ 16))

我正在修复H16,因为它包含公式所需的参数。

这样它的工作。

而不是使用=IF(RData(D17;$H$16)=0;NA(); RData(D17;$H$16))您也可以使用

  = IFERROR(1 /(1 /(RDATA(D17; $ H $ 16))); NA()) 

这样,你的函数只被调用一次,这将减less计算时间。