基于createdDate和Not used flag设置Excel动作标识的公式求助
Excel公式实现主数据Action Flag自动分配
假设你的数据结构如下(可根据实际列调整引用):
- A列:主数据名称
- B列:状态(值为
Used或Not used) - C列:创建日期(标准日期格式)
- D列:输出Action Flag(目标列)
在D2单元格输入以下公式,下拉填充即可覆盖所有场景:
=IF(B2="Not used", IF(COUNTIFS(A:A,A2,B:B,"Used")>0, "Delete", IF(C2=MAXIFS(C:C,A:A,A2,B:B,"Not used"), "Keep", "Delete" ) ), IF(C2=MAXIFS(C:C,A:A,A2,B:B,"Used"), "Keep", "Delete and Replace" ) )
公式逻辑对应场景说明
- 场景2、4(含Used和Not used):当当前行是
Not used时,先检查同名称下是否存在Used状态的记录,存在则直接标记Delete - 场景1(全Not used):同名称下无
Used记录时,判断当前行是否为该名称下最新创建的Not used记录,是则Keep,否则Delete - 场景3、4(全Used或多Used):当当前行是
Used时,判断是否为该名称下最新创建的Used记录,是则Keep,否则Delete and Replace
注意事项
- 确保C列是标准日期格式,MAXIFS才能正确识别最新日期
- 若你的列范围不是整列(比如数据到1000行),可将
A:A改为$A$2:$A$1000这类限定范围,提升计算效率 - 若状态列的取值有大小写差异(比如
used/USED),可在公式中加入UPPER()或LOWER()统一转换,例如UPPER(B2)="NOT USED"
内容的提问来源于stack exchange,提问作者Aamir Shaikh
相关产品推荐
相关产品推荐

