2013-02-20 136 views
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 這可能嗎?

謝謝。

+1

你有沒有嘗試在公式周圍包裝IF?另外:什麼公式?並請添加一些示例數據和預期結果... – hsan 2013-02-20 14:58:09

+0

對不起,我沒有提供足夠的信息。我嘗試在公式周圍進行包裝。這是一個路透公式:= IF(RData(D17:D26; H16)= 0; NA(); RData(D17:D26; H16)),但它根本不起作用。 – Helios 2013-02-20 15:43:04

回答

3

它應該完全一樣。讓我們假裝你的公式是F(但它會更好,如果你加入您的實際配方或類似的東西你的問題)

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

會工作,即使是F返回一個數組。只需用整個公式代替F,不要忘記按Ctrl + Shift + Enter

+0

對不起,我沒有提供足夠的信息。我嘗試在公式周圍進行包裝。這是一個路透公式:= IF(RData(D17:D26; H16)= 0; NA(); RData(D17:D26; H16)),但它根本不起作用。 – Helios 2013-02-20 15:43:42

+0

@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

+0

它實際上也適用於我,但不適用於該公式。有一種方法可以解決它。 – Helios 2013-02-20 17:02:46

1

感謝大家的投入,

我找到了一種方法去解決它,只需在返回一個值並且用IF語句包裝它。

因此,它變成:= IF(RDATA(D17; $ H $ 16)= 0; NA(); RDATA(D17; $ H $ 16))

我固定H16,因爲它包含所需的參數公式。

這種方式有效。

+0

如果你設法解決你自己的問題,那麼你應該把這個標記爲正確的答案,以便人們知道它實際上已經解決了 – Dan 2013-02-21 07:35:41

+0

,這只是一種解決方法,並不是真正的解決方案,因爲我仍然不知道如何將公式應用到一個範圍幷包裝它以返回我想要的。 – Helios 2013-02-21 15:04:21

1

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

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

這樣的,你的函數只得到調用一次,這將減少計算時間。

+0

謝謝你的訣竅 – Helios 2013-02-21 15:05:04

相關問題