Excel中用一列出生年月日的数据计算年龄大于35小于45的人数

来源:百度知道 编辑:UC知道 时间:2024/06/14 02:48:57
假设所需的数据在A1:A25,格式是yyyy-mm-dd的日期型数据,我写的公式是countif(A1:A25,{"YEAR(TODAY())-YEAR(A1:A25)>35","YEAR(TODAY())-YEAR(A1:A25)<45"},结果是0。

知道问题出在year(A1:A25)中,就是不知如何解决。

谢谢!
忘了说了,是在一个表格里填充35到45岁之间的人数。

像一楼的朋友是填充了一列的数据。

最好是用Countif这个函数来写公式,因为这道题就出在我学Countif和count这两个函数时。

二楼的朋友可不可以说明一下公式的具体含义/用法?

=SUMPRODUCT((DATEDIF(A1:A25,TODAY(),"Y")>35)*(DATEDIF(A1:A25,TODAY(),"Y")<45))

输入完后在编辑状态下同时按CTRL+SHIFT+ENTER确认

**************
首先解释一下COUNTIF的应用范围.
你的公式并不是错在YEAR(A1:A25).你公式第二个参数的条件是年龄的范围,而统计范围却是A1:A25,是出生日期.你觉得会找到吗?

其二,计数不一定都是要用COUNTIF的.特别是条件比较多且复杂的统计.

SUMPRODUCT中是对A1:A25进行25次的双条件逻辑判断,当同时满足条件(注意我用的是乘运算)时,这次运算的结果就等于1,一共进行25次运算.然后汇总结果.

DATEDIF(起始日,终止日,"参数")
是两个日期的间隔时间,参数用Y代表求相隔的年份.

我在起始日中用了A1:A25,所以这就是一个数组公式了.即要进行25次的DATEDIF的运算.然后又加上了运算符.来判断DATEDIF的结果是否满足我设定的条件.如果满足结果为1不满足为0

countif(A1:A25,{"YEAR(TODAY())-YEAR(A1)>35","YEAR(TODAY())-YEAR(A1)<45"}
然后下拉