我想包装一个excel公式,该公式返回一个数组值,所以它用NA代替0值()
我有一个我在Excel中使用的公式。该公式以列的形式返回值的数组。我只知道如何在单元格或返回一个单元格的公式上使用IF语句。但是,我不知道如何应用它来使公式返回的数组中的NA()替换所有的0值。我想用IF语句包装公式。我想包装一个excel公式,该公式返回一个数组值,所以它用NA代替0值()
这是一个路透公式:= 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
返回一个数组。只需用整个公式代替F
,不要忘记按Ctrl + Shift + Enter
对不起,我没有提供足够的信息。我尝试在公式周围进行包装。这是一个路透公式:= IF(RData(D17:D26; H16)= 0; NA(); RData(D17:D26; H16)),但它根本不起作用。 – Helios 2013-02-20 15:43:42
@Helios通过对你的问题进行编辑来判断Dan的答案应该可行。尝试用'{= IF({1,2,3,4,5} = 3,NA(),{1,2,3,4,5})}'来代替'3' '#N/A'。 – hsan 2013-02-20 16:39:48
它实际上也适用于我,但不适用于该公式。有一种方法可以解决它。 – Helios 2013-02-20 17:02:46
而不是使用=IF(RData(D17;$H$16)=0;NA(); RData(D17;$H$16))
你也可以使用
=IFERROR(1/(1/(RData(D17;$H$16)));NA())
这样的,你的函数只得到调用一次,这将减少计算时间。
谢谢你的诀窍 – Helios 2013-02-21 15:05:04
你有没有尝试在公式周围包装IF?另外:什么公式?并请添加一些示例数据和预期结果... – hsan 2013-02-20 14:58:09
对不起,我没有提供足够的信息。我尝试在公式周围进行包装。这是一个路透公式:= IF(RData(D17:D26; H16)= 0; NA(); RData(D17:D26; H16)),但它根本不起作用。 – Helios 2013-02-20 15:43:04