我一直在为我正在处理的模型在 excel 中创建一个周历,在用户输入的日期(开始日期和结束日期)之间的几周内,其值为 1,而在这些日期之外则为零。由于日历是周历,因此该函数当前将用户输入的日期(可以是一年中的任何日期)与一周的第一天(从星期日开始的一周)进行比较。问题是,该功能仅适用于不在该月的前四或五天的输入日期,因此如果用户将 1 月 1 日作为开始日期,该功能将不起作用。
我想做的是让它适用于任何日期。
目前,该函数将通过添加前一周的值来计算单元格值(因此,如果日期在开始日期之后但在结束日期之前,前一周的值为 1),然后以以下 IF 语句为条件:
- 如果开始日期与当周的第一天在同一月份;和
- 如果开始日期的天值小于当周第一天的天值+6(即第一个条件确定是在同一周);和
- 如果开始日期的day值大于当周第一天的day值(即第二个条件确定是否在同一周)
如果 IF 语句解析为 TRUE,则它加 1。问题在于,当月的前几天开始日期是 IF 语句不解析为 true。我认为这是因为本周的第一天不在同一个月。
以下是该函数的一个示例:
=AG263+IF(AND(AH$260=MONTH(Assumptions!$B118),DAY(AH$262)+6>=
(DAY(Assumptions!$B118)),DAY(AH$262)
=DAY(Assumptions!$B118)),1,0)+IF(AND(AH$260=MONTH(Assumptions!$B125),
DAY(AH$262)+6>=(DAY(Assumptions!$B125)),DAY(AH$262)<=DAY(Assumptions!$B125))
,-1,0)
函数中的第二个 IF 语句用于结束日期,与开始日期有相同的问题。
非常感谢任何帮助。
注意:日期是正确的日期。:)