Excel/Google Sheets判断用户仅首月更新库存的公式实现
适配Excel/Google Sheets的用户首月更新识别方案
需求说明
- 核心目标:识别唯一用户是否仅在自身首次出现库存更新记录的月份有操作,后续所有月份从未产生过库存更新行为
- 现有基础数据:全量用户库存更新操作记录、以数值型月份序列标注的操作时间字段
- 初步实现思路:通过IF逻辑结合用户邮箱维度的去重统计完成判断
公式实现
以下公式默认数据结构:A列为用户邮箱字段,B列为数值型操作月份序列(数值越大对应月份越晚),D列为去重后的用户邮箱列表,可根据实际表格的列位置、数据范围调整参数。
Google Sheets 版本
单用户逐行判断公式(输入后下拉填充即可):
=IF(MAX(FILTER(B:B,A:A=D2))=MIN(FILTER(B:B,A:A=D2)),"仅首月更新","后续有更新")
单公式自动生成全量去重用户+判断结果(无需下拉,输入后自动溢出全部结果):
=LET( valid_data, FILTER(A:B,A:A<>""), user_col, CHOOSECOLS(valid_data,1), month_col, CHOOSECOLS(valid_data,2), uniq_users, UNIQUE(user_col), judge_res, MAP(uniq_users, LAMBDA(each_u, IF(MAX(FILTER(month_col,user_col=each_u))=MIN(FILTER(month_col,user_col=each_u)),"仅首月更新","后续有更新") )), HSTACK(uniq_users,judge_res) )
Excel 版本
365/2021及以上支持动态数组的版本,逐行判断公式:
=IF(MAXIFS(B:B,A:A,D2)=MINIFS(B:B,A:A,D2),"仅首月更新","后续有更新")
2019及更早不支持动态数组的版本,输入公式后按Ctrl+Shift+Enter组合键确认数组公式,再下拉填充:
=IF(MAX(IF(A:A=D2,B:B))=MIN(IF(A:A=D2,B:B)),"仅首月更新","后续有更新")
注意事项
- 若月份序列为文本格式,需先转换为可比较的数值格式,否则月份大小判断会出现逻辑错误
- 若源数据存在测试行、空值行等无效记录,可在公式的筛选条件中增加对应规则排除干扰
内容的提问来源于stack exchange,提问作者Milkman
相关产品推荐
相关产品推荐

