1
场景背景
从微信或名片上复制下来的一列数据,每格是「姓名 手机号」。要拆成两列:姓名一列、电话一列。空格是唯一的分界点,所以先用 FIND 找到空格位置,再用 LEFT / RIGHT 分别截取。
2
数据结构
共 1 个 Sheet3
解决步骤
1
第 1 步:先找到空格在第几位
FIND(" ",A2) 返回空格的位置,比如 3,说明前 2 个字符是姓名。
=FIND(" ",A2)
2
第 2 步:截取姓名
空格位置减 1 就是姓名的长度,LEFT 从左截取。
=LEFT(A2,FIND(" ",A2)-1)
3
第 3 步:截取电话
用总长度减去空格位置,得到空格后面的字符数,RIGHT 从右截取。
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
4
第 4 步:处理没有空格的行
有的行可能用两个空格或没有空格,用 IFERROR 兜底,再用 TRIM 清理多余空格。
=IFERROR(LEFT(A2,FIND(" ",A2)-1),A2)
4
完整公式与逐段拆解
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
LEN(A2)整串有多长,比如 14FIND(" ",A2)空格在第 3 位14 - 3 = 11空格右边有 11 个字符RIGHT(A2,11)从右边取 11 位,正好是手机号| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 姓名电话 | 地址 | 姓名 | 电话 | 清洗后地址 |
| 2 | 张三 13800001111 | 北京市朝阳区建国路88号 | 张三 | 13800001111 | 北京市朝阳区建国路88号 |
| 3 | 李四 13900002222 | 上海市浦东新区世纪大道100号 | 李四 | 13900002222 | 上海市浦东新区世纪大道100号 |
| 4 | 王五 13700003333 | 广州市天河区体育西路1号 | 王五 | 13700003333 | 广州市天河区体育西路1号 |
当前表:原始名单 · 公式单元格 C2 · 绿色底为公式,蓝色底为动态数组溢出结果
C 列是姓名、D 列是电话,都由 A 列拆出来
6
数据流向
数据流向演示1 / 4
来源原始名单!A2
➜
去向FIND 定位空格
原文「张三 13800001111」
来源FIND
→
去向拆分点
空格在第 3 位
来源拆分点
→
去向两列结果
左边 → 姓名,右边 → 电话
来源两列结果
→
去向原始名单!C2:D2
写入 C2、D2
跟着高亮一步步看数据怎么流动
7
注意事项与坑
!全角空格( )和半角空格不是一回事,FIND 找不到就复制原文里的空格。
!如果姓名本身带空格(如英文名),要改用最后一次出现的位置:FIND(" ",A2,LEN(A2)-10)。
!电话取出来是文本,需要参与计算要套 VALUE。
8