Hi!请登陆

从办公室文员那里发来的员工休假管理表,人事经理看了之后就怒了

2020-11-25 31 11/25

总是反反复复提到做表格一定要规范,总有一些人还是有这些习惯,录入的时间格式不统一、随意的合并单元格等等。这不人事经理看到从文员那里发来的休假表,需要计算出天数!

人事经理:都是被惯出来的!

看到这样的表格,确实让人很生气的感觉!相信有很多刚入职场的办公室小白肯定遇到这样的情况!如果数量不多的话,也就算了,自己敲一敲计算器也无所谓,但是如果一旦人员较多,小编怕是要加班到三天三夜吧!

那么既然问题提出来,解决的方法总比困难多!

要想统计出员工休假天数,也不是没有办法,就要从备注列提取出开始和结束日期,在剔除掉周末的时间就好了!赶快跟我来复习一下LOOKUP函数的用法吧

之前也跟大家分享过lookup函数可以从不规则文本中提取数字,如果是从左边就使用lookup+left函数组合,在最右侧的时候就是用right函数

一、提取开始日期

Step1:在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,在函数的最外层再加一个负号即可转为正数了,最后在设置单元格的格式为日期就可以了!

Step2:按住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)

最后还是要提醒大家,如果你没有一定的基础,做表格还是一定要规范,不然别等到加班两行泪!学会套用模板也是提高我们办公效率的一种!

考勤表:自动从考勤表中提取员工的休假日期,计算累计剩余的天数

如果你觉得我的分享有用,欢迎转发给你需要的朋友吧!你的转发、赞赏是对我的最大支持!

相关推荐