我正在尝试在 Excel 中设置一个公式,该公式将从 中减去天数4/29/2013 16:00
,但始终将时间保持在6:00:00 PM
. 我找到了这个公式:
=DATE(YEAR(B2),MONTH(B2),DAY(B2)-3)
减去天数,但它返回4/26/2013 00:00
。我希望时间 ( 00:00
) 永远存在18:00
。有人可以告诉我如何做到这一点吗?
我正在尝试在 Excel 中设置一个公式,该公式将从 中减去天数4/29/2013 16:00
,但始终将时间保持在6:00:00 PM
. 我找到了这个公式:
=DATE(YEAR(B2),MONTH(B2),DAY(B2)-3)
减去天数,但它返回4/26/2013 00:00
。我希望时间 ( 00:00
) 永远存在18:00
。有人可以告诉我如何做到这一点吗?
最简单的方法是将 TimeValue("18:00") 或 0.75 (18/24) 添加到您的公式中。减去 3 天也可能是算术运算。
=TRUNC(NOW())-3 + 0.75
在 VBA 中,您可以使用以下DateAdd
功能:
Sub DateChange()
Dim originalDate as Date
Dim newDate as Date
originalDate = "4/29/2013 16:00"
newDate = DateAdd("d", -3, originalDate)
MsgBox newDate,vbInformation
End Sub
或者,您可以编写一个自定义函数来近似 DateAdd 函数并使其在工作表上可用:
Public Function wsDateAdd(interval As String, number As Double, myDate As Date)
'function to make 'DateAdd' VBA function available on worksheet.'
Dim newDate As Date
Select Case LCase(interval)
Case "y", "m", "d", "h", "n", "s" 'years-months-days-hours-minutes-seconds'
newDate = DateAdd(interval, number, myDate)
End Select
wsDateAdd = newDate
End Function
前:
后:
然后将适当的数字格式应用于单元格,瞧: