我目前有一个日历计划,用于跟踪在开始和结束期间每 10 天应该发生的成就。我想跳过星期日和公共假期。我目前遇到的问题是,如果第 10 天是星期日/公共假日,则跳过该值。理想情况下,成就应该在星期日或公共假日后的第二天实现。
时间表的目的是创建一个 Scurve。基于一年中每周的成就。但是我想避免手动将它们添加到 excel 中。
下面是一个例子,其中1是公式应该返回其第一个成就的地方
Production DAYS 10
Start Date 31/12/2021
End date 28/07/2022
Week Day Date Achievement
1 Thursday 30/12/2021 0
1 Friday 31/12/2021 0
1 Saturday 1/01/2022 0
1 Sunday 2/01/2022 0
1 Monday 3/01/2022 0
1 Tuesday 4/01/2022 0
1 Wednesday 5/01/2022 0
2 Thursday 6/01/2022 0
2 Friday 7/01/2022 0
2 Saturday 8/01/2022 0
2 Sunday 9/01/2022 0
2 Monday 10/01/2022 0
2 Tuesday 11/01/2022 0
2 Wednesday 12/01/2022 **1**
3 Thursday 13/01/2022 0
3 Friday 14/01/2022 0
3 Saturday 15/01/2022 0
3 Sunday 16/01/2022 0
3 Monday 17/01/2022 0
3 Tuesday 18/01/2022 0
3 Wednesday 19/01/2022 0
4 Thursday 20/01/2022 0
4 Friday 21/01/2022 0
4 Saturday 22/01/2022 0
4 Sunday 23/01/2022 0
4 Monday 24/01/2022 **1**
4 Tuesday 25/01/2022 0
答案1
Excel 有一个非常好的函数调用 WORKDAY.INTL 可供您使用。
首先在某处定义所有公共假期,例如在范围 Sheet2!$A$1:$A$10 中。
现在设置您的工作日历以仅列出工作日。如果 C7 等于您的开始日期,则在 C8 中(并向下复制粘贴):
=WORKDAY.INTL(C7,1,11,Sheet2!$A$1:$A$10)
由于我们只列出工作日,因此我们只需计算行数即可确定它是否是第 10 天/成就日。在 D6 中(并向下复制粘贴):
=IF(MOD(ROW(D1),10)=0, 1, 0)