【问题标题】:In Excel, how do I calculate days between two dates ignoring full years?在 Excel 中,如何计算忽略整年的两个日期之间的天数?
【发布时间】:2014-08-30 23:28:27
【问题描述】:

如何计算excel中两个日期之间的相对年数+天数?我想知道年数和任何额外的天数(整年之外)。由于闰年,将总天数除以 365 不起作用。例如:

Cell A1 = '1/31/2015'
Cell B1 = '2/1/2025'
Cell C1 = '2/11/2025'
=(B1-A1)/365   # 10.0109 = 10 years + 4 days, looking for 10 years + 0 days
=(C1-A1)/365   # 10.0383 = 10 years + 14 days, looking for 10 years + 10 days

有没有简单的计算方法?

注意 - 这个问题不是 How to find the difference between dates in VBA 的重复问题 - 这是一个关于计算日期之间差异的问题。这个问题是问如何计算年份和天数的差异,这样天数的差异仅适用于最后一年,并且不会错误地包括前几年的闰年天数。

【问题讨论】:

  • 您可以在 VBA“用户定义函数”(UDF)中使用 DateDiff
  • 使用WorksheetFunction.YearFrac(StartDate, EndDate, DayCountConvention),您可以在其中指定 30/360、Act/Act 等天数约定

标签: excel date excel-formula


【解决方案1】:

您可以使用documented function DATEDIF

=DATEDIF(startdate,enddate,"Y")

这会给你整年的差异

“Y”以完整年份返回期间差。

“M”以完整月份的形式返回期间差。

“D”返回期间的天数。

“MD”返回“Start_Date”和“End_Date”中的天数之差。这里忽略了日期的月份和年份。

“YM”返回“Start_Date”和“End_Date”中月份的差值。这里忽略了日期的天数和年份

“YD”返回“Start_Date”和“End_Date”的天数之间的差异。这里忽略了日期的年份。

【讨论】:

  • 谢谢你 - 这工作=(DATEDIF(Open,A1,"Y")*365+DATEDIF(Open,B1,"YD")+1)/365
  • 我们在哪里可以找到这些未记录的函数列表?
  • 对不起,只知道早期版本的 Excel 中的那个,各种博客记录了它的使用。不知道其他人
【解决方案2】:

Excel 解决方案:

=DATEDIF(A1,A2,"y") & " years, " & DATEDIF(A1,A2,"ym") & " months, " & DATEDIF(A1,A2,"md") & " days"

请参考this link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2018-03-04
    • 2012-01-06
    • 1970-01-01
    相关资源
    最近更新 更多