拒绝加班的Excel公式
拒绝加班的Excel公式
Excel中有很多公式非常实用,能帮我们极大的提升工作效率,只是很多人感觉书到用时方恨少,遇到很多问题,明知有公式能解决但就是找不到解法......
为了让大家方便找到,我总结了几个工作常用的实战公式,帮大家拒绝加班!
1 隐藏函数:Datedif函数
2 根据身份证号码实现生日提醒
3 根据分项得分和所占权重计算KPI绩效最后得分
4 去掉一个最高分、去掉一个最低分后再计算平均分
5 统计两个日期之间的工作日天数
1 隐藏函数:Datedif函数
DATEDIF函数是一个功能十分强大的日期函数,在工作中的应用非常广泛,用于计算两个日期之间的天数、月数或年数。
我先来介绍一下她的基础语法结构
DATEDIF(起始日期,截止日期,统计方式)
统计方式 |
DATEDIF函数返回结果 |
Y |
日期时间段中的整年数 |
M |
日期时间段中的整月数 |
D |
日期时间段中的天数 |
MD |
日期时间段中天数的差。忽略日期中的月和年 |
YM |
日期时间段中月数的差。忽略日期中的日和年 |
YD |
日期时间段中天数的差。忽略日期中的年 |
光看语法容易晕,咱们看个实际案例,保你对她理解通畅~
两日期相差天数
=DATEDIF(A2,B2,"d")
两日期相差月数
=DATEDIF(A2,B2,"m")
两日期相差年数
=DATEDIF(A2,B2,"y")
忽略月和年,两日期相差天数
=DATEDIF(A2,B2,"md")
忽略日和年,两日期相差月数
=DATEDIF(A2,B2,"ym")
忽略年,两日期相差天数
=DATEDIF(A2,B2,"yd")
扩展案例一、根据身份证号计算年龄(周岁)
=DATEDIF(--TEXT(MID(B2,7,8),"0-00-00"),NOW(),"y")
扩展案例二、根据入职日期计算工龄(精确到几年几月几天)
=TEXT(SUM(DATEDIF(B2,C2,{"y","ym","md"})*10^{4,2,0}),"0年00月00天")
2 根据身份证号码实现生日提醒
=TEXT(7-DATEDIF(--TEXT(RIGHT(19&MID(A2,7,LEN(A2)/2.2),8),"0-00-00"),NOW()+7,"yd"),"0天后生日;;今天生日")
案例场景截图如下(黄色区域输入公式)
3 根据分项得分和所占权重计算KPI绩效最后得分
=SUMPRODUCT(B$2:E$2*B3:E3)
案例场景截图如下(黄色区域输入公式)
在公众号后台回复“sumproduct”获取此函数的史上最全教程。
4 去掉一个最高分、去掉一个最低分后再计算平均分
=TRIMMEAN(B2:H2,2/COUNT(B2:H2))
案例场景截图如下(黄色区域输入公式)
5 统计两个日期之间的工作日天数
一提到工作日计算,很多HR都皱紧了眉头,因为各种岗位员工的排班不同,休息日不同,再加上员工的请假和各种节假日的调休......99%的HR都是在手动计算工作日中苦苦煎熬。
看完下面这个示例的解决方案,以上所有问题一扫而光!
上图所示为按照周六周日双休的企业中,加上自定义节假日的工作日算法
首先定义名称,按<Ctrl+F3>打开名称管理器创建自定义名称holidays=OFFSET(Sheet1!$E$2,,,COUNTA(Sheet1!$E:$E)-1)
然后在C2输入公式:=NETWORKDAYS.INTL(A2,B2,1,holidays)
这样就轻松计算出起始日期和终止日期之间的工作日天数了
为了大家能够举一反三,我再多啰嗦几句,解析一下原理。
NETWORKDAYS.INTL函数的语法结构如下:
=NETWORKDAYS.INTL(起始日期,终止日期,周末日weekend,自定义节假日holidays)
关键点在于第三参数和第四参数。
关于第3参数weekend第二种表达方式的几点说明:
1、weekend 的表达方式2是一个长度为7的字符串
2、该字符串中的每个字符代表一周中的一天,从星期一开始
3、1 代表休息日,0 代表工作日
4、该字符串中只允许使用字符 1 和 0
关于第4参数holidays的几点说明:
1、是一个包含一个或多个日期的可选集合,这些日期将作为节假日不参与工作日个数统计
2、可以是包含日期的单元格区域,也可以是区域的引用,还可以是代表日期序列值的数组常量
3、其中的日期或序列值顺序可以任意打乱,不影响统计。
希望能够帮到大家轻松应对各种情况的工作日计算!
如果你觉得有用,就分享给朋友们看看吧~