年假計算
本篇適合:表格公式基礎(chǔ)較強者,小白請繞道喘蟆。
需求:根據(jù)邏輯缓升,自動計算出,員工年假天數(shù)蕴轨,如圖-1:
基礎(chǔ)數(shù)據(jù)字段:姓名港谊,入職時間,社會工齡計算時間橙弱。
01邏輯分析
1歧寺、輔助列
根據(jù)文字描述,要想得到最終的年假天數(shù)棘脐,我們需要計算出:
1斜筐、司齡年假;
2荆残、社齡年假奴艾;
3、臨界年假*2内斯。
四者最大值蕴潦,即為最終年假天數(shù)。
如圖-2俘闯,首先添加6列輔助列:
2潭苞、輔助單元格
例如我們在2018年,采集2019年的員工年假天數(shù)真朗,那么計算截點是2019年01月01日和2019年12月31日:
02公式設(shè)置
先來簡單的:司齡和社齡此疹。
E2處公式:=($B$5-B2)/365,向下填充遮婶。
H2處公式:=($B$5-C2)/365蝗碎,向下填充。
☆直接相減旗扑,注意B5絕對引用蹦骑,再除以365轉(zhuǎn)換為年,結(jié)果保留1位小數(shù)臀防,如圖-4:
接下來边败,匹配對應(yīng)年假。F2處數(shù)組公式:
=VLOOKUP(1,IF({1,0},(E2>$A$9:$A$12)*(E2<$B$9:$B$12),$E$9:$E$12),2,0)捎废,向下填充笑窜。
數(shù)組公式,一般都較難讀懂登疗,為方便理解排截,我們添加一個輔助區(qū)域,解其原理谜叹,如圖-6:
然后,如圖-7荷腊,C9處公式:
=($E$2>A9)*($E$2<=B9)艳悔,向下填充。
☆牢記:邏輯值參與運算時女仰,TRUE=1猜年,F(xiàn)ALSE=0。
到這里疾忍,例如在C5處輸入公式:
=VLOOKUP(1,C9:E12,3,0)乔外,即可匹配出司齡為E2=1.6時,對應(yīng)的5天年假一罩。
把剛才講解內(nèi)容杨幼,糅合一下,也就是上文的數(shù)組公式聂渊。
同理差购,我們將社齡年假公式設(shè)置好,如圖-9:
接下來汉嗽,我們處理臨界值欲逃,也就是剛好滿5、10饼暑、15稳析、20工齡臨界年的情況。
處理臨界值時弓叛,需要先計算出兩個百分比彰居,可以利用YEARFRAC函數(shù),如圖-11撰筷,
E5處公式:
=YEARFRAC(--TEXT($B$5,"mm-dd"),--TEXT(B2,"mm-dd"),3)
E6處公式:
=YEARFRAC(--TEXT($B$6,"mm-dd"),--TEXT(B2,"mm-dd"),3)
☆TEXT公式作用:統(tǒng)一年份,并提取出月日闭专,以便計算百分比奴潘。
例如張四14年8月1日入職,那么在19月8月1日滿5年影钉,屬于滿5年臨界情況画髓,其臨界年假=前百分比*5+后百分比*10。
OK平委,接下來放大招奈虾,司齡臨界年假計算公式,G2處公式:
=ROUNDDOWN(IF(AND(E2<5,E2>4),YEARFRAC(--TEXT($B$5,"mm-dd"),--TEXT(B2,"mm-dd"),3)*5+YEARFRAC(--TEXT($B$6,"mm-dd"),--TEXT(B2,"mm-dd"),3)*10,IF(AND(E2<15,E2>10),YEARFRAC(--TEXT($B$5,"mm-dd"),--TEXT(B2,"mm-dd"),3)*10+YEARFRAC(--TEXT($B$6,"mm-dd"),--TEXT(B2,"mm-dd"),3)*15,F2)),0)廉赔,向下填充肉微。
(怕怕~)
不知道能看懂不,反正我是看不懂的......
這里采用了兩層嵌套的if函數(shù)蜡塌,直接讀公式是困難的碉纳,我們可以借助WPS流程圖,理一下公式流程馏艾,如圖-13:
同理劳曹,修改部分參數(shù),即為社齡臨界年假計算公式琅摩。(臨界年假的計算結(jié)果铁孵,向下舍入)
最終結(jié)果,取四者最大值房资。如圖-14蜕劝,K2處公式:
=MAX(F2:G2,I2:J2),向下填充轰异。
03總結(jié)
年假計算邏輯岖沛,一張圖完事兒。
而要實現(xiàn)自動計算溉浙,密密麻麻的公式烫止,光看看都覺得可怕......
群主原創(chuàng),手打不易戳稽。
更多實戰(zhàn)分享馆蠕,請關(guān)注微信公眾號,“閑釣宇哥”惊奇,謝謝互躬!