优秀的编程知识分享平台

网站首页 > 技术文章 正文

在Excel用max()/min()函数代替IF()函数的多分支判断的一个小案例

nanyue 2025-09-14 23:57:04 技术文章 2 ℃

公司目前的考勤要求是早上上班打卡一次,晚上下班打卡一次。中间1.5个小时的吃饭午休时间(12:00~13:00)

有部分员工遵守考勤制度,上班期间私自脱岗外出。

因为公司装有门禁系统,所以脱岗员工的脱岗外出时间和脱岗返回时间都是有记录的。 现在我已经知道了某个员工的一个月内某些日期的上下班打卡记录,和私自脱岗的时间点。 根据脱岗时间与午休时间段的重合情况会分为三种情况,见如下示意图:

A情形:脱岗时间段与午休前半段重合

B情形:脱岗时间段与午休后半段重合

C情形:脱岗时间段完全包括午休时间段

实际脱岗时间=记录显示外出时间总长(T2-T1)-应给与员工的午休时长(ABC三种情况中重合的时间段)

我要如何用excel计算出该员工的实际脱岗时间呢!

如果用if()函数进行可能情况的判断,我就要分成ABC三种情况去判断重合度来计算员工的实际脱岗时间长度,写出来的函数会比较冗长,大家可以自己尝试如何写。

但是如果用max()/min()函数就可以规避这个问题。

实际脱岗时间=MIN(T2,Te)-MAX(T1,Ts);

问题解决,简洁又优雅!

最近发表
标签列表