等級(jí):初學(xué)者
-
積分:0
-
財(cái)富值:0.00
-
身份:普通用戶
在Excel中用迭代計(jì)算求歷史最大值
有時(shí)可能會(huì)遇到這樣的問(wèn)題:在一個(gè)數(shù)值不斷改變的區(qū)域中,如何求出該區(qū)域中的歷史最大值或最小值?例如在某個(gè)單元格中包含不斷變動(dòng)的股票價(jià)格,需要在另一單元格中顯示該股票曾經(jīng)到達(dá)的最大股價(jià)。如果直接用MAX函數(shù),由于數(shù)值是不斷變動(dòng)的,MAX函數(shù)只會(huì)返回區(qū)域中當(dāng)前數(shù)值的最大值而不是歷史最大值。在Excel中,可以通過(guò)迭代計(jì)算來(lái)解決這個(gè)問(wèn)題。
假如數(shù)值在A1:A20區(qū)域中,要在B1單元格中顯示該區(qū)域中的歷史最大值,我們可以用MAX函數(shù)計(jì)算區(qū)域A1:A20和B1單元格這兩個(gè)區(qū)域中的最大值。但如果直接在F5單元格中輸入公式:
=MAX(B1,A1:A20)
由于B1單元格中的公式引用了B1單元格自己,Excel會(huì)出現(xiàn)循環(huán)引用的提示,無(wú)法獲得正確的結(jié)果。為避免出現(xiàn)這個(gè)問(wèn)題,需要進(jìn)行如下設(shè)置。
Excel 2003:
單擊菜單“工具→選項(xiàng)→重新計(jì)算”,勾選“迭代計(jì)算”,然后單擊“確定”。
Excel 2007:
單擊“Office按鈕→Excel 選項(xiàng)→公式”,在“計(jì)算選項(xiàng)”區(qū)域中,勾選“啟用迭代計(jì)算”選項(xiàng)。
這樣,當(dāng)A1:A20區(qū)域中的數(shù)值都為正數(shù)時(shí),在B1單元格中輸入上述公式后,會(huì)在B1單元格中得到A1:A20區(qū)域中的歷史最大值。如果A1:A20區(qū)域中的數(shù)值都為負(fù)數(shù),可以用下面的公式:
=IF(B1=0,MAX(A1:A20),MAX(B1,A1:A20))
上述公式中使用了IF函數(shù),是因?yàn)槿绻?span>A1:A20
區(qū)域中的數(shù)值都為負(fù)數(shù),直接使用公式=MAX(B1,A1:A20)
B1單元格中的數(shù)值將總是返回“0”,從而得不到正確的結(jié)果。
同理,如果要求出該區(qū)域中的歷史最小值,在B1單元格中輸入公式:
=IF(B1=0,MIN(A1:A20),MIN(B1,A1:A20))