是否有一个公式可以放在单元格 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)