2016-05-16 264 views
0

是否有任何選項可以將日期與日期格式yyyymmddhhmmss與當前日期進行比較? 基本上我的一個外部來源有這種類型的日期,我必須將此日期與current date進行比較,並檢查兩者之間的差異。我曾嘗試將這些日期與LEFT,MID,RIGHT functions分開,所以基本上,我有兩列 - 第一個是日期,第二個是時間,但我無法找到任何選項以列中的日期減去當前日期,因爲結果不正確。如何用excel減去日期 - 當前日期的格式爲yyyyddmmhhmmss

樣品日期:20161112203545

分割後:2016-11-12 20:05:45

任何想法?

+0

請問時區或夏令事項?我問,因爲取決於這些電子表格來自哪裏,你在哪裏,以及日期有多遠可能很重要。 – n8wrl

回答

0

之日起,如

20161112203545分割後:2016年11月12日20時05分45秒

將會給你帶來一些問題,如Excel的分配流水號日期值,它會拋棄這個數字。您可以使用= today()函數,並在輸入日期的位置設置它,假設它位於單元格A1中,則= A1-today()(格式化爲數字)會給出日期差異。 Microsoft explanation of using Dates in Excel

1

下面用公式生成的圖片是自解釋的。

finding difference in dates

你日期:20161112203545在D4

公式來轉換日期在E4

=DATE(LEFT(D4,4),MID(D4,5,2),MID(D4,7,2))+TIME(MID(D4,9,2),MID(D4,11,2),RIGHT(D4,2)) 

今天的F4日期:=TODAY()

公式得到天的時間差在G4中:=DATEDIF(F4,E4,"d")

EDIT

Excel DATEDIF另一種方法是一個用戶定義的函數(UDF),其在內部使用VBA DATEDIFF功能:

此UDF接受三個參數:

START_DATE:戴斯從中該期間開始。 結束日期:這是您希望計算的期間的最後日期。 單位:它指定您想要差異的時間間隔。這裏單位接受以下值。 值說明 YYYY年 q季度 m月份 ÿ日年 d日

Public Function xlDATEDIF(Start_Date As Date, End_Date As Date, Unit As String) As String 
    xlDATEDIF = DateDiff(Unit, Start_Date, End_Date) 
End Function 

在這種情況下使用的將是,把在H4=xlDATEDIF(F4,E4,"D") 公式HTH

+0

不幸的是,Excel 2010中沒有DATEIF:/ – user4572896

+1

@ user4572896 DATEDIF()在那裏它只是一個隱藏的公式。 –

+0

@ user4572896如果您無法使用〜DATEDIF〜,我正在編輯我的文章以包含UDF。此UDF接受三個參數: Start_Date:期間開始的日期。 結束日期:這是您希望計算的期間的最後日期。 單位:它指定您想要差異的時間間隔。 – skkakkar