计算在给定月份内具有数据的单元格

时间:2016-03-09 13:38:38

标签: excel

我有一个收集员工培训日期和提供日期的数据库,我想知道在一个月内有多少员工接受过培训。

我的下面的公式检查了B2的日期,然后计算那个月完成培训的优惠,但我必须出错,因为它似乎是乘以这个数字。

=SUMPRODUCT((COUNTIF(Database[Training Date],"*"))*(MONTH(Database[Offered Date])=MONTH(B2))*(YEAR(Database[Offered Date])=YEAR(B2)))

如果员工有一个培训日期并且忽略给定月份中的空白单元格,那么我想要做的就是计算。

数据库表:

************************************************
* Employee      * Training Date * Offered Date *
************************************************
*    John       *      YES      *  21/02/2016  *
*    Joe        *      YES      *  18/02/2016  *
*    Suzy       *               *  16/02/2016  *
************************************************

1 个答案:

答案 0 :(得分:2)

如果您有xl2007或更新版本,请尝试COUNTIFS function

=COUNTIFS(database[training date], "yes", database[offered date], ">"&EOMONTH(B2, -1), database[offered date], "<="&EOMONTH(B2, 0))

在计算负荷方面,COUNIFS功能远远优于旧版SUMPRODUCT function;通常为25-35%。

你自己的公式可能已经放弃了COUNTIF function而只是回复了SUMPRODUCT。

=SUMPRODUCT((database[training date]="yes")*(MONTH(database[offered date])=MONTH(B2))*(YEAR(database[offered date])=YEAR(B2)))