今天来说说在Excel中,将表格里的一列转换为多行多列的几种方法。

例如,以下表格,是一个行业分类表,都放在同一列中。现我们准备把它转为多列。

java easyexcel 一行分成多列 excel把一行分成多列_excel多列多行堆叠成多列一行

表格里数据除掉标题行行,总共有60列数据,干脆我们就给它转为10行6列吧。

那么,一列转多行多列,怎么转换才快速呢?

动手前,我们先找找规律吧。

首先,我们要知道,表格单元格数据区域为A2:A61,转为10行6列的表格后,原先的单元格地址对应转换后的表格存放位置,如下:

java easyexcel 一行分成多列 excel把一行分成多列_动态图_02

那么问题了,怎么样来调取对应单元格地址的数据呢?

以下四种方法,让你快速完成将一列转多行。

●查找替换法

●批量填充法

●借助word表格转换法

●用indirect函数转换法

现在分别来说一说这四种方法具体怎么使用。

一、查找替换法

1、先做好如下图表底

java easyexcel 一行分成多列 excel把一行分成多列_动态图_03

即在C2单元格输入A2,然后鼠标往右拖动填充至H2单元,使单元格从左往右生成A2、A4……A7数据;

用同样的方法,在C3:H3单元格从左往左路生成A8、A9……A13数据。

然后选中C2:H3这两行单元格区域,鼠标往下拖动至H11单元格,单元格即填充完毕。

2、将“A”替换成“=A”

表底做好后,我们利用查找替换法将表格里的“A”替换成“=A”。

java easyexcel 一行分成多列 excel把一行分成多列_多列_04

3、将公式转化为数值

替换后,我们可以看到C2:H11单元格变成是用公式填充。

java easyexcel 一行分成多列 excel把一行分成多列_查找替换_05

所以,在替换后,我们选中C2:H11单元格区域并复制,然后右键—选择性粘贴,将其粘贴为数值,就完了。

操作动态图:

java easyexcel 一行分成多列 excel把一行分成多列_excel多列多行堆叠成多列一行_06

二、批量填充法

1、先选取B2:F61单元格区域后,在编辑框里输入公式:=A12,然后按批量填充;

java easyexcel 一行分成多列 excel把一行分成多列_查找替换_07

2、再将填充的公式粘贴为数值;

3、最后删除多余的行。

操作动态图:

java easyexcel 一行分成多列 excel把一行分成多列_多列_08

技巧提示:因为是单列60行转为10行6列,原先A2:A11这10个单元格保持不变,所以B2:F61里的单元格就从=A12开始填充。

三、借助word表格转换

可以将Excel表格里的数据复制粘贴到word里,利用word进行转换,转换后再粘贴回excel表格中。

操作方法:

1、将Excel表格里的数据复制粘贴到word文档中,粘贴的时候记得选择【粘贴选项】中的【只保留文本】;

2、全选粘贴进word文档中的文本,点击word菜单的【插入】—【表格】—【文本转换成表格】;

java easyexcel 一行分成多列 excel把一行分成多列_excel多列多行堆叠成多列一行_09

3、在弹出的【将文字转换成表格】对话框里,将列数设置为6列,行数10行,最后点击【确定】即可。

java easyexcel 一行分成多列 excel把一行分成多列_查找替换_10

4、最后,把word文档里转换完的表格复制粘贴到Excel中就完成了。

操作动态图:

java easyexcel 一行分成多列 excel把一行分成多列_excel多列多行堆叠成多列一行_11

四、用indirect函数转换

即选择C2:H11单元格区域,在编辑框里输入以下公式:

=INDIRECT("A"&6*ROW(A1)-5+COLUMN(A1))&""

然后按填充。

java easyexcel 一行分成多列 excel把一行分成多列_动态图_12

操作动态图:

java easyexcel 一行分成多列 excel把一行分成多列_excel多列多行堆叠成多列一行_13

用indirect函数转换的方法,我曾写过专门的文章详细介绍此方法,里面还有关于indirect函数的语法。不懂的童鞋,可以再去翻阅以前的文章。

文章为:

「Excel技巧」如何利用indirect函数快速将一列转为多行多列排版

关于Excel一列转多行多列的方法就介绍到这了。你最喜欢哪种方法?