乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Excel小白講函數(shù)-日期函數(shù)不能被忽視的函數(shù)DATEDIF

       我愛極客 2019-08-20

      前一文最后提到有沒有函數(shù)能簡(jiǎn)化年齡,工齡等計(jì)算呢?它就是我們今天要說的隱藏函數(shù)datedif,為什么說它被隱藏呢?它不像其它的函數(shù)一樣,有解釋說明,在插入函數(shù)中搜索也搜索不到,但你是可以實(shí)實(shí)在在的使用的,現(xiàn)在和我一起看看被雪藏的函數(shù)有什么功能吧!

      DATEDIF函數(shù) 

      推薦掌握等級(jí):★★★★★

      語法結(jié)構(gòu)圖:

      DATEDIF函數(shù)語法結(jié)構(gòu)圖

      必填參數(shù):start_date(開始日期),end_date(結(jié)束日期),unit(功能編碼)

      start_date end_date:分別的開始日期,結(jié)束日期,必須滿足條件end_date>=start_date,否則會(huì)返回錯(cuò)誤值#NUM!;

      Unit:功能編碼,共分兩組,一組是:“Y”,”M”,”D”:

      Y:功能返回時(shí)間整年的數(shù)字

      原理:比如=datedif(2015/3/3,2017/3/2,”Y”)結(jié)果為1,用數(shù)學(xué)表達(dá)式表示=floor((2017/3/2-2015/3/3)/365,0)公式含義就是對(duì)除以365以后取整運(yùn)算,這個(gè)數(shù)學(xué)表達(dá)式只適合短期的年數(shù)10以內(nèi)計(jì)算,如果計(jì)算年齡20年會(huì)導(dǎo)致4-5天的誤差,計(jì)算的間隔越長(zhǎng),誤差就越大,而用函數(shù)就不會(huì)有這樣的問題,而且不用你會(huì)復(fù)雜的計(jì)算公式,是不是就沖這個(gè)我們也得必須記住Y呢?什么計(jì)算周歲,工齡等都不在話下,遇到這樣的問題,你就可以去嘗試一下!

      M:功能返回時(shí)間間隔上的整月數(shù)

      原理:(year(end_date)-year(start_date))*12+month(end_date)-month(start_date),

      原理是不是挺簡(jiǎn)單的,對(duì)于屏幕前的你來說,是不是么有難度!不過, datedif函數(shù)把這個(gè)公式簡(jiǎn)化成一個(gè)參數(shù)搞定,是不是有點(diǎn)小厲害啊!當(dāng)我們遇到以以計(jì)算月份為主的時(shí)候,一定要記得用datedif函數(shù)中”Y”啊,它主要的用于銀行的計(jì)算月息的存款的利息,你也可以計(jì)算房貸10年或20年,每個(gè)月還多少?遇到這些問題,是不是都能迎刃而解呢?

      D:功能返回時(shí)間間隔的天數(shù)

      原理:日期本來就是某個(gè)日期距離1900年1月0日的天數(shù),所以求天數(shù)直接相減就ok啦!

      ,計(jì)算公式為end_date-start_date,至于你用數(shù)學(xué)公式還是函數(shù)就看個(gè)人喜好了,

      另一組: “YM”,”MD”,”YD”:

      YM:學(xué)名月差,Y表示在一年的范圍內(nèi),M表示月份,YM表示1年的范圍內(nèi),2個(gè)日期的月份差是多少?這個(gè)功能會(huì)而忽略start_date的年份,返回結(jié)果范圍為0-11:

      原理:如果month(end_date)>=month(start_date) 則直接返回相減

      如果month(end_date)<month(start_date)則month(end_date)+12-month(start_date)

      如果用if表達(dá)式來編寫公式=if(month(end_date)<month(start_date),month(end_date)-month(start_date)+12,month(end_date)-month(start_date))

      通過上面的公式提取出共同的部分,主要的影響公式的結(jié)果為當(dāng)month(end_date)<month(start_date)會(huì)在結(jié)果上加上12,我們就可以將公式直接寫成

      =month(end_date)-month(start_date)+(month(end_date)<month(start_date))*12,即便我們能簡(jiǎn)化也還是需要這么長(zhǎng)的公式來完成功能,而用函數(shù)只需=datedif(start_date,end_date,”ym”)就Ok了

      MD:學(xué)名月日差,M表示以月為范圍,求兩個(gè)日期的差多少天,這次會(huì)忽略start_date的年,月,結(jié)果的范圍為0-30

      原理:比較日期的日主要分以下兩種情況:

      如果day(end_date)>=day(start_date),則結(jié)果為day(end_date)-day(start_date);

      如果day(end_date)<day(start_date),則結(jié)果為:end_date-date(year(end_date),month(end_date)-1,day(start_date));

      這個(gè)功能單獨(dú)的用途并不大,如果計(jì)算工齡的時(shí)候,要求你精確到天的話,你就可以使用這個(gè)功能將結(jié)果精確化。

      YD:學(xué)名年日差,Y以年為范圍,計(jì)算兩個(gè)日期的間隔天數(shù),這次忽略的是start_date的年份,取值范圍為0-365;

      原理:以月基礎(chǔ)條件進(jìn)行劃分的話可以分為三種情況:

      第一種:如果month(end_date) =month(start_date),分兩種情況:1.如果day(end_date)>=(start_date) 結(jié)果為:end_date – date(year(end_start),month(start_date),day(start_date)),否則end_date –date(year(end_start)-1,month(start_date),day(start_date);

      第二種:如果month(end_date)<month(start_date)則:end_date-date(year(end_start)-1,month(start_date),day(start_date));

      第三種:如果month(end_date)>month(start_date)則end_date –date(year(end_start),month(start_date),day(start_date));看的有點(diǎn)懵啊,沒有事有圖:

      datedif函數(shù)功能“YD”的邏輯結(jié)構(gòu)圖

      眼尖的你是不是通過邏輯結(jié)構(gòu)圖發(fā)現(xiàn),如果不按月份為基礎(chǔ)條件劃分而是按日為基礎(chǔ)條件劃分,寫出來的公式就會(huì)比上面的思路少一個(gè)if函數(shù)啊!如果你以后遇到邏輯思路上的問題,建議嘗試通過畫流程圖和邏輯圖來搞定復(fù)雜的邏輯。

      至于將上面的邏輯轉(zhuǎn)化為公式,有興趣的朋友可以自己試試,如果你能寫出來就說明你對(duì)日期和if函數(shù)掌握的足夠透徹了,如果寫不出來也沒有關(guān)系,我們只需了解到Y(jié)D的功能含義就行了,以后這個(gè)復(fù)雜的問題就可以交給datedif函數(shù)來解決了!

      說到這里dateif函數(shù)就告一段落了,希望給你的學(xué)習(xí)和工作上有所幫助,也希望把你遇到的問題告訴我,我看到后會(huì)第一時(shí)間回復(fù)

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多