Excel中计算两个日期之间的天数

Naz*_*Naz 9 date date-time microsoft-excel

我认为 7 天是一周,所以如果我看 2019 年 1 月 1 日 - 2019 年 1 月 7 日,我会说那是 7 天。但我经常看到,当人们计算两个日期或年龄之间的天数时,他们使用公式B1-A1,其中A1是开始日期/DoB,B1是结束日期或今天的日期。对于上述示例,这将为 6。

我使用(B1-A1)+1which 给出 7 并且对于出生日期我会使用((B1-A1)+1)/365.25. 哪个是正确的?

Gar*_*ent 16

这不是一个公式正确而另一个错误的问题。这是你在寻找什么的问题。

假设您一天 24 小时都在处理一项任务。您在 2000 年 1 月 17 日上午 9:00 开始任务,并在 2000 年 1 月 18 日上午 9:00 完成任务。如果问题是任务花了多少天?你会接受差价;获得 24 小时并回答1天。

但是,如果问题是您在该任务上工作了多少天?你会立即回复2

因此=B1 - A1=B1 - A1 + 1可能是合适的,具体取决于您要测量的内容。


Chr*_*ers 14

答案围绕 Excel 如何处理日期展开。当使用 等公式计算日期之间的天数时B1-A1,Excel 会将日期转换为序列号,并使用序列号计算两者之间的数字或天数。

默认情况下,1900 年 1 月 1 日是序号 1,而 2008 年 1 月 1 日是序号 39448,因为它是 1900 年 1 月 1 日之后的 39,447 天。(来源:Microsoft

因此,1900 年 1 月 1 日和 1900 年 1 月 7 日之间的天数等于 7 减 1 等于 6。

这同样适用于 1/1/2008 - 7/1/2008

2008 年 1 月 1 日为 39,447,2008 年
1 月 7 日为 39,453

39,453 — 39,447 = 6

如果您想计算包含的天数,则需要添加 1 以使公式成为例如B1-A1+1

如果要计算独占天数,则需要减去 1 天B1-A1-1

  • 更深层次的答案是像`+`和`-`这样的数学运算被定义为一个独占运算。它不是特定于 Excel 的;Excel 部分是从日期/时间戳到序列号的转换。 (3认同)

Raj*_*nha 0

我想建议 3 个不同的公式来计算 2 个日期之间的年龄。

在此输入图像描述

  1. 仅获取年份:

=INT((B1-A1)/365)

或者,

=ROUNDDOWN(YEARFRAC(A1, B1, 1), 0)

或者,您TODAY()也可以使用函数:

=ROUNDDOWN(YEARFRAC(A1, TODAY(), 1), 0)

  1. 要获取以年、月和日为单位的完整年龄,请使用此工具。

    =DATEDIF(A1,B1,"Y") & " Years, " & DATEDIF(A1,B1,"YM") & " Months, " & DATEDIF(A1,B1,"MD") & " Days"
    
    Run Code Online (Sandbox Code Playgroud)

编辑:

计算两个日期之间的天数有点随意。基本上要看需要。

  1. 计算天数,不包括开始日期
  2. 计算天数,包括开始日期
  3. 计算天数,不包括开始日期和结束日期

在此输入图像描述

考虑到 OP 的样本日期,可以使用以下公式。

情况1的公式:

=DATEDIF(B2,B3,"d")

=DAYS(B3,B2)

=INT(B3-B2)

情况2的公式:

=DATEDIF(B2,B3,"d")+1

=DAYS(B3,B2)+1

=INT(B3-B2+1)

情况3的公式:

=DATEDIF(B2,B3,"d")-1

=DAYS(B3,B2)-1

=INT(B3-B2-1)

根据需要调整公式中的单元格引用。

  • 这使事情变得过于复杂,并且没有回答问题(多少天)。 OP 不询问年数或年月日。 (3认同)
  • 如果涉及闰年,“INT((B1-A1)/365)”可能会提供错误的结果。 (3认同)