你的Excel是什么版本,如果不低于2013,则用数据透视表来统计极为方便。
插入数据透视表,要透视表能统计不重复计数,关键的一个版本不能低于2013,二个是在插入数据透视表时第一个出现的对话框中,要勾选“将些数据添加数据模型”——极为重要!
其余与一般的插入数据透视表没有什么不同。把月份和部门拖入到行字段,人员拖到汇总字段,因为人员是文本,所以透视表会自动选择计数。如下图
图中把第3列标题改成了“人数”,且稍作了美化调整,如列居中,布局选择了表格格式。但首先生成的透视表默认并不是非重复计数,如图中标黄的1月乙部门,G有2个为重复,计数了2次。要非重复计数,还得处理一下,如上图中,在透视表中右击,总汇依据中选择“其他选项”,弹出的对话框中选择最后面的“非重复计数”,确定后就是非重复计数了,1月乙部门的人数由5变成了4。如下图。
可以通过如下公式来实现
=COUNTIFS(A3:A14,E4,B3:B14,F4)
如下图所示,在E1单元格输入公式=SUMPRODUCT((A1:A12=1)*(B1:B12=6)/COUNTIFS(A1:A12,A1:A12,B1:B12,B1:B12,C1:C12,C1:C12))
事实上,这个可以组成个数组。用数组公式来处理,思路是,把AB列合并,判断AB合并后是否等于字符串16,如果等于,则返回C列的值,否则返回空值。
用large或者small函数把非空值数组提取到相应单元格区域里边。然后粘贴成数值再去重。
当然, 用VBA处理起来效果更好。可以自动处理。
其实用分类汇总、数据透视表都能很快地解决问题。当然,用函数也能解决,可你对函数掌握的不够。