背景:公司为了改善员工福利,会在每月为员工购买生日礼物,所以人事部门就得每月统计某个月份的人数,以便购买礼品。因为马上要过三八女节,也要为女同胞购买礼物;根据出生日期统计3月份生日的人数。
序号 | 工号 | 姓名 | 部门 | 学历 | 职务 | 身份证号码 | 年龄 | 出生日期 | 生日 |
1 | F001 | 张三 | 生产部 | 初中 | 员工 | 362525198904053023 | 35 | 1989-04-05 | 04.05 |
2 | F002 | 李四 | 品质部 | 大专 | IPQC | 362525198803053033 | 36 | 1988-03-05 | 03.05 |
3 | F003 | 小红 | 生产部 | 本科 | 员工 | 362525200105053043 | 23 | 2001-05-05 | 05.05 |
4 | F004 | 小紫 | 生产部 | 初中 | 员工 | 362525200203053043 | 22 | 2002-03-05 | 03.05 |
5 | F005 | 小粉 | 资材部 | 中专 | 文员 | 362525199809053043 | 25 | 1998-09-05 | 09.05 |
6 | F006 | 小黄 | 生产部 | 初中 | 员工 | 362525198503053043 | 39 | 1985-03-05 | 03.05 |
7 | F007 | 小橙 | 生产部 | 初中 | 员工 | 362525197603053043 | 48 | 1976-03-05 | 03.05 |
8 | F008 | 小绿 | 业务部 | 本科 | 经理 | 362525198301053043 | 41 | 1983-01-05 | 01.05 |
9 | F009 | 小青 | 生产部 | 中专 | 员工 | 362525199311053043 | 30 | 1993-11-05 | 11.05 |
10 | F010 | 小蓝 | 生产部 | 大专 | 主管 | 362525199603053043 | 28 | 1996-03-05 | 03.05 |
11 | F011 | 王五 | 生产部 | 高中 | 员工 | 362525199410053033 | 29 | 1994-10-05 | 10.05 |
12 | F012 | 小灰 | 生产部 | 初中 | 员工 | 362525199509053083 | 28 | 1995-09-05 | 09.05 |
13 | F013 | 小白 | 生产部 | 初中 | 员工 | 362525198608053083 | 37 | 1986-08-05 | 08.05 |
14 | F014 | 小黑 | 生产部 | 初中 | 员工 | 362525199603053083 | 28 | 1996-03-05 | 03.05 |
15 | F015 | 小棕 | 生产部 | 初中 | 员工 | 362525199408053083 | 29 | 1994-08-05 | 08.05 |
16 | F016 | 小靛 | 生产部 | 初中 | 员工 | 362525199207053083 | 32 | 1992-07-05 | 07.05 |
17 | F017 | 小银 | 品质部 | 大专 | IQC | 362525199703053083 | 27 | 1997-03-05 | 03.05 |
18 | F018 | 小明 | 生产部 | 中专 | 员工 | 362525199803053033 | 26 | 1998-03-05 | 03.05 |
问题1:你可能认为可以使用 COUNTIF 函数来计算生日,但问题是 COUNTIF 只适用于范围,并且不允许使用 MONTH 之类的函数从日期中提取月份数字。这该怎么办?
解决方案1:我们使用带有自定义逻辑的 SUMPRODUCT 函数,结果统计为8。=SUMPRODUCT((MONTH(I2:I19)=3)*1),MONTH(I2:I19)=2部分,先使用MONTH函数计算出I列日期的月份,然后用等式,判断是不是等于3,这部分得到的,也是一组由TRUE和FALSE构成的逻辑值。接下来把逻辑值乘以1,TRUE*1结果为1,FALSE*1结果为0,最终变成由数值1和0构成的新数组。最终结果:8。
问题2:加大难度,要求只统计生产部3月份生日的员工人数。增加了一个条件,统计生产部,那我们直接加上这个条件就可以了,怎么加呢?
解决方案2:这里记住先将逻辑值变成数值后用“*”符号,这里你可以简单的理解为且的条件,所以公式就是:=SUMPRODUCT(((MONTH(I2:I19)=3)*1)*(D2:D19="生产部")),结果为:6。
问题3:升级难度,要求只统计在职的生产部3月份生日的员工人数,已离职的员工不考虑。
解决方案3:无非多设置了一个条件而已,应该难不倒聪明的你。我们来试试看,公式:=SUMPRODUCT(((MONTH(I2:I19)=3)*1)*(D2:D19="生产部")*(J2:J19="在职"))