Excel中如何拆分同一列内混合的姓名、手机号码等不同数据类型的值
Excel混合类型Full_Name列拆分解决方案
方法1:快速填充(Excel 2013及以上版本适用,零代码)
- 首先在原表右侧插入4个空白列,依次命名为
First_Name、Last_Name、Phone_Number、Department - 手动填写前2-3行不同类型的样例:
- 若当前行Full_Name是英文全名,在
First_Name输入名、Last_Name输入姓、Phone_Number留空、Department复制原部门值 - 若当前行Full_Name是11位手机号,
First_Name和Last_Name留空、Phone_Number输入手机号、Department复制原部门值
- 若当前行Full_Name是英文全名,在
- 选中对应列剩余的空白单元格,按快捷键
Ctrl+E触发快速填充,Excel会自动识别规律完成所有行的填充 - 最后全选四列,在「开始」选项卡的对齐设置区域,分别设置
First_Name左对齐、Last_Name居中、Phone_Number居中、Department右对齐即可
方法2:公式法(适合数据需要动态更新的场景)
假设原表Full_Name存储在A列、Department存储在B列,数据从第2行开始,表头在第1行,新插入的四列依次为C、D、E、F列:
- C列(First_Name)C2单元格公式:
=IF(ISNUMBER(--A2),"",LEFT(A2,FIND(" ",A2)-1)) - D列(Last_Name)D2单元格公式:
=IF(ISNUMBER(--A2),"",RIGHT(A2,LEN(A2)-FIND(" ",A2)))- 若全名包含中间名,需要取最后一个空格后的内容作为姓,可替换为公式:
=IF(ISNUMBER(--A2),"",TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",100)),100)))
- 若全名包含中间名,需要取最后一个空格后的内容作为姓,可替换为公式:
- E列(Phone_Number)E2单元格公式:
=IF(ISNUMBER(--A2),A2,"") - F列(Department)F2单元格直接引用原值:
=B2 - 输入完首行公式后下拉填充所有行,再按要求设置列对齐即可
内容的提问来源于stack exchange,提问作者TanoooooNg
相关产品推荐
相关产品推荐

