数据不规范,公式两行泪

2019-04-01 11:03:06 0 0

钉钉打卡导出来的打卡时间,列项统计的时间时分秒这种。目的是想要找出每天最早的是哪位?



清风徐来,提供了这样的数组公式,并说下此话:数据不规范,公式两行泪。

=IF(OR(B1="六",B1="日"),"",LOOKUP(1,0/(MIN(IFERROR(SUBSTITUTE(LEFT(B2:B18,FIND(CHAR(10),B2:B18)-1)," ","")*24*60,4^8))=IFERROR(SUBSTITUTE(LEFT(B2:B18,FIND(CHAR(10),B2:B18)-1)," ","")*24*60,4^8)),$A2:$A18))


清风徐来,假以时日,终将青出于蓝而胜于蓝。目前,化繁为简的功力还不够。


这种考勤数据是可以通过PQ整理成规范数据的,仅需借助分隔符号拆分列和逆透视两个功能就可以转换成标准的数据。


关于PQ,以前写过了很多文章,今天就不再重复说明,如果还不懂的可以参考文章。

厉害了逆透视,居然可以整理会计考题

透视表搞不定,那就试试逆透视

逆透视简单好用


标准数据,再加上透视表即可获得最终效果,下面卢子重点讲标准数据如何获得每天的最早来上班的人员。


Step 01 创建透视表,将日期、姓名拉到行区域,值拉到值区域。



Step 02 右键,更改值的汇总依据为最小值。




Step 03 再将值设置为时间格式。




Step 04 将报表布局设置为以表格格式显示,不显示分类汇总,对行和列禁用总计。




Step 05 筛选姓名前10项最大值,改成最小1项,也就是最早的时间,到此问题就解决了。





来源:Excel不加班,作者:卢子