2014-01-09 71 views
1

有沒有辦法縮短這些公式中的任何一個?考慮到重新計算數據所需的時間,處理它們似乎需要很長時間(最多15分鐘)。縮短公式(使用IF,MAX)

link provided用於該文件。文件中的標題適用於下面的各個公式。

latest 24 mth data =IF(C4>=EDATE(MAX($C$4:$C$1048576),-23),"Latest Months","Consol. Years") 

Past 7 Years =IF(D4>=MAX($D$4:$D$1048576)-7,"Past 7 years","") 

Latest Season =IF(AND(MONTH(MAX($C$4:$C$1048576))>=4,MONTH(MAX($C$4:$C$1048576))<=10),IF(AND(D4=MAX($D$4:$D$1048576)-5,E9="W"),"Latest Seasons",IF(D4>=MAX($D$4:$D$1048576)-4,"Latest Seasons","")),IF(D4>=MAX($D$4:$D$1048576)-4,"Latest Seasons","")) 

Latest Year =IF(D4>=MAX($D$4:$D$1048576)-4,"Latest yrs","") 
+0

由於我們不能在沒有數據的情況下審覈公式,所以我建議兩件事:提供一個帶有上述公式和類似虛擬數據的文件,或者告訴我們上面的內容。我看到許多對Excel 2010底部行的引用(1048576)。我會直截了當地說,除非你在那一行有數據,否則這不是必須的。 – Manhattan

+0

請原諒我,但我會如何上傳文件? –

+0

對不起。我的意思是,在某處上傳文件並在此處提供鏈接。 :) – Manhattan

回答

0

我在這裏看到的主要問題是您的範圍太大。你的公式正在評估比他們需要確定最大日期多90萬個單元格。您可以將範圍設置爲$ C $$:$ C $ 150000,這將減少處理時間。

如果您的範圍不斷擴大,請考慮製作一個命名範圍,通過轉到名稱管理器並鍵入如下內容進行擴展:= OFFSET(Sheet1!$ C4,0,0,COUNTA(Sheet1!$ C $ 4:$ 150000),1)

另一種方法是在一個單元格中獲取最大日期,然後繼續在公式的其餘部分中引用該單元格的值。