今天被問到了一個問題,如何在Excel內設定公式來得到日期間的差距,因為他要賣房子
的資料內各筆要計算目前的屋齡,如果自行推算的話相當不方便,由於筆數過多。
因此,我上網查了一下,發現有人講到DATEDIF這個隱藏的公式。
簡單用法如下:
若月份的差距得到的值為1,則長度等於2將不會滿足,因此將自動補上0的部分
-------------------------------------------------------------------------------------------------------------------
補充解釋:
若90.11 與 104.02做比較差距,則年的部分算出來的並不是14,而是13
因為在公式DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"ym")會
影響到算年的部分,因此月份不夠減的情況下,會跟年借一位來滿足月份可以減的盡囉
所以在一開始我才會說unit若用ym,是混和年月一起看。
相關的部分,可以參考網路上的其他詳盡的介紹文章,在這邊小弟只是做個紀錄,若使用
的解釋有誤請不吝指正XD
的資料內各筆要計算目前的屋齡,如果自行推算的話相當不方便,由於筆數過多。
因此,我上網查了一下,發現有人講到DATEDIF這個隱藏的公式。
簡單用法如下:
DATEDIF(Start_Date, End_Date, Unit)
- 在此我填入公式的日期格式為yyyy-mm-dd
- Unit部分,若填入"y"表示得到年的差距;ym表示混合年月一起看得到月份差距
舉例如下:
起始日期 => 民國年.月份需轉換成西元格式(yyyy-mm-dd)
終止日期 => NOW() 函示取得
1. 首先計算年的差距
DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"y")
由於在這邊我們輸入的落成日期格式只有到年、月,因此在這邊的日就固定塞入某個值
首先,將民國年取出後加上1911轉換成西元年的部分;月份的部分固定取右邊算來兩位
的值。因此將會得到 104 - 68 = 36。
2. 再來計算月的差距
IF(LEN(DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"ym"))=2, DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"ym"), "0"&DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"ym"))
公式使用上有一點複雜,其實是要滿足月份的值如果小於10以下的話,則要補上0的部分
,要不然就是採用原值。因此在這邊會使用邏輯函式及字串函式
-------------------------------------------------------------------------------------------------------------------
補充解釋:
若90.11 與 104.02做比較差距,則年的部分算出來的並不是14,而是13
因為在公式DATEDIF(LEFT(A2, 2 )+1911&"-"&RIGHT(A2,2)&"-01",NOW()+1,"ym")會
影響到算年的部分,因此月份不夠減的情況下,會跟年借一位來滿足月份可以減的盡囉
所以在一開始我才會說unit若用ym,是混和年月一起看。
相關的部分,可以參考網路上的其他詳盡的介紹文章,在這邊小弟只是做個紀錄,若使用
的解釋有誤請不吝指正XD
留言
張貼留言