日期時(shí)間函數(shù)之三:拼湊和轉(zhuǎn)值換四函數(shù)--Date/DateValue/Time/TimeValue函數(shù)
兔年春節(jié)就要到了,李老師總想送點(diǎn)什么給大伙兒。

知識(shí)無價(jià),大家學(xué)習(xí)學(xué)習(xí)EXCEL的日期和時(shí)間函數(shù),都在這兒了,共5講,今天這是第3講。

Date函數(shù)
Date的英文意思就是“日期”,在EXCEL里如要將三個(gè)單獨(dú)的值拼湊為一個(gè)日期就用它,函數(shù)形如“=Date(年,月,日)”,函數(shù)共3個(gè)參數(shù),均為必選參數(shù),分別是代表年、月、日的數(shù)字,第一參數(shù)年須是大于等于1900的數(shù),對(duì)大于等于9999的數(shù)字,均視同為9999年;第二參數(shù)月一般是1-12;第三參數(shù)日一般是1-31。比如,“=Date(2023,1,1)”就會(huì)得到日期2023/1/1,但這樣循規(guī)蹈矩地玩這個(gè)函數(shù)就失去樂趣了,實(shí)際上第二參數(shù)、第三參數(shù)的數(shù)值可以是任意的,我們來舉幾小栗子嘗嘗,見圖1:

圖1 DATE函數(shù)示例
①公式“=Date(2023,1,0)”,眾所周知,日期是沒0號(hào)的,0是1前面的一個(gè)數(shù)字,也就是日期2023/1/1向前移動(dòng)1天,因此得到的日期是2022/12/31;
②公式“=Date(2023,1,32)”,眾所周知,日期是沒32號(hào)的,32是31后面的一個(gè)數(shù)字,也就是日期2023/1/31向后移動(dòng)1天,因此得到的日期是2022/2/1;
③公式“=Date(2023,0,0)”,眾所周知,日期是沒0月的,0是1前面的一個(gè)數(shù)字,也就是日期2023/1/1向前移動(dòng)1個(gè)月,因此得到的日期是2022/12/1;
④公式“=Date(2023,13,0)”,眾所周知,日期是沒13月的,13是12后面的一個(gè)數(shù)字,也就是日期2023/12/1向后移動(dòng)1個(gè)月,因此得到的日期是2024/1/1。
利用Date函數(shù)與可以做一個(gè)倒計(jì)時(shí)牌,比如在單元格O2輸入公式“=DATE(K2,L2,M2)-TODAY()”,就可得出現(xiàn)在2023/1/12距離2025/1/18還有737天。

Date函數(shù)與VBA中的DateSerial作用是類似的,用來拼湊日期,沒有學(xué)過VBA的話,可以忽視這句話。
想一想,公式“=Date(2023,-1,-1)”,會(huì)得到什么日期呢?“=Day(Date(2023,3,0))”不就可以得到2月的最后一天嗎?

DateValue函數(shù)
DateValue的英文意思就是“日期值”,在EXCEL里如果要將存儲(chǔ)為文本的日期轉(zhuǎn)換為從1900/1/1開始的日期的序列值,得用這個(gè)函數(shù)。函數(shù)形如“=Date(日期文本)”,函數(shù)僅1個(gè)必選參數(shù),例如,公式“=DATEVALUE("1/1/2008")”得到值39448,即日期 2008年1月1日的序列值,圖2是幾種轉(zhuǎn)換日期文本的情形。根據(jù)您電腦的系統(tǒng)日期格式設(shè)置可能會(huì)導(dǎo)致 DATEVALUE 函數(shù)的結(jié)果不同。如“1/12/2023”代表了2023年12月1日還是2023年1月12日,電腦設(shè)置不同,“=DATEVALUE("1/12/2023")”將得到不同的值。

圖2 DATEVALUE函數(shù)示例
對(duì)于DateValue這個(gè)函數(shù),要強(qiáng)調(diào)的是:
①它的參數(shù)必須是文本,不能是日期,它也不像DATE函數(shù)那樣能夠設(shè)置超過1-12的月、超過1-31的日;
②參數(shù)表達(dá)的日期參數(shù)必須表示 1900 年 1 月 1 日到 9999 年 12 月 31 日之間的日期;
③注意第5行已設(shè)置為日期格式,如設(shè)置常規(guī)格式,所見應(yīng)為數(shù)值;
④日期文本如果省略了年,函數(shù)自動(dòng)取電腦日期中的年份。

Time函數(shù)。Time的英文意思就是“時(shí)間”,在EXCEL里如要將三個(gè)單獨(dú)的值拼湊為一個(gè)時(shí)間就用它,函數(shù)形如“=Time(時(shí),分,秒)”,函數(shù)共3個(gè)參數(shù),均為必選參數(shù),分別是代表時(shí)、分、秒的數(shù)字,取值范圍[0,32767]。函數(shù)的結(jié)果是0(零)到 0.99988426 之間的值,表示 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之間的時(shí)間。
選中圖3單元格區(qū)域B5:F5,在公式編輯欄輸入公式“=TIME(B2,B3,B4)”,按Ctrl_Enter,單元格B5格式為時(shí)間,其他為數(shù)字,現(xiàn)對(duì)圖3藍(lán)字公式驗(yàn)證如下:

圖3 TIME函數(shù)示例
單元格C5公式“=TIME(27,0,0)”,27小時(shí),27/24=1.125小時(shí),舍去整數(shù)部分為0.12500天,計(jì)息結(jié)果只保留小數(shù)部分,記??;
單元格D5公式“=TIME(0,750,0)”,750分鐘,750/60=12.5小時(shí),相當(dāng)于“=TIME(12,30,0)”,12.5/24=0.52083天,計(jì)息結(jié)果只保留小數(shù)部分;
單元格E5公式“=TIME(0,0,2000)”,2000秒,2000/60=33.33333分,相當(dāng)于“=TIME(0,33,20)”,33.33333/60=0.55555小時(shí),33分不足60分鐘,不需要進(jìn)位,但可折算為小時(shí),33.33333/60/24=0.023148天;
單元格F5公式“=TIME(27,750,2000)”, 27小時(shí)750分鐘2000秒,計(jì)算結(jié)果剛好是單元格C5+D5+E5,即0.12500+0.52083+0.023148=0.66898天。

TimeValue函數(shù)
Time Value的英文意思就是“時(shí)間值”,在EXCEL里如要由文本字符串表示的時(shí)間的數(shù)字,函數(shù)形如“=Time(時(shí)間文本)”,函數(shù)僅1個(gè)代表時(shí)、分、秒文本的必選參數(shù),函數(shù)的結(jié)果是0(零)到 0.99988426 之間的值,表示 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之間的時(shí)間。
選中圖4單元格區(qū)域F3:F8,在公式編輯欄輸入公式“=TIMEVALUE(TEXT(A3,"")&" "&B3&":"&C3&IF(D3="","",":"&D3)&" "&E3)”,按Ctrl_Enter,得到若干數(shù)值,現(xiàn)將圖中主要注意點(diǎn)說明如下:
①將A列用TEXT函數(shù)轉(zhuǎn)換成文本格式,否則將會(huì)出錯(cuò),實(shí)際上TIMEVALUE對(duì)參數(shù)中的日期是無視的;
②諸如“AM、PM、上午、下午”這樣時(shí)段在文本中的位置要遵循電腦中日期格式設(shè)置,注意比較單元格F7和F8結(jié)果的區(qū)別;
③單元格F4是上午,F(xiàn)5是下午,剛好相差0.5日,12小時(shí);
④單元格F6是上午,F(xiàn)7是下午,剛好相差0.5日,12小時(shí),上午這個(gè)位置為空,默認(rèn)是上午,公式等同于“=TIMEVALUE("10:23")”。

圖4 TIMEVALUE函數(shù)示例
下節(jié)預(yù)告:
日期時(shí)間函數(shù)之四:求日期四函數(shù)--eDate/eoMonth/WorkDay/WorkDay.INTL函數(shù)
Q:你要問,教程有配套的案例文件嗎?
A:教程是很詳細(xì)的,沒有案例文件,對(duì)照?qǐng)D文是可以學(xué)會(huì)的,但使用案例文件更快捷些,如果需獲取案例文件,可關(guān)注微信公眾號(hào)【智匯會(huì)計(jì)連鎖】,加QQ【案例專用群】581529975群文件自?。艽a在公眾號(hào)回復(fù)dt202301自動(dòng)獲取),第一課的案例文件免費(fèi)送的哦。