Excel技巧——一列变多列

1、需求

先看个效果再解释

 

经常会遇到这样一个需求,被领导给了一个数据列表,让按顺序放到三列的表格中,而且排序要横着排。下面就开始介绍如何实现。

2、简介:

方式一:手工方式

当让这个手工不是一个一个写了,而是用Excel帮助实现,只是步骤繁琐些。

方式二:使用公式

使用公式计算好以后,通过拖拽实现。

3、实现步骤:

以天津中学排名为例,总共99所中学,现在要将中学分成3列,数据的顺序要求先横排再竖排,也就是第一行是1,2,3,第二行是4,5,6…….

3.1、方式一:手工方式

1、先增加一个表头---看着方便些,同时再增加一个编号列

扫描二维码关注公众号,回复: 4144188 查看本文章

   

2、在编号列添加3个数字,需要分成几列数字就是几。

3、填充编号列。

   

4、填充后的效果如图,编号列都变成了123,123,123了

5、对编号列进行排序

   

6、排序效果如下,目前已经把数据分成3列了,只是显示在同一列而已

7、开始筛选数据,以下步骤是筛选数据,也可以不按下面步骤筛选,自己手动从排好序的列表中复制数据。

8、选择第一列数据,也就是“列编号”值为1的单元格

9、将结果复制到新的sheet页

注:选中第一行数据,然后按【Ctrl+Shift+End】可以快速选择

  10、重复上面步骤,筛选复制剩下的两列,最终效果如下

   

3.2、方式二:使用公式

思路如下:

 

因此,在第一行第一列单元格中输入以下公式即可完成功能:=INDIRECT("C"&($L$2*(ROW(H3)-3)+(COLUMN(H3)-8)+3))&"",保证效果连续将公式分析放在后面

 

输入公示后,只需拖拽单元格右下角的小黑点,完成填充即可。

 

公式分析:

先计算获取的数据是原始数据的第几个:($L$2*(ROW(H3)-3)+(COLUMN(H3)-8)

然后加上原始数据的上方的空白行再加1,因为索引从1开始,不是从0开始

再根据索引拼接成单元格坐标,如:C3

最后用函数INDIRECT获取单元格的内容

 

更多课程或技巧请关注公众号

 

猜你喜欢

转载自www.cnblogs.com/dahuishi/p/9982843.html
今日推荐