如何在日期中添加天数,仅考虑工作日(即忽略周末)?
Posted
技术标签:
【中文标题】如何在日期中添加天数,仅考虑工作日(即忽略周末)?【英文标题】:How to add number of days to a date, consider only business days (i.e. ignore weekends)? 【发布时间】:2012-06-10 22:44:05 【问题描述】:我正在尝试创建一个公式来计算 n-th 营业日期(只有星期一到星期五是营业日)。 为简单起见,假期并不重要。只应忽略周末。
例如:
+------------------------------------------------------------------
| A B C
+------------------------------------------------------------------
1 | Starting Date Business-Day Number Business Date
2 | 06-Jun-2012 0 06-Jun-2012
3 | 06-Jun-2012 1 07-Jun-2012
4 | 06-Jun-2012 2 08-Jun-2012
5 | 06-Jun-2012 3 11-Jun-2012 <-- June 9th (Sat) and 10th (Sun) are skipped
6 | 06-Jun-2012 4 12-Jun-2012
...
该公式将用于填充上面的C列。 我能想出的唯一解决方案是在工作日表上进行 vlookup,我发现这有点麻烦。
有什么想法可以在一个公式中实现吗?
(可以在 Excel 或 OpenOffice-Calc 上)
【问题讨论】:
查找是您最好的解决方案,因为它可以轻松应对假期,它简单且易于扩展。公式将是正确的 PIA。 【参考方案1】:在 Excel WORKDAY 函数中执行此操作,例如C2中的这个公式
=WORKDAY(A2,B2)
您还可以添加假期范围,例如 H2:H10 中列出的假期
=WORKDAY(A2,B2,H$2:H$10)
WORKDAY 是 Excel 2007 及更高版本中的内置函数 - 在早期版本中您需要启用Analysis ToolPak
addin
【讨论】:
它似乎适用于整数,但如果我的持续时间包含一天的一半和其他部分怎么办?【参考方案2】:在 LibreOffice Calc 中:
C1=A1+INT(B1/5)*7+MOD(B1,5)+(IF(WEEKDAY(A1,2)+MOD(B1,5)>5,2,0))
【讨论】:
以上是关于如何在日期中添加天数,仅考虑工作日(即忽略周末)?的主要内容,如果未能解决你的问题,请参考以下文章