如何用Excel公式统计每月新增唯一邮箱ID数量
如何用Excel公式统计每月新增邮箱ID数量?
现有包含邮箱、创建日期、数量的数据集(示例如下),需要统计每个月首次出现的邮箱ID数量,此前使用的公式会错误计入之前月份已存在的邮箱,以下是正确的公式方案:
示例数据集
| CreatedAt | Quantity | |
|---|---|---|
| johnppibokh@email.com | 2022-Sep-01 | 1 |
| gopijipooj@email.com | 2022-Sep-01 | 1 |
| bibygog2016@email.com | 2022-Oct-01 | 1 |
| imiti4282@email.com | 2022-Oct-01 | 2 |
| godwollipdii@email.com | 2022-Oct-01 | 4 |
| kwoot.khtp@email.com | 2022-Nov-04 | 2 |
| imiti4282@email.com | 2022-Nov-12 | 10 |
| pmokh.midhpki95@email.com | 2022-Nov-02 | 2 |
| ).ktigtpk-tgikkod@iclopd.com | 2022-Dec-08 | 1 |
| ).ktigtpk-tgikkod@iclopd.com | 2022-Dec-09 | 1 |
解决方案
方案1:适用于Excel 365/2021(支持动态数组)
假设目标月份放在单元格Repeats_Summary_Copy!V3(格式为2022-Sep这类月份格式),数据区域中邮箱列为Orders_Data!$G$2:$G$2442,创建日期列为Orders_Data!$B$2:$B$2442,使用以下公式:
=COUNTA(UNIQUE(FILTER(Orders_Data!$G$2:$G$2442, EOMONTH(Orders_Data!$B$2:$B$2442,0)=EOMONTH(Repeats_Summary_Copy!V3,0)*(MINIFS(Orders_Data!$B$2:$B$2442,Orders_Data!$G$2:$G$2442,Orders_Data!$G$2:$G$2442)=Orders_Data!$B$2:$B$2442))))
公式逻辑:
MINIFS(...):计算每个邮箱首次出现的日期MINIFS(...) = Orders_Data!$B$2:$B$2442:筛选出每条记录是对应邮箱首次出现的行EOMONTH(...) = EOMONTH(...):筛选出首次出现日期属于目标月份的邮箱UNIQUE(...):去重得到该月新增的邮箱列表COUNTA(...):统计新增邮箱的数量
方案2:适用于旧版Excel(不支持动态数组)
使用数组公式(输入后按Ctrl+Shift+Enter确认):
=SUMPRODUCT(--(EOMONTH(Orders_Data!$B$2:$B$2442,0)=EOMONTH(Repeats_Summary_Copy!V3,0)),--(Orders_Data!$B$2:$B$2442=MINIFS(Orders_Data!$B$2:$B$2442,Orders_Data!$G$2:$G$2442,Orders_Data!$G$2:$G$2442)))
公式逻辑:
- 第一个
--(...):判断当前记录的日期是否属于目标月份 - 第二个
--(...):判断当前记录是否是对应邮箱的首次出现 SUMPRODUCT:将两个条件的结果相乘后求和,得到同时满足两个条件的记录数(即该月新增邮箱数量)
示例验证结果
按示例数据计算:
- 2022-Sep:2个新增邮箱
- 2022-Oct:3个新增邮箱
- 2022-Nov:2个新增邮箱(
imiti4282@email.com已在Oct出现,不计入) - 2022-Dec:1个新增邮箱
内容的提问来源于stack exchange,提问作者sumeet kumar
相关产品推荐
相关产品推荐

