如何Excel日期/时间减法

时间:2013-04-02 15:13:03

标签: excel

我正在尝试在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。有人能告诉我如何才能做到这一点吗?

2 个答案:

答案 0 :(得分:1)

最简单的方法是将TimeValue(“18:00”)或0.75(18/24)添加到公式中。减去3天也可能是算术运算。

=TRUNC(NOW())-3 + 0.75

答案 1 :(得分:0)

在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

在:

Formula...

后:

unformatted value

然后将适当的数字格式应用于单元格,瞧:

formatted date