返回
Featured image of post Excel整理签到表格

Excel整理签到表格

我正吃着火锅唱着歌,突然间来活了……

问题描述

数据
数据

要转化的格式
要转化的格式

要把上面的图片转化成下面的格式,而且不能手动敲进去,因为有很多数据,肯定要想个方法批量处理

思路

  • 复制日期列,对其去重
  • 根据复制日期列查找时间(早晨打卡和晚上打卡),使用条件最大值和最小值处理成两列
  • 强制和并两列时间,使用TEXT函数和CHAR(10),配合自动换行实现
  • 最后删除多余数据,复制并使用内容转置成横行

具体实现方法

日期列的操作

  1. 复制日期列,粘贴到一边。选中这一列,在上面的数据进行去除重复。
  2. 更改格式:选中所有日期,右键设置单元格格式,自定义格式为mm-dd ddd

筛选打卡时间

  1. 查找打卡签到时间:在复制后的日期列旁边隔上几列,选中使用公式MIN(IF(“参数1=参数2”,参数3))。其中参数1是原日期列整列,参数2是新日期列,参数3是原打卡时间列。由于使用了函数嵌套,需要用快捷键CTRL+SHIFT+ENTER激活
  2. 查找打卡签退时间:与上一步一致,只需把MIN改为MAX

需要注意的是,使用函数获取到的数值格式会错乱,不要惊慌,全部选中然后重新设置格式即可


经过上面的操作后基本的数据已经成型,接下来就要更改格式。

合并打卡时间列

这一步要把上面得到两列打卡时间合并成一列。因为是时间格式,要保证合并时格式不混乱,所以我们选择使用TEXT函数进行操作。 选中新日期列旁边的一列,先给该列添加自动换行,然后输入函数TEXT(参数1,"[h]:mm:ss")&CHAR(10)&TEXT(参数2,"[h]:mm:ss"),其中参数1是签到时间,参数二是签退时间,都只是选中一个单元格。然后回车,向下拉。

最后的操作

  1. 清理多余的数据,直接删除即可
  2. 内容转置即可获取横行数据
Licensed under CC BY-NC-SA 4.0