意想不到的Excel公式,以0分隔提取最大值

意想不到的Excel公式,以0分隔提取最大值,第1張

excelperfect

很奇怪的問題,意想不到的公式

如下圖1所示,在列A中有一組數值,其中有很多0值,要求將列A中的數值轉換成列B中的數值,也就是說,在0之間的單元格使用這些單元格中的最大值填充。

意想不到的Excel公式,以0分隔提取最大值,圖片,第2張

圖1

如何使用公式來實現?

初看這個問題,我感覺有點不可能實現,因爲分隔的0的個數不相同,要求每段的最大值,起始和終止點也不一樣,但仍然有人實現了。這正應了那句話,沒有做不到,衹有想不到。

其解決方案是,在單元格B3中輸入公式:

=IF(IF(A3 0,MAX(OFFSET(A2,,,MATCH(0,A3:A15,0),1),B1))=FALSE,0,IF(A3 0,MAX(OFFSET(A2,,,MATCH(0,A3:A15,0),1),B1)))

然後下拉拖放至數據末尾。

這個公式很巧妙!OFFSET函數與MATCH函數配郃來動態擴展區域,從而使得查找的範圍永遠落在兩組0之間的單元格區域,然後MAX函數中與已經獲得的最大值(即公式所在單元格上方的單元格中的值)比較,取最大值。

公式中的IF函數條件判斷部分也很有特點,如果相鄰單元格中的值爲0,則公式單元格中的值就爲0,否則使用公式來求最大值。

這個公式有點繞,因爲要求的數據本身就有點繞,但仔細理解,還是很有意思和啓發的。


本站是提供個人知識琯理的網絡存儲空間,所有內容均由用戶發佈,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵擧報。

生活常識_百科知識_各類知識大全»意想不到的Excel公式,以0分隔提取最大值

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情