今天群裡有同學問了這樣一個問題。
知道相關人員的出生日期,如何快速計算出這個人現在多大年齡,并且要精确到多少個月多少天。
問出這道題的同學,一定是對基礎公式的了解太少了。
我們這裡給大家講兩個算法。
第一種:
此案例中,日期1就是員工的出生日期 1939-09-19
日期2就是當前時間,我們可以在單元格輸入=NOW() 獲取
然後,我們祭出今天的核心函數:
=DATEDIF(日期1,日期2,"Y")
計算日期1和日期2之間間隔了多少年(周年)
公式變體:
1、間隔月
=DATEDIF(日期1,日期2,"M")
計算日期1和日期2之間間隔了多少月
2、間隔日
=DATEDIF(日期1,日期2,"D")
計算日期1和日期2之間間隔了多少日
3、計算刨去整年數後,的剩餘月份數
=DATEDIF(日期1,日期2,"YM")
4、計算刨去整年數後,的剩餘月份數
DATEDIF(日期1,日期2,"MD")
注意對比D列和E列的不同,體會“間隔月”和“間隔零頭月”的區别。
最後使用&符,把年月日串在一起,如圖
同學又問了,“我這個表格需要交給老闆,能不能直接用一個公式解決”
又是一個難題!
群友嘛,必須給到最完美答案!上第二種方案!
第二種:
我們回頭看上述的輔助列,分别在C列、E列、F列,使用了3次 =DATEDIF函數。
而區别僅僅是分别計算年、月、日而已。
針對這種情況,我們就要引用數組,數組簡直就是解決重複問題的神器
① 利用數組,我們把3個公式簡化成 DATEDIF(A1,NOW(),{"Y","YM","MD"})
計算結果是{82,5,12}
② 接着,再對這三個數字分别放大10000倍,100倍,1倍;并求和。
公式為:SUM(DATEDIF(A1,NOW(),{"Y","YM","MD"})*10^{4,2,0})
得出的數值為 {820000,500,12}
求和結果為820512
③ 最後,對結果進行格式變化就好了。
TEXT(SUM(DATEDIF(A1,NOW(),{"Y","YM","MD"})*10^{4,2,0}),"0年00月00天")
這裡再次提醒大家對公式進行最初級的了解。
對公式的了解,不是指需要記憶所有的函數和參數,是要大家知道【一些常見的公式可以解決的問題】,這樣遇到問題就可以快速去查閱甚至百度這個公式的用法。
否則當你連基礎公式可以做哪些基礎運算都不知道時,恐怕百度都很難解決你的問題。
好了,光說不練假把式,你也試試吧。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!