![使用 Excel 计算员工公共假日的时间表](https://linux22.com/image/1488773/%E4%BD%BF%E7%94%A8%20Excel%20%E8%AE%A1%E7%AE%97%E5%91%98%E5%B7%A5%E5%85%AC%E5%85%B1%E5%81%87%E6%97%A5%E7%9A%84%E6%97%B6%E9%97%B4%E8%A1%A8.png)
答案1
我假设 A 列是真实日期值,格式化为也显示星期名称。可以使用自定义格式来实现DDD dd/mm
。
节假日时间需要确定 A 列是否为星期日。这可以通过WEEKDAY()
返回1
星期日的函数来完成。
您还需要包括公共假日,但 Excel 本身并不支持公共假日,因为每个国家的假日都不同。您可以在另一张表上设置假日列表,并为该列表指定一个范围名称(例如Holidays
)。然后,您的计算需要确定 A 列日期是否出现在该范围内。使用VLOOKUP()
.VLOOKUP
有一个特殊的怪癖,即如果未找到值,它将返回#N/A
,因此您需要测试错误。
因此,如果没有错误,那么这一天就是星期日,否则WEEKDAY(A13)=1
就是假日。VLOOKUP(A13,Holidays,1,FALSE)
单元格I13
需要包含一个条件来结合这两个测试。只要您的假期列表不包含星期日,您就可以将它们加在一起。
=IF(WEEKDAY(A13)=1,F13,0) + IF(ISERROR(VLOOKUP(A13,Holidays,1,FALSE)),0,F13)
请注意,我在这里使用的是F13
总小时数,因为假日工作不太可能获得加班资格和节假日津贴,我怀疑加班费是一个简单的计算TimeOut - TimeIn - Breaks - DailyTimeToWork
(这是其他地方设置的常数)。由于问题没有定义精确的业务规则,您几乎肯定需要调整这些建议。