Excel计算某列不同日期对应365个工作日后的时间(排除法定节假日、公休日,不排除周末法定上班日)?

急急急(E列数据是2015-2017年之间的一些日期,H列是2015-2017年之间的节日,I列是2015-2017年法定周末需要上班的日期)

我打算在G列使用workday函数:workday(E3,365,H3:H86)求出G列,由于workday函数结果是默认加上了周末两天,再加上H列的法定节假日算出来的时间。那么就会有一个问题,函数默认周末不算工作日,但是国家规定周末某一天要加班的情况I列(比如说国庆节放假前的周末可能会上班,那这个周末就应该算工作日),这种情况下也算工作日就不应该加,如何解决这个问题?有其他什么公式吗?

3个回答

守候 2025-07-12 00:47:04
下班后看到你的这个问题,都没及时下班,为你作答,但现在却找不到问题了。不会是你删除了下午的提问吧。100分的问题也变成10分了。
这个问题要用净工作日计算的另一个函数:WORKDAY.INTL,但这个周末加班没有规律,就增加了难度。想到的解决办法是:
公式中按每周工作7天,周六周日全部不休息,然后把不要加班的日期,即休息的双休日当作假日,添加到H列中。假设H列的法定假日和休息的双休日到了H50,公式就是这样的:
G3=WORKDAY.INTL(E3,365,"0000000",H$3:H$50)
公式中的"0000000",7个0表示一周7天都要工作,不休息,如果每周的哪天休息,就将哪个位置的0改成1,这是WORKDAY.INTL比WORKDAY函数增强的地方。
风在喃我在听 2025-06-16 15:49:37
这个我之前用VBA处理过,做了一个自动考勤表,自动判断节假日和工作日。
逝夏源花 2025-05-16 21:27:36
我觉得这个是。。。