技术编程|整理不规范数据,想练手的速速来试

小伙伴们好啊 , 今天咱们分享一个比较特殊的数据整理技巧 。
这是一位小伙伴工作中遇到的问题 , 如下图所示 , 是某个部门各业务员全年的出差流水记录 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

现在要统计出每位业务员的出差起止日期以及每次出差的持续天数 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

现在要统计出每位业务员的出差起止日期以及每次出差的持续天数 。
接下来咱们就一起看看这样的数据如何来进行整理 。
步骤1
依次按Alt D P键 , 调出【数据透视表向导】窗口 , 选择【多重合并计算数据区域】 , 然后根据提示选择数据源 。注意选择数据源时 , 要从B列 ,也就是姓名所在列开始选取 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

步骤2
在透视表的字段列表中: 1、将“列”字段和“页1”拖动到列表之外 。
2、将“值”字段拖动到筛选区 。
单击透视表的筛选器按钮 , 选择要统计的项目“出差” 。
双击统计表右下角的“总计”单元格 , 得到一个仅显示出差日期的新工作表 。
在新工作表中 , 删除“页1”字段的内容 , 然后对“列”和“行”两个字段分别进行升序排序 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

步骤3
为了便于识别 , 咱们修改一下字段标题 , 将“行”修改为“姓名” , 将“列”修改为“出差日期” 。
在D列建立一个辅助列 , 输入以下公式来统计出差次数 。
=IF(A2A1,1,IF((B2-N(B1)=1)*(A2=A1),D1,D1+1))
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

公式的意思是 , 使用IF函数进行判断 , 如果A2的姓名不等于上一行的姓名 , 就返回1 , 也就是每个人的次数都是从1开始的 。
然后继续判断 , 如果B2的日期减去上一行的日期结果是1 , 并且A2的姓名等于上一行的姓名 , 那就说明同一个的出差日期是连续的 。符合这两个条件时 , 出差次数仍然等于D列上一行的结果 , 否则在上一行基础上加1 。
步骤4
单击数据区域任意单元格 , 插入数据透视表 。
在透视表的字段列表中 , 将“姓名”和“出差次数”拖动到“行”区域 , 将“出差日期”拖动两次到值区域 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

步骤5
单击数据透视表 , 在【设计】选项卡下调整报表布局 , 然后单击透视表的值字段 , 右键设置值显示方式分别为最小值和最大值 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片

步骤6
将值字段的数字格式设置为“日期” , 然后修改一下字段标题 。
技术编程|整理不规范数据,想练手的速速来试
文章图片

文章图片


推荐阅读