Excel自定义日历功能无法正常工作

时间:2013-09-16 06:14:21

标签: excel excel-formula excel-2010

我一直在excel中创建一个每周日历用于我正在处理的模型,该模型在用户输入的日期(开始日期和结束日期)之间的周数值为1,并且在这些日期。由于日历是每周日历,该功能当前将用户输入的日期(可以是一年中的任何日期)与一周的第一天(星期日开始的星期)进行比较。 问题是,该功能仅适用于不在一个月的前四天或五天的输入日期,因此如果用户将1月1日称为开始日期,则该功能将无效

我要做的是让它适用于任何日期。

目前,该函数将通过添加前一周的值来计算单元格值(因此,如果日期在开始日期之后但在结束日期之前,前一周的值将为1),则以条件为基础以下IF声明:

  1. 如果开始日期与当前周的第一天相同; AND
  2. 如果开始日期的日期值小于当前周的第一天的日期值+6(即确保它在同一周内的第一个条件); AND
  3. 如果开始日期的日期值大于当前一周第一天的日期值(即确保它在同一周内的第二个条件)
  4. 如果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语句用于结束日期,并且与开始日期具有相同的问题。

    非常感谢任何帮助。

    注意:日期是正确的日期。 :)

1 个答案:

答案 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 检查的情况下找到日历输入的周边界。

祝你好运!

相关问题