分列就是将一列数据分成一列或多列进行保存。它给我们最大的帮助就是批量转换或拆分数据。如果要拆分数据,需要找到数据中的规律,这个规律包括需要拆分的数据中都具有同等的宽度,需要拆分的数据都包含同样的字符(重复的字符只记为一个)。
分列在哪?
在“数据”选项卡“数据工具”功能区。
看示例学分列,注意看各个示例的功能及操作步骤。
1、批量转换
批量转换是将文本型数值转换为数值型的数据,包括文本型数字、文本型日期和文本型时间。如从考勤软件、社保软件、E-HR导出的数值,一般都为文本型数值或里面包含看不到的字符,可以用分列将文本型数值转换为数值型数据。大家要注意,无论数据是怎样的,建议都用分列操作一遍。如果还是转换不成功,再用其它办法,例如查找和替换、clean函数等。
如下图,为考勤机中导出的考勤数据。
选中B列,点击分列,弹出“文本分列向导-第一步,共3步”窗口后,直接点击确定,将C列也同样操作。
2、从身份证号码中提取出生日期
如下图,从B列的身份证号码中提取员工出生日期到C列对应的单元格。
身份证号码的7-10位代表4位的年份,11-12位代表2位的月份,13-14位代表2位的天数,也就是7-14位代表8位的出生年月日。由此可以看到它们的规律是具有相同的宽度。操作步骤如下:
STEP 1:选中B2:B12数据区域,在“文本分列向导-第一步,共3步”窗口选择“固定宽度”,点击“下一步”。
STEP 2:分别在标尺位置第6位和第7位、第14位和第15位数字之间点击鼠标左键,出现分隔线。如果位置错误可以用鼠标左键按住拖动,想要取消双击分隔线,点击“下一步”。
STEP 3:具体操作见下图。
最终结果如下:
3、拆分打卡日期和时间
如下图为考勤机导出的打卡数据,将B列的数据拆分成日期和时间两列放在C列和D列。
B列的打卡时间包括日期和时间,可以看到这些数据的规律是中间用空格相连。
选中B2:B12数据区域,在“文本分列向导-第一步,共3步”窗口直接选择下一步。
将日期列的格式设置为“YMD”格式,目标区域设置为C2单元格,点击确定。
最终效果如下:
总结上述示例,分列的操作内容有:
可以选择分隔符号或固定宽度。
分隔符号有TAB键、分号、逗号、空格备选,如果是其它字符可以手动输入,如果分隔符号为多个重复字符可以选定视为单个处理。
固定宽度可以用鼠标左键单击添加,双击取消,按住拖动。
分列的数据可以设定为“常规、文本、日期”格式,也可以让不需要的数据列取消。
可以指定单元格为分列的数据存储起始位置。
练一练:
如下图,档案编号是按“HR+8位日期+4位顺序号”组成,请将左侧的图表按顺序号排序,生成右侧的结果。
【作者简介】
齐涛,三茅人力资源网专栏作家,高级人力资源师,有大型国有企业、民营企业人力资源经理、人资行政总监、人资行政副总工作经历。对人力资源各模块有丰富的管理实践经验,擅长HR工作系统性搭建与管理。著有《Excel 人力资源管理实操从入门到精通》(中国铁道出版社),在当当、京东、亚马逊、天猫均有售。
书籍试读请戳:《Excel 人力资源管理实操从入门到精通》
7楼 Angel拜托
老师,我想问下,身份证导出出生日期 如何把日期直接导出成Y-M-D的形式
6楼 兰花草nannan
齐老师,我觉得用分列的方法来提取身份证中的出生年月日并不是一劳永逸的做法,比如源数据发生增减变化时(尤其是发生增加时),比如源数据中每次新增一行员工信息,就需要手动设置一次分列,会比较麻烦。提取出生日期最好的办法还是用MID函数。
齐涛
@兰花草nannan:不同的问题用不同的方法,从来没有一劳永逸的做法。
兰花草nannan
@齐涛:是的,多谢老师教诲,最近碰到了一个关于excel的问题,想请教一下齐老师。我在制作《员工信息表》时想把列数据显示为“离职”的员工所在整行数据都变为红色。我想到用条件格式,但却不知道怎么实现?期待老师的解答,先谢谢您。
齐涛
@兰花草nannan:例如员工状态在A列,选中数据区域,条件格式中使用公式设置单元格格式,=$A2="离职",设置红色填充。
兰花草nannan
@齐涛:按照老师的方法,完美了解决了问题。^_^,谢谢齐老师。已经在读齐老师的《excel人力资源管理实操从入门到精通》
鹏城之旅
@齐涛:我要弄考勤表啊,怎么弄啊
5楼 星小辰
可以收藏用来练练手,谢谢老师分享
4楼 星梦
齐涛老师每次的分享都很实用,感谢!
3楼 abcjingjing
谢谢齐老师的分享
2楼 祭落
分列功能确实是很简便好用的,每次做考勤必用~
1楼 乡下的猫
好厉害