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

我有一个收集员工培训date和提供date的数据库,我想看看有多less员工在一个月内接受了培训。

我下面的公式检查B2的date,然后计算当月已经完成训练的报价,但是我必须出错,因为它似乎在乘以数字。

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

我想要做的就是计算员工是否有培训date,并忽略给定月份中的空白单元格。

数据库表:

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

如果您有xl2007或更新版本,请尝试使用COUNTIFS函数 。

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

在计算负荷方面,COUNIFS函数远远优于旧的SUMPRODUCT函数 ; 一般为25-35%。

你自己的公式可能已经丢弃了COUNTIF函数 ,只是在SUMPRODUCT上回复。

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