2014-02-25 25 views
1

我想創造一個公式,將識別所述第一「非NA」(即數字)從陣列的右側開始,然後返回的行號爲第一「非NA」這被發現在陣列中:匹配的excel陣列中的特定邏輯要求

1  2  3  4  5 
1.625 1.625 N.A. N.A. N.A. 

我嘗試使用以下公式:

{=MATCH(FALSE,C4:G4="N.A.")} 

在這種情況下,它返回一個行2.

但是,如果該陣列是在這種形式:

1  2  3  4  5 
N.A. 1.625 N.A. N.A. N.A. 

該公式將返回一個錯誤。

同樣地,如果該陣列是在這種形式:

1  2   3  4  5 
N.A. N.A. 1.625 1.625 N.A. 

公式返回行4,其是正確的。

因此,我需要在這個公式的幫助。非常感謝你。任何意見表示讚賞。

回答

1

如果你的細胞中含有任何數量或者N.A.,試試這個:

=MATCH(9.9E+307,C4:G4) 

否則這個數組公式:

=MATCH(1,1/(C4:G4<>"N.A.")) 

並按CTRL + SHIFT + ENTER到評價它

+0

魔法!你能解釋一下這裏發生了什麼嗎? – 2014-02-25 15:24:34

+2

當然:)我們省略了Match匹配的第三個參數,excel期望有序數組,並且會嘗試找到aprox匹配。由於'9.9E + 307'幾乎是excel中最大的數字,公式總是會返回數組中的最後一個數字(excel預期的排序數組,並認爲lats數最大並且最接近'9.9E + 307')。有點凌亂:) –

+1

嗨Simoco,這個公式適用於我的要求。非常感謝你的公式和解釋。 =) – user1950339