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

移除考勤记录中匹配IN/OUT打卡值并上移剩余值的数组公式需求

考勤打卡记录合并去重动态数组方案

针对你需要移除连续匹配的OUT/IN打卡记录、自动合并时段并无空白行溢出的需求,可使用以下Excel动态数组公式(无需辅助列,粘贴即可自动适配数据):

=LET(
    数据源, A2:INDEX(D:D,COUNTA(A:A)),
    员工ID, INDEX(数据源,,1),
    考勤日期, INDEX(数据源,,2),
    打卡入, INDEX(数据源,,3),
    打卡出, INDEX(数据源,,4),
    分组标识, SCAN(1, 打卡入, LAMBDA(当前组, 当前入, IF(当前入=INDEX(打卡出, 当前组-1), 当前组, 当前组+1))),
    唯一分组, UNIQUE(分组标识),
    结果集, HSTACK(
        XLOOKUP(唯一分组, 分组标识, 员工ID),
        XLOOKUP(唯一分组, 分组标识, 考勤日期),
        XLOOKUP(唯一分组, 分组标识, 打卡入),
        XLOOKUP(唯一分组, 分组标识, 打卡出,,-1)
    ),
    VSTACK(A1:D1, 结果集)
)

公式说明

  1. 自动适配数据范围:A2:INDEX(D:D,COUNTA(A:A))会自动识别A列有内容的最后一行,无需手动修改数据范围
  2. 分组逻辑:通过SCAN函数为连续匹配的打卡记录(上一行OUT=下一行IN)分配同一组编号,同一员工的独立打卡时段则分配新组
  3. 聚合合并:用XLOOKUP分别提取每组的第一个员工ID、考勤日期、打卡入时间,以及每组最后一个打卡出时间,实现时段合并
  4. 自动溢出:公式会自动向下向右溢出完整结果,无空白单元格

使用方法

直接将公式粘贴到目标区域的起始单元格(如F1),原始考勤数据粘贴到A1开始的区域即可,无需额外编辑操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:30:29