Excel 2010 公式转换为 Excel 2003

Excel 2010 公式转换为 Excel 2003

我对 Excel 绝对不算非常熟练,但我知道足够的基础知识。

经过多次论坛讨论和深思熟虑后,我得出了以下公式,我将讨论它应该做什么。(它在 Office 2010 中似乎运行良好,但在 2003 中根本不起作用,我不知道文件必须格式化为 2003)

=SUMPRODUCT(--(Deploy!T3:Deploy!T60<=TODAY()),--(Deploy!T3:Deploy!T60>(EDATE(TODAY(),-12))))

Deploy是 Sheet 名称,cellsT3-T60是计算单元格。该公式用于计算出当前日期前 1 年内的单元格数量。

如果有人能找出该公式的简化版本,我将不胜感激,因为我在整个工作表中使用了这个公式及其一些修改版本(主要是月份计数的变化)。

答案1

我在 Excel 2003 中尝试了您的公式并且它对我有用 -SUMPRODUCT并且TODAY是 Excel 2003 中的内置函数但是EDATE是加载项的一部分Analysis ToolPak- 如果您没有安装该加载项那么您可能会收到 #VALUE! 错误。

尝试启用分析工具库

工具 > 插件 > 勾选“分析工具库”框。您可能需要重新输入公式。

如果这不起作用,或者你不想或不能安装插件,那么你可以用这个公式获取 12 个月前的日期

=DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY()))

....或者您也可以使用 TODAY()-365(尽管这显然不太准确,因为它没有考虑闰年)

所以那要么

=SUMPRODUCT(--(Deploy!T3:T60<=TODAY()),--(Deploy!T3:T60>DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY()))))

要不就

=SUMPRODUCT(--(Deploy!T3:T60<=TODAY()),--(Deploy!T3:T60>TODAY()-365))

如果仍然出现错误,那么可能是数据范围中存在错误Deploy!T3:T60。如果是这样,那么另一种方法是将一个COUNTIF函数减去另一个函数。这很有帮助,因为COUNTIF会忽略数据中的错误,公式将是

=COUNTIF(Deploy!T3:T60,"<="&TODAY())-COUNTIF(Deploy!T3:T60,"<="&DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY())))

答案2

假设您的日期格式为日期(而不是日期+时间)并且您不介意有额外的列,您可以尝试这样做:

在此处输入图片描述

  • 单元格 B2 包含今天的日期=TODAY()
  • 单元格B5-B11包含您想要计算的日期。
  • 单元格C5-C11包含今天的日期和列表中的日期之间的差值,以减法计算B5-$B$2
  • 单元格 C13 包含公式 `=COUNTIF(C5:C13,"<365")

相关内容