Excel多条件唯一值统计:每日独立邮件打开用户数实现方法
按日期统计“mail open”操作的独立用户数解决方案
需求说明
统计每日执行「mail open」操作的独立用户数量,同一用户单日多次操作仅计1次。示例数据中Day 1统计结果为2,Day 2为2。
解决方案
以下提供几种Excel环境下的可行方法:
方法1:动态数组函数直接统计(适用于Excel 365/2021)
针对单个日期(比如Day 1),直接使用以下公式即可得到结果:
=ROWS(UNIQUE(FILTER(A2:A8, (B2:B8="mail open")*(C2:C8=1))))
- 替换公式中的
1为目标日期(如2),就能统计对应日期的独立用户数。 - 原理:先用
FILTER筛选出当日执行「mail open」的所有用户,再用UNIQUE去重,最后用ROWS统计去重后的行数。
方法2:SUMPRODUCT函数(兼容旧版Excel)
如果你的Excel版本不支持动态数组,可使用SUMPRODUCT实现:
统计Day 1的公式:
=SUMPRODUCT((B2:B8="mail open")*(C2:C8=1)/COUNTIFS(A2:A8, A2:A8, B2:B8, "mail open", C2:C8, 1))
- 替换公式中的
1为目标日期即可统计对应日期。 - 原理:分子筛选出当日符合操作条件的行,分母计算每个用户当日该操作的次数,相除后每个用户仅贡献1,求和后得到独立用户数。
方法3:Power Query批量统计(适合多日期批量处理)
如果需要一次性统计所有日期的结果,用Power Query更高效:
- 选中数据区域,点击「数据」选项卡→「从表格/区域」,将数据导入Power Query编辑器
- 筛选「action」列,仅保留「mail open」选项
- 点击「转换」选项卡→「删除重复项」,勾选「person」和「day」两列,删除用户+日期的重复组合
- 点击「转换」选项卡→「分组依据」,设置分组列为「day」,操作选「计数行」,新列名设为「独立用户数」
- 点击「关闭并上载」,即可得到所有日期的统计结果
内容的提问来源于stack exchange,提问作者dv58585
相关产品推荐
相关产品推荐

