2014-08-29 114 views
1

我需要评估两个单元格([start_date]和[end date])并获取天数差异。 [结束日期] - 如果日期是相同的月份,[开始日期]效果很好,如果[开始日期]是上个月,则会出现问题。日期范围内的天数

例如,如果[开始日期]是20140527而[结束日期]是20140603 Excel将返回76。我也尝试使用DATEDIF公式,但Excel引发了一个#NUM!错误。

请看这个简单的screencast我创建。

+1

使用NETWORKDAYS功能http://office.microsoft.com/en -in/excel -help/calculate-the-difference-between-two-dates-HP010070467.aspx – Tamil 2014-08-29 19:26:51

+0

NETWORKDAYS还会返回一个#NUM!错误。 – Derek 2014-08-29 19:35:44

回答

2

从您提到的结果来看,Excel没有意识到数字代表日期。你的方法在一个月内运行,因为比方说15日比10日提前5天,而下个月15日比本月10日提前5天。

这样一来就能减去一个从其他Excel必须意识到的是,这些数字代表日期,这可以通过各种方式来实现,用一个与类型的公式:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) 

已经使这种转换简单地取得差异应提供您想要的结果,例如7而不是76(来自603-527)。

+0

您的公式可以工作,但它需要在新列中创建新的日期字段。我不假设有一种方法将此公式插入到现有日期字段中?也许运行一个宏? – Derek 2014-08-29 20:00:27

+0

我认为这种代码是唯一的方法 - 缺少像复制和特殊粘贴这样的“丑陋”之类的东西,将源代码顶部的副本结果赋值。但是如果你想要区别,那就必须去某个地方,并且你可以在一个单元中合并:'= formula(end)-formula(start)' – pnuts 2014-08-29 20:03:56

+1

好! = DATE(LEFT(B20,4),MID(B20,5,2),RIGHT(B20,2)) - DATE(LEFT(A20,4),MID(A20,5,2),RIGHT(A20,2 )) – Derek 2014-08-29 20:14:13

2

TEXT功能可以转换像20140829值像8/29/2014一个日期,这样你可以得到的天数用这个公式

=TEXT(B20,"0000-00-00")-TEXT(A20,"0000-00-00")

+0

谢谢巴里,工作很棒! – Derek 2014-08-30 00:39:13