我有一个日期,我需要将日期从实际日期增加一天,一个月或一年。这基于下面的字段列表,并且根据输入而不同。每个结果日期也必须是工作日,即周末日或银行假日。我现在将放弃银行假期要求。
我正在使用公式=DATE(YEAR($A$1),MONTH($A$1),DAY($A$1))
并根据下面B4中的值对每行中的增量值进行硬编码。
此外,一旦我们通过A4列中的SP,公式将更改为引用使用SP值处的值创建的日期。
因此,如果我们将结果放入E列,则公式将更改为=DATE(YEAR($E$6),MONTH($E$6),DAY($E$6))
日期也需要采用text(xx,"mm/dd/yyyy")
有关如何在VIA VBA解决方案宏的Excel中创建此内容的任何建议将不胜感激
A1
=today()
A4 B4
ON 1 Day
TN 2 Day
SP 2 Day
SN 2 Day
1W 7 Day
2W 14 Day
3W 21 Day
1M 1 Month
2M 2 Month
3M 3 Month
4M 4 Month
5M 5 Month
6M 6 Month
7M 7 Month
8M 8 Month
9M 9 Month
10M 10 Month
11M 11 Month
1Y 1 Year
15M 15 Month
18M 18 Month
21M 21 Month
2Y 2 Year
3Y 3 Year
4Y 4 Year
5Y 5 Year
6Y 6 Year
7Y 7 Year
8Y 8 Year
9Y 9 Year
10Y 10 Year
15Y 15 Year
20Y 20 Year
25Y 25 Year
30Y 30 Year
答案 0 :(得分:1)
我会创建一个用户定义的函数,就像那样
Function IncDate(ByVal dt As Date, ByVal add As Long, ByVal dmy As String) As Date
Select Case UCase(dmy)
Case "DAY"
IncDate = DateAdd("d", add, dt)
Case "MONTH"
IncDate = DateAdd("m", add, dt)
Case "YEAR"
IncDate = DateAdd("yyyy", add, dt)
Case Else
IncDate = dt
End Select
End Function
然后你可以写在D
=IncDate(TODAY();B4;C4)
然后,您需要根据需要格式化单元格。
结果看起来像那样