You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过函数判定延迟发货:双条件IF语句编写求助

解决发货延迟超1小时的统计问题

你遇到的核心问题是没同时限制「时间差的延迟方向」和「发货状态」,原来的公式只判断了时间差数值,既没区分是提前还是延迟,也没结合「延迟」状态的要求,才会出现误统计。

正确的判断逻辑

要精准统计「发货延迟超1小时」,必须同时满足两个条件:

  • 实际发货时间晚于预约时间,且时间差超过60分钟
  • 发货状态明确标记为「延迟」

修正后的公式示例

把两个条件用AND组合,确保只有同时满足时才返回1:

IF 
  (HDIFF(SHIPMENT_INDIVIDUAL_MOVE_COSTING.LOAD_DATE_FIELDS.SL_LD_DROP_ACTUAL_DATE, SHIPMENT_INDIVIDUAL_MOVE_COSTING.LOAD_DATE_FIELDS.SL_LD_DROP_APPT_START_DATE, 'Minute', 'D6') > 60)
  AND 
  (SHIPMENT_INDIVIDUAL_MOVE_COSTING.STATUS = '延迟')
THEN 1 ELSE 0

(注:如果你的发货状态字段不是STATUS,替换成系统里对应的字段名即可)

额外验证点

如果还是出现提前发货被统计的情况,检查HDIFF的参数顺序:

  • 确认HDIFF(实际时间, 预约时间)返回正数时代表「延迟」,负数代表「提前」
  • 如果参数顺序是「预约时间在前,实际时间在后」,那提前发货会返回正数,此时要改成HDIFF(...) < -60来表示延迟超60分钟,再结合状态条件

这样就能彻底排除提前发货的误统计,精准筛选出符合要求的延迟订单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 17:37:31