Excel公式以精确计算两个日期之间的天数

时间:2017-12-05 14:43:06

标签: excel date excel-formula

使用天数精确度获得两个日期之间的天数的公式是什么。

例如:01-01-2017之间的天数& 14-02-2017这两个日期是45天。 (31天+ 14天 - 包括两者)所以我期待1个月14天作为输出。因此格式应为1.14(1个月14天)

编辑: 一个月内没有假设30天。我期待确切的日历差异。

4 个答案:

答案 0 :(得分:1)

试试这个:

=DATEDIF(A1,B1,"m") & "." & B1-DATE(YEAR(B1),MONTH(B1)-IF(DAY(A1)>DAY(B1),1,0),DAY(A1))+1

enter image description here

答案 1 :(得分:1)

使用 A1 B1 中的数据,在 C1 中输入:

=DATEDIF(A1,B1,"m") & "." & DATEDIF(A1,B1,"md")

enter image description here

修改#1:

公式给出了文本值。要转换为数字并保留格式,请选择包含公式的 C 列中的单元格并运行此短宏:

Sub KonverToNumber()
    Dim r As Range, L As Long, T As String
    Dim rr As Range

    For Each r In Selection
        Set rr = r.Offset(0, 1)
        T = r.Text
        v = CDbl(T)
        L = Len(Split(T, ".")(1))
        If L = 2 Then
           rr.NumberFormat = "0.00"
        Else
            rr.NumberFormat = "0.0"
        End If
        rr.Value = v
    Next r
End Sub

结果将在 D

列中

enter image description here

答案 2 :(得分:1)

如果您想在一个单元格中显示“年,月,日”,那么这就是公式。

= DATEDIF(D17,E17,"y") & " Years, " & 
  DATEDIF(D17,E17,"ym") & " Months, " &
  DATEDIF(D17,E17,"md") & " Days"

答案 3 :(得分:0)

如果我理解正确的话,我一直在使用这种方法来做到这一点。 假设如下:
D17是开始日期
E17是结束日期

如果您使用以下公式:
= DATEDIF(D17,E17,“y”)& “岁月”,& DATEDIF(D17,E17),“ym”)& “几个月”,& E17-DATE(年(E17),月(E17),1)& “天”

要获得所需的确切格式,您可能需要编辑公式,如下所示:
= DATEDIF(D17,E17),“ym”)& “” &安培; E17-DATE(YEAR(E17),月(E17),1)

希望这对你有用,就像我一样。