在日常护理排班中,我们常常会遇到一个问题:同一个护理员在同一时间段内,是否被安排服务了多位参保人?这违反了“一人一时段一参保人”的管理要求。
手动检查几千行数据显然不现实。别担心,用 Excel 结合AI的智能提示,只需一个公式,就能自动标出所有时间重叠的记录。
问题场景
原始数据如下(C列:护理员姓名;J列:签到时间;K列:签退时间;D列:参保人姓名):
截图1:表格结构示例

我们要判断的是:同一护理员(C列)的签到时间和签退时间是否存在重叠,即上一行的签退时间还没结束,下一行的签到时间就已经开始了。如果存在重叠,说明该护理员在同一时间段内服务了多个参保人,不符合规定。
Deepseek提示词:
要判断C列同一个护理人多行签到签退时间有没有重叠,即上一个签退时间还没结束就开始签到下一个。J列是签到时间,K列是签退时间。
Deepseek思考5秒钟后给了公式,点击“复制”,粘贴到表格L2单元格,点击L2黑色+双击填充整列公式即可。

解决思路
利用 Excel的SUMPRODUCT函数,对同一护理员的所有服务记录进行逐行判断:如果当前行的签到时间小于其他行的签退时间,且当前行的签退时间大于其他行的签到时间,就说明时间段有重叠。SUMPRODUCT可以同时对多个条件进行计数,并避免循环引用的警告。
具体操作步骤
1.在 L2 单元格中输入AI给的公式,回车。
2.双击 L2 单元格右下角的填充柄(黑色小十字),将公式自动填充到整个L列。
3.查看L列结果:显示“重叠”的即为违规记录。
公式原理解析
- C:C=C2:筛选同一护理员的所有记录。
- J:J<K2与K:K>J2:判断其他记录的签到时间是否在当前记录结束之前,以及签退时间是否在当前记录开始之后。
- SUMPRODUCT统计满足所有条件的记录数。
- 若统计结果大于1(即除自身外还有至少一条重叠记录),则标记为“重叠”。
效果演示
公式填充后,效果如下图所示:
截图2:公式填写位置及示例结果

所有重叠的冲突记录都会被自动标记,你可以进一步筛选“重叠”行,进行人工复核或调整排班。
注意事项
- 确保 J列、K列 的时间格式为 Excel 可识别的标准时间(如2024-01-01 8:00或08:00)。
- 如果同一位护理员在同一参保人服务下出现时间重叠(例如重复录入),也会被判为“重叠”,建议结合业务规则进一步过滤。
- 数据量较大时,可将C:C、J:J等整列引用改为具体范围(如$C$2:$C$1000),提升运算速度。
如果你已厌倦加班做表、手动折腾,欢迎加我微信sunnynie私聊。
用AI+Excel,把时间还给生活,把效率带给工作。

夜雨聆风