前不久有读者问我如何将一个单元格中的内容拆分到多个单元格中。如果要拆分的位置有规律,比如是空格或其他分隔符,那么很好办,分列。
今天我要教分列这个案例主要是为了带大家温习一个函数,是的温习,大部分函数我都写过,你们需要的可以查找下历史记录。
这个函数也可以用来拆分单元格,而且用法很巧妙,需要一点空间想象,这是我今天写这个案例的主要知识点。
案例:
将下图 1 中 B 列的水果拆分成不同的列,效果如下图 2 所示。


解决方案 1:分列
像这种分隔比较有规律的单元格拆分,用分列是最方便的。
1. 选中 B 列 –> 选择菜单栏的“数据”–>“分列”


2. 在弹出的对话框中选择“分隔符号”–> 点击“下一步”

3. 在弹出的对话框中勾选“其他”–> 输入“/”–> 点击“下一步”

4. 在下一个对话框中保留默认的目标区域 –> 点击“完成”


5. 调整格式,合并表头

分列是很简单,所以我今天的重点主要是借助分列这个案例讲解公式。没想到吧?用公式也能分列。
解决方案 2:公式
1. 在 C2 单元格中输入以下公式 –> 向右向下拖动公式:
=TRIM(MID(SUBSTITUTE($B2,"/",REPT(" ",20)),COLUMN(A1)*20-19,20))



公式释义:
- SUBSTITUTE($B2,"/",REPT(" ",20)):将 B2 单元格中的“/”符号替换成 20 个空格;
- REPT(" ",20):将空格重复 20 次,即 20 个空格;
- 为什么是 20 个空格呢?因为纵观 B 列数据,最长的单元格也不超过 20 个字符,所以够用了;
- 这 20 个空格仿佛就是一个容器,每个容器中装着需要分隔的一段内容;下面两张图就是选中 substitute 公式后按 F9,显示的计算结果;
- 接下来要做的事,就是从每个容器中取出内容,填入不同的单元格中;


- MID(…,COLUMN(A1)*20-19,20)):在上述字段中提取部分值,提取的起点为 a1 的列值 1*20-19=1,一共提取 20 个字符,也就是提取第一个“容器”中的所有内容;当向右拖动公式的时候,列值会递增,起点就变成 2*20-19=21,也就是提取第二个“容器”中的内容;
- TRIM(…):前面提取出来的值带有空格,外面包上 trim 函数可以去除所有空格
2. 将公式区域在原地复制粘贴为值

3. 删除 B 列、调整格式、添加表头

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
