excelperfect
很奇怪的問(wèn)題,意想不到的公式。
如下圖1所示,在列A中有一組數(shù)值,其中有很多0值,要求將列A中的數(shù)值轉(zhuǎn)換成列B中的數(shù)值,也就是說(shuō),在0之間的單元格使用這些單元格中的最大值填充。
圖1
如何使用公式來(lái)實(shí)現(xiàn)?
初看這個(gè)問(wèn)題,我感覺(jué)有點(diǎn)不可能實(shí)現(xiàn),因?yàn)榉指舻?/span>0的個(gè)數(shù)不相同,要求每段的最大值,起始和終止點(diǎn)也不一樣,但仍然有人實(shí)現(xiàn)了。這正應(yīng)了那句話,沒(méi)有做不到,只有想不到。
其解決方案是,在單元格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)))
然后下拉拖放至數(shù)據(jù)末尾。
這個(gè)公式很巧妙!OFFSET函數(shù)與MATCH函數(shù)配合來(lái)動(dòng)態(tài)擴(kuò)展區(qū)域,從而使得查找的范圍永遠(yuǎn)落在兩組0之間的單元格區(qū)域,然后MAX函數(shù)中與已經(jīng)獲得的最大值(即公式所在單元格上方的單元格中的值)比較,取最大值。
公式中的IF函數(shù)條件判斷部分也很有特點(diǎn),如果相鄰單元格中的值為0,則公式單元格中的值就為0,否則使用公式來(lái)求最大值。
這個(gè)公式有點(diǎn)繞,因?yàn)橐蟮臄?shù)據(jù)本身就有點(diǎn)繞,但仔細(xì)理解,還是很有意思和啟發(fā)的。
聯(lián)系客服