从办公室文员那里发来的员工休假管理表,人事经理看了之后就怒了
总是反反复复提到做表格一定要规范,总有一些人还是有这些习惯,录入的时间格式不统一、随意的合并单元格等等。这不人事经理看到从文员那里发来的休假表,需要计算出天数!
人事经理:都是被惯出来的!
看到这样的表格,确实让人很生气的感觉!相信有很多刚入职场的办公室小白肯定遇到这样的情况!如果数量不多的话,也就算了,自己敲一敲计算器也无所谓,但是如果一旦人员较多,小编怕是要加班到三天三夜吧!
那么既然问题提出来,解决的方法总比困难多!
要想统计出员工休假天数,也不是没有办法,就要从备注列提取出开始和结束日期,在剔除掉周末的时间就好了!赶快跟我来复习一下LOOKUP函数的用法吧
之前也跟大家分享过lookup函数可以从不规则文本中提取数字,如果是从左边就使用lookup+left函数组合,在最右侧的时候就是用right函数
一、 提取开始日期
Step 1:在P13中输入公式=-LOOKUP(1,-LEFT(K13,ROW($1:$15))) 复制公式后调整设置单元格格式为日期
公式解释:
①提取数字就要使用lookup(1,)文本就是lookup(“座”,)
②Left(文本,提取左边x位)
在前面加一个负号(-),是为了将文本转为错误,数字变为负值row(1:15)分别提取出第1至15位,excel中最多容纳15位数字
以张晓的请假记录为例,第一位虽然是数字,添加一个负号后就是-7,取到第4位就出现-43654,但是根据lookup查找函数的以大欺小规则,会返回较小的一个数值-43654,在函数的最外层再加一个负号即可转为正数了,最后在设置单元格的格式为日期就可以了!
Step 2:按住CTRL+H查找替换,将.替换为/,最好将日期之间差异降至最小,否则公式就查找不到了!
附上教程演示:
二、 提取结束日期
还是使用lookup(1,)套路,但是发现第1个、第4个和最后一个是提取不成功的,我们还是需要使用查找替换将”至”改为-,降低日期的差异性!
在不确定提取位数的情况之下,将lookup函数的查找值定为一个比较大的数字比如9e+307,比最大值还要大!同理文本【座】也是Excel中最大的文本!所以就将查找套路改为lookup(9e+307,)
公式解释:
1、 从”-“出现的位置开始查找,添加负号将文本转为错误
LOOKUP(9E+307,–MID(K13,FIND(“-“,K13)+1,ROW($1:$15)))
2、 –text(,”[<32]7-0″)将上一步提取出的值转为日期格式,判断是否超过32,因为日期最多是31天3、 iferror(,p13)如果没有-就提取不到值,将错误改为P13中日期,这样开始和结束日期是同一天,就是案例中的王晓刚/赵六等同事
附上操作演示:
总结:以上就是lookup函数查找的固定套路——以大欺小法,lookup函数会提取到休假的开始和结束日期!
三、计算天数
如果你不需要去除周末的日期,直接两个日期相减+1就可以了=Q13-P13+1去除周末2天就需要更改公式为
=NETWORKDAYS.INTL(P13,Q13)
公式解释:
去除特定日期函数语法=NETWORKDAYS(开始日期,结束日期,周末,假期)当省略第三参数的时候就是去除周末2天,如果只是仅仅去除周日,就可以添加第三参数为11
四、 提取备注休假类型
这已经算是比较规范了,就提取后面2个字符,否则可能就要麻烦一些了!
在S13中输入公式,即是从K13中右边提取2位
=RIGHT(K13,2)
最后还是要提醒大家,如果你没有一定的基础,做表格还是一定要规范,不然别等到加班两行泪!学会套用模板也是提高我们办公效率的一种!
如果你觉得我的分享有用,欢迎转发给你需要的朋友吧!你的转发、赞赏是对我的最大支持!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。本文网址:https://www.excelwordppt.com/word-excel-ppt/4282.html