2014-01-09 98 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)

另一种方法是在一个单元格中获取最大日期,然后继续在公式的其余部分中引用该单元格的值。