【问题标题】:Determine if date is a workday in Excel确定日期是否是 Excel 中的工作日
【发布时间】:2015-06-03 23:04:09
【问题描述】:

我在 H10 列中有一个日期,需要在下一列 I 中为该日期添加 45 天

  1. 如果没有日期列 I 必须为空
  2. 如果第 45 天是周末,则计算必须移至下一个工作日,即星期一

【问题讨论】:

    标签: excel calendar weekday


    【解决方案1】:

    您需要结合两个基本功能。

    首先,DATE + INT = DATE。例如,如果 H10 = 1/8/2015H11 = H10 + 10 则 H11 将显示 1/18/2015

    在你的情况下,你想使用H10 + 45

    其次,您可以使用Weekday(date,mode) 函数来确定星期几。就个人而言,出于您的目的,您可以使用weekday(h10 + 45, 2),这将为 MTWRF 提供 1-5 分,为周末提供 6-7 分。所以像

    =if(weekday(h10+45,2) < 6, "weekday", "weekend")
    
    =if(weekday(h10+45,2) = 1, "Monday!!", "not monday...")
    

    但我们还没有完成 - 您需要确保您的一天实际上在工作日结束。所以我们可以做这样的事情——在确定工作日时,我们可以使用它来确定我们需要添加多少。如果我们最终得到 6(星期六),我们希望增加 2 天以将其推至星期一。在 7 的情况下,我们想增加 1 天以将其推到星期一。因此,我们可以简单地将8 - weekday(h10+45) 添加到工作日。所以我们的增值就变成了

    //   determine day type   weekday  weekend, so add the offset
    = if(weekday(h10+45) < 5, h10+45, h10 + 45 + (8 - weekday(h10+45))
    

    你也有空白的要求,所以你需要包装你使用的任何东西

    =if(isblank(h10),"", /* your real function here */)
    

    【讨论】:

      【解决方案2】:

      您可以结合使用 IF()、WEEKDAY() 和 WORKDAY() 的函数来计算您的完成日期并确保它不会落在周末。

      我用过

      WEEKDAY(WORKDAY(H10+45),16) 
      

      星期六和星期日分别表示为第 1 天和第 2 天。

      IF(WEEKDAY(WORKDAY(H10,45),16)=1,WORKDAY(H10,45)+2,IF(WEEKDAY(WORKDAY(H10,45),16)=2,WORKDAY(H10,46),H10))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-28
        • 1970-01-01
        • 1970-01-01
        • 2015-06-28
        • 2018-02-11
        相关资源
        最近更新 更多