0

我正在使用 Excel 2003 SP3。

我正在尝试计算一年多前的列中的日期,所以我正在尝试:

=COUNTIF(Library!G9:G10000,"<=today()-365")

但是当有 1 时它给了我 0。有趣的是,如果我硬编码 1 年前的日期,那么:

=COUNTIF(Library!G9:G10000,"<=16/05/2012")

然后它工作得很好。

不知道这是否重要,我的范围(Library!G9:G10000)包括一些文本值,例如“未知”
希望有人能提供帮助。

4

2 回答 2

2

这不起作用,因为 today() 是一个函数,并且您已将其字符串化,因此 excel 只会将其解释为文本。

一种可行的替代方法是

=SUM(IF(Library!G9:G10000<TODAY()-365,1,0))

这是一个数组公式,需要您在完成输入后按 Crtl+Shift+Enter 而不是仅按 Enter。

您的编辑使事情变得更加困难。如果范围内还有文本或空白单元格,则使用

=SUM(IF(ISNUMBER(Library!G9:G10000),IF(Library!G9:G10000<TODAY()-365,1,0),0))

同样,这是一个数组公式。

于 2013-05-16T16:17:14.017 回答
0

另一种选择是...

=COUNTIF(Library!G9:G10000,"<="&TODAY()-365)

...作为常规公式输入(与数组公式相反)。

于 2013-05-16T17:52:12.617 回答