EXCEL技巧四十:日期
日期小常識:1900-1-0是虛擬的一個特殊日期,是時間日期的起點,對應序列值0。1900-1-1凌晨0點對應序列值1,也就是說每一天對應一個序列值單位1。1900-1-1正午12點對應序列值1.5,就是說時間間隔(小時、分、秒)也是同時間序列值一一對應的。於是11/3(1又三分之一)就對應1900-1-1上午6點(一日=24小時,24*1/3=8)。
因此,很多對於日期的計算都可以轉化為數值之間的計算或以此來理解。比如兩個日期之間相隔的天數只要將兩個日期相減就可以了。這是因為日期相減實質就是序列號相減,而序列號的單位1就等價為一天。
掌握基本的時間日期函數DATE,date(year,month,day)這三個參數能直接從日期參數中提取對應的年份、月份和所在月的第幾天。 WEEKDAY:返回對應星期幾的數值,根據第二參數的不同意義不同。第二參數可以是1,2,3,建議記一個2就行。中國人的習慣星期日是一星期的最後一天,使用2作為第二參數正好符合這種習慣。 TODAY,NOW函數,分別返回當前的日期和時間。 VALUE,DATEVALUE函數,能將日期轉化為序列值。
第一:Excel中計算今天是本年(2011年)多少天 1.SQL解法:select datepart("y",now()) as 第幾天 2. =TODAY()-"2011-1-1"+1或者TODAY()-DATE(2011,1,0) 說明:使用當天日期和本年度第一天相減來獲取一個數字,這個數字需要加1才能成為當天的序號。 3. DATEDIF("2011-1-1",NOW(),"d")+1 DATEDIF函數是計算兩個日期之間的天數、月數或年數。DATEDIF函數是一個隱藏函數,在Excel的幫助文件查找不到相關的資料。這裡提供一個:Excel中DATEDIF函數用法實例
在上例講了通過使用YEAR函數和TODAY函數計算員工的年齡和工齡的方法。我們在本例講解通過DATEDIF函數來計算年齡。
實例:根據出生日期快速計算年齡
已知員工的出生日期,使用DATEDIF函數和TODAY函數就可以計算出員工的年齡。
下面是一個員工信息表,如圖:

計算員工年齡的方法如下: 選中C2單元格,在編輯欄輸入公式:=DATEDIF(B2,TODAY(),"Y"),回車鍵確認,即可完成員工的年齡計算。 然後拖動C2單元格的填充柄,向下複製公式進行計算,就完成了所有員工的年齡和工齡計算。
本例中我們用到了Excel中DATEDIF函數,關於DATEDIF函數介紹如下:
DATEDIF函數的用途:計算兩個日期之間的天數、月數或年數。提供此函數是為了與 Lotus1-2-3 兼容。
DATEDIF函數語法是:DATEDIF(start_date,end_date,unit)。
參數有: Start_date 為一個日期,它代表時間段內的第一個日期或起始日期。日期有多種輸入方法:帶引號的文本串(例如"2001/1/30")、系列數(例如,如果使用 1900 日期系統則 36921 代表 2001 年 1 月 30日)或其他公式或函數的結果(例如,DATEVALUE("2001/1/30"))。有關日期系列數的詳細信息,請參閱NOW。 End_date 為一個日期,它代表時間段內的最後一個日期或結束日期。 Unit 為所需信息的返回類型,其中: "Y":時間段中的整年數。 "M":時間段中的整月數。 "D":時間段中的天數。 "MD":start_date 與 end_date 日期中天數的差。忽略日期中的月和年。 "YM":start_date 與 end_date 日期中月數的差。忽略日期中的日和年。 "YD":start_date 與 end_date 日期中天數的差。忽略日期中的年。
4.數組公式:=MATCH(TODAY(),DATE(YEAR(TODAY()),1,ROW(1:366)))
第二,計算兩個日期間的全部工作日數,除去周末的天數,可以使用NETWORKDAYS函數。《networkdays函數的用法及實例》
Excel中networkdays函數的常見用法就是根據某一特定時期內僱員的工作天數,計算其應計的報酬。 NETWORKDAYS函數是返回起始日期和結束日期之間的工作日數。 NETWORKDAYS函數的用法是:NETWORKDAYS(start_date,end_date,holidays) Start_date:為一個代表開始日期的日期。 End_date:為終止日期。 Holidays:表示不在工作日曆中的一個或多個日期所構成的可選區域,例如:省/市/自治區和國家/地區的法定假日以及其他非法定假日。該列表可以是包含日期的單元格區域,或是表示日期的序列號的數組常量。
例如:從2011年5月7日至2011年6月8日,之間的工作日計算公式為:=NETWORKDAYS(A1,A2),結果為23天。NETWORKDAYS在計算時,自動將周末扣除。
如果在此基礎上,另外6月2日也休息,就在此基礎再減去一天(A4的值),得到下面的公式:=NETWORKDAYS(A1,A2,A4)
提示:使用NETWORKDAYS函數和workday函數計算工作日不同之處在於:workday函數計算的是從開始日期到相隔指定工作日的日期值,而NETWORKDAYS函數計算的才開始日到結束日之間的工作日。比如計算項目完工日期可以使用workday函數。
推薦閱讀:
※EXCEL:你是不是也曾遇到這類型的日期
※周潤發的出生日期
※出生日期里哪個數字越多越富
※從出生日期"看你"愛情運
※八卦與日期、時辰、空間方位、陰陽五行的一一對應關係總表
