1 隐藏函数:Datedif函数
DATEDIF函数是一个功能十分强大的日期函数,在工作中的应用非常广泛,用于计算两个日期之间的天数、月数或年数。
我先来介绍一下她的基础语法结构
DATEDIF(起始日期,截止日期,统计方式)
光看语法容易晕,咱们看个实际案例,保你对她理解通畅~
两日期相差天数
=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^),"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)
案例场景截图如下(黄色区域输入公式)
4 去掉一个最高分、去掉一个最低分后再计算平均分
=TRIMMEAN(B2:H2,2/COUNT(B2:H2))
案例场景截图如下(黄色区域输入公式)
5 统计两个日期之间的工作日天数
一提到工作日计算,很多HR都皱紧了眉头,因为各种岗位员工的排班不同,休息日不同,再加上员工的请假和各种节假日的调休......99%的HR都是在手动计算工作日中苦苦煎熬。
看完下面这个示例的解决方案,以上所有问题一扫而光!
上图所示为按照周六周日双休的企业中,加上自定义节假日的工作日算法
首先定义名称,按打开名称管理器创建自定义名称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代表休息日,代表工作日
4、该字符串中只允许使用字符1和
关于第4参数holidays的几点说明:
1、是一个包含一个或多个日期的可选集合,这些日期将作为节假日不参与工作日个数统计
2、可以是包含日期的单元格区域,也可以是区域的引用,还可以是代表日期序列值的数组常量
3、其中的日期或序列值顺序可以任意打乱,不影响统计。
来源:Excel函数与公式
畅享职场办公必备技巧
爱自己,爱生活!
微博@Office职场女神
微信公众号(OfficeApp)
领取专属 10元无门槛券
私享最新 技术干货