我可以使用日期加 53 天减去任何星期日来计算日期吗

我可以使用日期加 53 天减去任何星期日来计算日期吗

是否有一个公式可以放在单元格 L3 中,通过比较单元格 E7 中的日期,将总共 53 天添加到该日期(不包括该期间内的任何星期日)来得出日期。结果日期将是例如 (E7) 2014 年 3 月 4 日加上 53 天(不包括任何星期日),并在单元格 L3 中给出该日期。

我将非常感激任何帮助:-)

答案1

以下公式可适用于任意天数(53 可用其他数字或单元格引用替换):

=E7+53+ROUNDDOWN(53/7,0)+IF((MOD(53,7)+WEEKDAY(E7,2))>6,1,0)

答案2

以下公式将在单元格 E7 中的日期上添加 53 天(不包括星期日)。

=E7+60+IF(WEEKDAY(E7)>=4, 1, 0)

总是会添加至少 60 天,因为一开始就有 53 天,再加上至少 7 个星期日。然后,如果原来的日期是星期三、星期四、星期五或星期六,则必须添加一天,因为又包含了一个星期日。

答案3

您可以使用 VBA 宏轻松完成此操作:

Function CalcDate(startDate, increment) As Date

    endDate = DateAdd("d", increment, Date)

    sundays = 0

    For i = startDate To endDate
        If Weekday(i) = vbSunday Then
            sundays = sundays + 1
        End If
    Next

    If sundays > 0 Then
        endDate = DateAdd("d", sundays, endDate)
    End If

    CalcDate = endDate

End Function

然后您可以像调用其他内置函数一样调用它:

=CalcDate(E7,53)

相关内容