如何基于Hubstaff考勤表匹配Google Sheets事件时间查找值班员工
Google Sheet事件时间匹配在岗员工方案
你可以直接用Google Sheets内置的FILTER+IFERROR组合公式实现需求,操作方法如下:
前置准备
将Hubstaff导出的考勤数据单独存放在一个名为Hubstaff考勤的工作表中,确认列对应关系:
- A列:
Start of Shift(班次开始时间) - B列:
End of shift(班次结束时间) - C列:
Employee(员工姓名)
所有时间列的格式统一设置为「日期时间」类型:选中列后点击顶部菜单栏「格式 > 数字 > 日期时间」即可,避免文本格式导致匹配失效。
匹配公式
假设你的事件日志存放在另一个工作表,A列为Event time(事件时间),首行是表头,有效数据从第2行开始,在B2单元格输入以下公式后下拉填充即可:
=IFERROR(FILTER('Hubstaff考勤'!C:C, 'Hubstaff考勤'!A:A<=A2, 'Hubstaff考勤'!B:B>=A2), "BLANK")
公式逻辑说明
FILTER函数会筛选出考勤表中同时满足两个条件的员工:班次开始时间小于等于当前事件时间、班次结束时间大于等于当前事件时间IFERROR函数处理无匹配的场景,直接返回你需要的BLANK结果
特殊场景适配
如果存在同一时段多名员工在岗的情况,上述公式会自动返回所有符合条件的员工姓名;如果只需要返回第一个匹配到的员工,可以调整公式为:
=IFERROR(INDEX(FILTER('Hubstaff考勤'!C:C, 'Hubstaff考勤'!A:A<=A2, 'Hubstaff考勤'!B:B>=A2),1), "BLANK")
内容的提问来源于stack exchange,提问作者ThomasSt
相关产品推荐
相关产品推荐

