Excel案例講解-三種思路求解員工生日還有幾天過!

2020-12-17 小哥聊經驗

小陸從會議室出來,遠遠看見黴黴小度站著,比較好奇的就走了過去,原來是小皮在操作電腦,一邊操作好像還在說這著什麼,走近了才知道,原來小皮在用公式對快過生日的員工進行排序,因為我們公司會在員工過生日的時候,派發小禮物。表格的結構如下:

公司員工信息表

小陸到的時候,小皮已經把出生年月提取完成了,小皮開始編寫統計生日距離多少天的公式,=IF(DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))<TODAY(),"生日已過",DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY());

小皮自帶解說:做這個表的關鍵部分就是提取生日中的月日,然後生成今年年份的日期,再與今天的日期比較,大於今天的日期的就說明還麼有過生日,就計算出結果,小於今天的日期的,就說明生日已經過了!

黴黴:這公式我明白,哪你怎麼用ctrl+e提取的身份證中的出生年月日,怎麼用了這個公式=DATE(MID(b2,7,4),MID(b2,11,2),MID(b2,13,2))提取呢?

小皮:今天就是覺得用的順手,我的技巧多啊,我想用哪個哪就是信手拈來啊!

小度笑了,說:是不是你也發現ctrl+e技巧也存在一些問題啊,如果直接提取b2的生日直接輸入1978/07/25,一回車就變成1978/7/25,然後ctrl+e發現有些生日提取的就不對了啊,若先字符串在ctrl+e,再轉日期反而不如公式來的直接乾脆,至於公式嗎?還是挺大師怎麼講吧!

小皮故意提高嗓門說:mid函數是個文本函數,他是用來提取文本中的部分內容,共有三個參數,第1個就是需要提取內容文本結果的表達式或引用單元格,第2參數就是從什麼位置開始截取,第3個就是提取字符的長度,我們知道,身份證中,出生年月的年份從7位開始共四個字符公式為=mid(b2,7,4),月份為11位2個字符=mid(b2,11,2),日期為=mid(b2,13,2),然後用date函數生成日期就好了。

MID函數語法結構圖

黴黴:哪哥兒,你為什麼不直接生成今年的生日日期呢?還要判斷時候再生成一次,這不繁瑣嗎?

小皮臉滕就紅了:哦,我是為了核查萬一出錯了,好排查,不過你說的也挺對的啊,我幫你改一下啊!說這把公式改成了=date(year(today()),mid(b2,11,2),mid(b2,13,2)),後面的公式改為:=IF(C2<TODAY(),"生日已過",C2-TODAY());

小度也是一笑,還不忘擠兌一下說:看露怯了吧,還沒有人家黴黴思路清楚呢?而且你的公式也不是最簡的啊,還是我來演示一下,公式該怎麼寫吧!然後就把最後的公式改為:=iferror((c2>=today())*(c2-today()),"日期異常")

小皮:呵呵,不就將我的if改成數學乘法表達式了嗎!有什麼料不起的呢?還是換湯沒有換藥,還好意思說自己牛啊,有本事用自己思路來一個!

小度:這是讓你知道,你的公式還可以更漂亮,可以更優雅,不知好人心,你不是想看我的思路,我就來一個,於是將最後一行的公式改為:=iferror((mod(c2,today())<365)*(mod(c2,today()),"日期異常")

黴黴:mod函數之前你好像用過,不過我師父說用在日期會有問題,你這次用的麼有問題嗎?

小度:上次是因為我日期直接當成數字來處理,才導致的進位出現的數字增加數倍,再取餘數據不準的情況,這次不同,我們求的是天數,每個日期都對應一個天數,這些數字都是連續,並沒有日期那樣的規則,就沒有問題。

黴黴:哥兒,哪你具體說一下你這個公式,我有點看不懂啊!

小度得意的說這要先說數學函數MOD,共2個必須輸入的參數,第1是原數字,第2是函數說明中叫除數,我叫它取數範圍,也就是函數返回的結果必定是0-第2參數-1範圍內,要想取餘法解決這個問題,我們需要知道2點,

1.若要數字重複出現,除非出現整數倍的關係才行,舉個例子:比如mod(9,10)結果為9,如果想重複出現必須是mod(19,10)才行,

2.取餘結果最大值出現在越接近第2參數的時候,比如mod(999,1000)=999.而過了1000反而會從小再遞增。

MOD函數語法結構圖

我們知道這些後,我們所求的日期最大的差距也就365,假如今天的日期為2019年1月1日(對應數字為:43466),返回的結果範圍0-364,已過生日的人取值範圍為:43466,其他人的範圍0-363,3號的時候,已過生日取值範圍變為43466-43467,則其他人的範圍為0-362,以此類推,到最後一天已過生日人範圍43466-43829,其未過的為0。這樣我們可以通過過濾掉>365的人,剩下的就是未過生日的人啦!

黴黴:聽懂了點,如果我想統計30內過生日的人話,是不是將365,改成30就可以啦!

小度:厲害厲害,會舉一反三啊!我這懂數學的,把公式編寫成這樣,還嫩嗎?還有BUG嗎?陸之涵!

黴黴一聽小陸的名字,回頭一看,高興說:師傅,你剛才去哪啦?我沒有找到你!

小陸:我被頭兒叫去開會了,我先殺殺他的銳氣,要不他不知道天高地厚啦!

他倆一口同聲的說:你有多少斤兩,別人不知道,我們可知道,有本事,別用我們的思路寫,哪算你能耐。

黴黴搶聲說:這種問題一共就那幾種思路,還能有什麼思路啊,你們難為人啊!

小度:o(︶︿︶)o 唉,還是人倆關係近,沒有關係,只要陸之涵說:「我不行,我也沒有招!」。

小陸:我還是那句話,數學用的好,得用對地方,今天還算及格,沒有太明顯的BUG,不過這點小事還難不到我,我用的就是別的方法,還不用if函數的那種,其實我用的方法,黴黴你應該能想到啊?

黴黴:是datedif函數嗎?我也覺得合適,就是好像有部分內容會報錯啊,我也正想問你來著,還有沒有別的函數!

小陸:不用別的,就是datedif函數。陸之涵就把最後的公式改為=iferror(datedif(today(),c2,"d"),"生日已過"),然後回車。

黴黴:師傅,真棒,更他們求的結果一樣啊,怎麼報錯也沒有影響正常結果啊!

小陸:為什麼報錯啊,不就是因為第2參數的日期小於第1參數嗎,不正式哪些已經過完生日的人嗎?我們用iferror過濾掉不就行了嗎?哪用什麼取餘法,比較大小啊?

小皮小度使個眼色說:我突然想起來,還有事要忙,就不打擾你們師徒聊天啦。

小度:o(︶︿︶)o 唉,差點忘了正事,走了走了!

黴黴正要說什麼的時候,小陸拽了一下她的衣角,等他們走遠了,說:其實方法沒有好壞,他們的方法也挺值得學習的,以後你也多向他們請教,你才能學到更多東西!

黴黴:嗯嗯,師傅,今天挺有收穫的,原來錯誤值也能這麼用啊,我還是第一次見。

小陸:在學的函數的時候,不要忽略錯誤值,因為有了這些錯誤值,我們才能更好的駕馭這些函數!好了,你整理一下發文件吧,我去完成任務啦!

新一輪的技術競技就這樣拉下帷幕,生活還在繼續,今後又會怎麼樣呢?我們一起期待吧!

本故事純屬虛構,如有雷同純屬巧合,

演員/角色:陸之涵/小陸,郭知黴 /黴黴 姜度華/小度 陳曉皮/小皮

員工生日到期提醒效果圖

我是愛講故事的我愛極客達人-小哥聊經驗,喜歡我的故事關注吧,帶你從另一角度了解學習Excel知識技巧。

相關焦點

  • Excel規劃求解,你會嗎?
    2 案例應用1:九宮格求解要求B3:D5單元格區域的九宮格內,填入1至9不重複的整數,使每行每列以及兩條對角線的3個數字之和全部相等。當然,除了九宮格,其他一些類似的複雜多條件運算,都可以用規劃求解輕鬆完成。再來看個財務對帳常用的案例。
  • Excel設定員工生日提醒,就這麼簡單!
    大多數公司都有向員工贈送生日禮物的傳統。對於人事部門而言,如果手動完成,工作量很大,利用Excel可以輕鬆解決這個問題。根據B列的出生日期,在C列用公式寫出生日提醒。分為三種情況:第一,生日未到,提示文字:還有多少天過生日。第二,生日已過,提示文字:生日已過。第三,當天過生日,提示文字:祝你生日快樂。
  • excel規劃求解:根據消費總金額從幾十張發票中找出相對應發票
    這個時候可以利用excel中的一個功能—— 規劃求解。今天就來講解excel中的規劃求解。首先加載規劃求解。打開excel選項—加載項—管理excel加載項,點擊轉到,打開加載宏菜單,勾選規劃求解加載項,確定。
  • Excel教程:再也不怕漏掉員工生日了~每月員工生日會必備excel良方
    今天,調了行政專員崗位的小愛過來找我,豬爸爸,我們行政陳經理要搞每月員工生日會,當月生日的員工,我們集中一起過個小小的生日會,讓員工們感覺到公司的關懷,可是你知道,我們公司幾百號人,用表格來統計,我想不出來怎麼統計呀
  • excel表格sumif函數視頻第四集-案例講解excel中sum函數怎麼用視頻
    excel中sum函數怎麼用視頻 excel表格sumif函數視頻 excel表格sumif函數視頻第四集-案例講解excel中sum函數怎麼用視頻 Excel課程由部落窩教育滴答老師主講。
  • EXCEL函數公式大全利用TODAY函數IF函數DATEDIF函數製作生日提醒
    EXCEL函數公式大全之利用TODAY函數IF函數DATEDIF函數製作員工生日提醒。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數TODAY函數、IF函數與DATEDIF函數的巧妙組合。
  • EXCEL中怎麼提取員工的出生年月,生日,工齡,年齡
    大家好我是雨果,今天給大家分享excel中怎麼提取員工的出生年月,生日,工齡,年齡。這裡我做好了一張表格,我們就以這張表格為例。2.單獨分離出生年月日,這裡面有兩個方法第一種:使用MID函數,如圖第二種:如果公司員工不是很多,可以手動提取出身年月日,然後用,YEAR,MONTH,DAY函數,如圖:3.換算工齡
  • 如何在Excel中計算員工年齡?生日提醒?
    前幾天我的文章裡面,解決了從身份證中提取出生日期,下面我們來計算一下員工年齡問題。假如身份證號碼信息在B列,我們用公式提取了生日信息:CONCATENATE(MID(B2,7,4),"-",MID(B2,11,2),"-",MID(B2,13,2))。提取後的信息放在了C列。
  • 有1個Excel技巧叫:省時一整天,你卻連我的名字都不知道…【Excel教程】
    Step 03 點擊確定按鈕,執行單變量求解。excel自動進行迭代運算,最終得出使目標單元格(B4)等於目標值(250)時的可變單元格值(120),並自動賦予可變單元格(B2)。如下所示,點擊確定。二、單變量求解的應用實例案例1 貸款利率問題A員工是甲公司的融資專員
  • 凹圓弧的三種宏程序編程思路案例
    圓弧編程在數控加工中經常遇到,如果是想採用宏程序來完成該圓弧的程序編制與加工的話,可以將其作為一個用戶子程序,今後可以直接採用G65調用,因此,本文就以一個凹圓弧為例來講解一下三種宏程序的編制思路,零件圖如下!
  • 【EXCEL】EXCEL竟然能幹這個! 規劃求解工具!
    在彈出的「加載宏」對話框中的「可用加載宏」選項列表中,勾選「規劃求解加載項」複選框,然後單擊「確定」按鈕添加加載項,同時關閉對話框,完成Excel規劃求解加載項的加載。現在Excel規劃求解加載項已經加載到Excel中了,選擇功能區中的「數據」功能標籤,你會發現其中多了一個叫做「分析」的功能組。「規劃求解」按鈕就在那裡。
  • excel中規劃求解實例——如何根據固定值匹配求和項
    這裡就用到了excel中的規劃求解。下面就一起來看看規劃求解的用法吧。一、添加規劃求解功能。如果在excel中數據選項卡的最右側有規劃求解的功能,那麼直接跳過本步驟,直接看第二步即可。如果沒有,請按照本步驟添加規劃求解功能。
  • Excel | 做個生日提醒控制項,本月或下月過生日的員工信息隨你查看
    某公司要求將公司的員工生日信息實現查詢,可方便的查看本月及下月過生日的員工信息,效果如下:效果中可以看出:勾選」本月生日「,本月過生日的員工所在行添加一種顏色;勾選」下月生日「,下月過生日的員工所在行添加另一種顏色,實現方法第一步:從身份證號碼中提取生日在D3單元格輸入公式:=DATE(MID(C3,7,4),MID(C3,11,2),MID
  • 翅片式換熱器設計和仿真全套課程(軟體+視頻+說明書+案例)
    課程名稱:翅片式換熱器設計和仿真課程內容:軟體+16節視頻課程+14個案例+操作指導;主要內容截圖:關於書中的內容,我們不一一截圖展示;02、視頻講解總共16個視頻講解內容,主要包括軟體的介紹、做翅片式蒸發器設計和仿真的方法、翅片式冷凝器設計和仿真的方法,快速設計翅片蒸發器和翅片冷凝器、求解K值和換熱溫差值,翅片換熱器優化設計的思路和案例等;我們在視頻課程講解中,包含的一些實際案例以及excel仿真表格等:
  • 利用Excel表格的單變量求解功能解一元多次方程
    有時候,我們需要對方程進行求解,一元二次、一元三次用公式求解還是比較方便的,但是一元四次及以上,一般只能是無限接近的近似求解。Excel表格的「數據」→「假設分析菜單」→「單變量求解」,可以對一元多次方程進行求解。
  • excel中公式的逆運算問題——單變量求解輕鬆解決
    在excel中,單變量求解可以根據一定的公式運算結果,倒推出變量。相當於對公式進行逆運算。比如輸入公式=(1+0.4%)^12-1,可以直接算出結果約為4.91%。如果給定計算結果是5.4%,其他條件不變,求指數為多少?
  • excel中hyperlink函數介紹和有趣的案例分享
  • Excel中一個非常強大的隱藏函數「DATEDIF」,經典案例分享!
    unit:此參數有6個不同的選項(Y、M、D、MD、YM、YD)經典案例1【計算法定年假天數】經典案例2【計算員工年齡】在我們的實際工作中,員工工齡是福利待遇的一項重要的參考指標。那麼我們接下來看看如何實現員工工齡的計算。如下圖所示
  • COUNT函數,快速計算數字的個數(含案例講解,思路分析)
    各位讀者朋友們大家好,前面我們VLOOKUP函數講了11期,就暫時告一段落了,如果後面有新的常見用法,我們再做補充,本期我們開始講解第二個函數系列計數函數系列。具體情況,可以參考下圖:常規計數我們就不做案例分享了,給大家講解一個技巧性的案例,如圖所示,我們需要計算各部門人數,如何用COUNT函數來解決呢?
  • excel表格如何實現倒計時提醒?用datedif函數,實現自動更新計算
    在excel工作裡,倒計時提醒是一個非常實用的效果。比如:員工生日提醒、產品保質期到期提醒、合同到期提醒、項目到期提醒等等。現在,我們通過員工生日倒計時提醒的案例,來掌握datedif函數,實現這個效果。