我一直在excel中创建一个每周日历用于我正在处理的模型,该模型在用户输入的日期(开始日期和结束日期)之间的周数值为1,并且在这些日期。由于日历是每周日历,该功能当前将用户输入的日期(可以是一年中的任何日期)与一周的第一天(星期日开始的星期)进行比较。 问题是,该功能仅适用于不在一个月的前四天或五天的输入日期,因此如果用户将1月1日称为开始日期,则该功能将无效
我要做的是让它适用于任何日期。
目前,该函数将通过添加前一周的值来计算单元格值(因此,如果日期在开始日期之后但在结束日期之前,前一周的值将为1),则以条件为基础以下IF声明:
如果IF语句解析为TRUE,则它会增加1.问题是在该月的前几天开始日期是IF语句不能解析为真。我想这是因为本周的第一天不在同一个月。
以下是该功能的一个示例:
=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语句用于结束日期,并且与开始日期具有相同的问题。
非常感谢任何帮助。
注意:日期是正确的日期。 :)
答案 0 :(得分:1)
Excel有两个功能可以让你绕过整个支票......它们是 WEEKDAY 和 WEEKNUM 。
WEEKDAY根据您的一周开始时间返回星期几...
例如,= WEEKDAY ( DATE (2013,9,16),1)返回2,因为今天(星期一)是一周中的第二天这一周从星期日开始。
WEEKNUM 会返回当年过去的周数......
例如,= WEEKNUM ( DATE (2013,9,16),1)返回38,因为今天(2013年9月16日)是第38周2013年,如果你开始计算周日...
使用这些检查,您应该能够在没有所有 IF 检查的情况下找到日历输入的周边界。
祝你好运!