我有一个收集员工培训日期和提供日期的数据库,我想知道在一个月内有多少员工接受过培训。
我的下面的公式检查了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 *
************************************************
答案 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)))