【问题标题】:Shortening of formulas (from using IF, MAX)缩短公式(使用 IF、MAX)
【发布时间】:2014-01-27 17:28:23
【问题描述】:

有没有办法缩短这些公式中的任何一个?考虑到重新计算数据所需的时间,处理它们似乎需要很长时间(最多 15 分钟)。

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","")

【问题讨论】:

  • 由于我们无法真正审核没有数据的公式,我建议两件事:提供一个包含上述公式和类似虚拟数据的文件,或者告诉我们上面的确切用途。我看到太多对 Excel 2010 (1048576) 底行的引用。我会直截了当地说,除非您在该行之前有数据,否则这是不必要的。
  • 对不起,我该如何上传文件?
  • 很抱歉。我的意思是,在某处上传文件并在此处提供链接。 :)
  • 非常感谢!我已经上传了文件的链接并对公式进行了一些调整。请看一看!
  • 好吧,一方面,您可以在某处创建一个参考单元格来包含MAX($D$4:$D$1048576)MAX($C$4:$C$1048576) 的计算。因此,这些将只计算一次,并将所有公式缩短相当多的字符。

标签: excel excel-2007 excel-formula excel-2010


【解决方案1】:

我在这里看到的主要问题是您的范围太大。您的公式计算的单元格比确定最大日期所需的单元格多 900,000 个。您可以将范围设置为 $C$$:$C$150000,这样可以减少处理时间。

如果您的范围不断扩大,请考虑通过转到名称管理器并输入以下内容来创建一个扩展的命名范围:=OFFSET(Sheet1!$C4,0,0,COUNTA(Sheet1!$C$4:$C $150000),1)

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

【讨论】:

    猜你喜欢
    • 2022-09-28
    • 1970-01-01
    • 2016-08-09
    • 2022-01-24
    • 1970-01-01
    • 2023-03-29
    • 2022-11-18
    • 2012-07-05
    • 1970-01-01
    相关资源
    最近更新 更多