You need to enable JavaScript to run this app. 如何用Excel公式创建SKIPPING列标记订单违规跳步
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel公式创建SKIPPING列标记订单违规跳步

跳步违规标记(SKIPPING列)逻辑修正方案

原公式的核心缺陷

原公式=IF($C2="completed","",IF($A2=$A3,"skipped",""))的触发逻辑完全偏离业务规则:

  • 标记触发的前提是「当前行状态为In process、且下一行属于同一ORDERS」,没有绑定“跳步违规的本质是某条已完成的STEP跳过了未完成的前置步骤”的判定要求
  • 因此会把每个ORDERS中、最后一个已完成STEP之后,本来处于正常推进流程的In process步骤,全部误判为skipped,也就是提到的ORDERS202下004、005号STEP的误判场景

符合业务规则的判定逻辑

同一ORDERS内,某STEP只要满足两个条件就属于跳步违规:1. 自身状态为completed;2. 同ORDERS下存在任意序号比它小的前置STEP处于In process状态

*核心调整:违规标记只针对状态为completed的行做判定,从根源上排除对正常在途In process步骤的误判。

可直接套用的公式

假设数据表列布局为:

  • A列:ORDERS编号
  • B列:STEP编号
  • C列:STATUS
  • D列:SKIPPING标记列
  • 数据从第2行开始,D2单元格输入以下公式后向下填充即可:
=IF($C2<>"completed","",IF(COUNTIFS($A:$A,$A2,$B:$B,"<"&$B2,$C:$C,"In process")>0,"skipped",""))

公式说明

  • 第一层判断:如果当前行STATUS不是completed,直接返回空值,不会对In process状态的行做任何标记
  • 第二层判断:统计当前行所在ORDERS下,所有STEP编号小于当前行、且状态为In process的行数量;只要数量大于0,说明当前completed的STEP存在未完成的前置步骤,判定为跳步违规,标记为skipped

大数据量优化提示

如果表中数据行数较多,整列引用(如$A:$A)会增加计算开销,可以把公式中的整列范围替换为实际数据的固定区间,比如数据总共到10000行,就写为:

=IF($C2<>"completed","",IF(COUNTIFS($A$2:$A$10000,$A2,$B$2:$B$10000,"<"&$B2,$C$2:$C$10000,"In process")>0,"skipped",""))

内容的提问来源于stack exchange,提问作者Ron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.31 04:24:02