如何在Excel中按日去重统计姓名周出现次数?
Excel 单日去重后统计姓名周出现次数
针对你遇到的「单日同一姓名多次出现仅计1次,统计一周内总次数」的问题,COUNTIF会重复统计单日重复项,这里提供三种实用解决方案:
方案1:Excel 365/2021 简化公式(动态数组)
如果你的Excel支持动态数组函数,直接用UNIQUE+FILTER组合快速实现:
=COUNTA(UNIQUE(FILTER(A:A,(B:B="Joshua")+(C:C="Joshua")+(D:D="Joshua"))))
- 逻辑:
(B:B="Joshua")+(C:C="Joshua")+(D:D="Joshua")筛选出所有出现过Joshua的日期行 UNIQUE对筛选出的日期去重,确保单日只留一条COUNTA统计去重后的日期数量,就是该姓名一周内的有效出现次数
方案2:兼容旧版Excel(无动态数组)
用SUMPRODUCT+COUNTIFS组合实现兼容:
=SUMPRODUCT(--(COUNTIFS(A:A,A:A,B:B,"Joshua")+COUNTIFS(A:A,A:A,C:C,"Joshua")+COUNTIFS(A:A,A:A,D:D,"Joshua")>0))
- 逻辑:
COUNTIFS(A:A,A:A,X:X,"Joshua")统计每个日期下对应列(Pen/Pencil/Eraser)的Joshua出现次数 - 三列次数相加>0 代表该日期出现过Joshua,
--将布尔值转为1/0 SUMPRODUCT对所有日期的1/0求和,得到总次数
方案3:辅助列法(直观易懂)
如果公式太复杂,可添加辅助列(比如E列):
- 在E2单元格输入公式:
=IF(COUNTIFS(A:A,A2,B:B,"Joshua")+COUNTIFS(A:A,A2,C:C,"Joshua")+COUNTIFS(A:A,A2,D:D,"Joshua")>0,1,0) - 下拉填充到所有数据行
- 对E列求和:
=SUM(E:E)(注意排除表头行)
以上三种方法都能解决「周一Joshua出现两次仅计1次,一周总次数为2」的需求。
内容的提问来源于stack exchange,提问作者Tran Nguyen
相关产品推荐
相关产品推荐

