2016-06-13 156 views
0

我有一列,讓我們說列A,它包含一個數字列表,它可以是正數或負數。那麼這些數字後跟不同數量的空白(即= IF(some_condition_is_met「」,值)。我想找到的最後一個非空非零正該列中的值。如何查找列/範圍中最後一個非空白的非零正值?

Column A 
    0.00 
    0.00   
    0.00 
    0.00 
    15.00 
    -5.00 
    0.00 
    blank 
    blank 
    blank 

我希望公式忽略空白和零和負值,在這種情況下返回15.00。

我寧願不使用數組公式,如果可能的話。

我見過的其他解決方案並不複雜,例如他們只能找到最後一個非零值或非空值。

我想不出這一個!

+0

你看看[上發現最後一排這個問題(http://stackoverflow.com/questions/11169445/error-in-finding-last-used- cell-in-vba) –

回答

0

我想知道你說「寧願不使用數組公式,如果可能的話」的原因「。

如果用「數組公式」表示一個公式,它需要CTRL+SHIFT+ENTER的按鍵組合來激活它,那麼是的,我們沒有義務在這裏使用這種公式。

但是,如果您暗指「數組公式」的更一般的定義(作爲一個公式,該公式必須處理傳遞給它的數組中的所有元素)(在此範圍內定義中,我們會定義諸如AGGREGATE,SUMPRODUCT等其他函數作爲「數組公式」,儘管它們不需要CSE),但是由於問題的性質,我們將無法避免這種設置。

因此,將範圍保持在最低限度是非常重要的。我已經在這裏使用了A1:A10,顯然你可以根據需要進行更改,儘管你應該小心謹慎,不要讓它太大(當然也不要引用整列!),因爲對於每個引用的附加單元格,額外的計算將會是需要。

=LOOKUP(1,0/(0+A1:A10>0),A1:A10)

問候

+0

我指的是前者(即CSE公式)。 – Tom

+0

我可以問你爲什麼寧願避免這樣的公式? –

+0

根據我們的開發標準,他們不允許工作。請求原諒而不是允許,但可能更容易:) – Tom

相關問題