启明办公

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 72|回复: 2

Excel如何单列转多行多列?一个等号搞定

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-12-12 00:44:47 | 显示全部楼层 |阅读模式
Excel一列最多可以存储一百多万行个数据,在某些应用场景下、便于数据展示,我们需要将单列数据转换成多行多列数据。
如下图所示,为了打印输出节省纸张、便于观察,需要将A列的人名转换成多行多列:



那么如何进行快速转换?下面介绍两种方法。
确定行列数

在转换之前,我们需要先确定转换之后的行数与列数据。
首先鼠标选中A列,在界面的最底部的状态栏可以看到一共有多少条数据记录。



49条记录,减去一个表头(A1),一共48条数据,我们可以拆分成6列×8行(其它行列也可以,主要是要确定下来)。
等于号

确定好行数与列数之后,在单元格内输入“a2”,之后公式下拉,会自动填充至a9(8行);
接着第二列单元格内输入“a10”,公式下拉,自动填充至a17,然后选中前2列向后填充。



接着利用Ctrl+F替换功能,将字母“a”替换成“=a”,数据转换完成。



或者更简单一点,在确定好行与列之后,直接在B2单元格输入公式“=A10”(一列有8行,所以新一列从第9位开始),公式向后拉5列(加上A列一共6列),公式下拉,红色字体部分即为转换数据。



以上方法主要是利用Excel数字下来的自动填充功能,简单方便且实用。
除此之外,我们还可以利用公式法进行转换。
公式法

公式法主要利用offset函数(位移函数)。C1单元格输入公式:
=OFFSET($A$1,(ROW(C1)+(COLUMN(C1)-3)*8),0)
向右向下填充公式即可。



OFFSET函数通俗的理解是:指定一个参照系(单元格/区域),接着偏移X行与Y列,返回新的单元格/区域。
这里我们利用的是A1单元格向下偏移若干行,来实现数据的转换。



C列一共8行,分别以A1单元格为参照系分别向下偏移1-8行,所以我们用row(c1)来动态返回引用的行数;
当公式拖动到D列时,以A1单元格为参照系,需要向下多偏移8行(E列多偏移16行、F列多偏移24行,以此类推),(COLUMN(C1)-3)*8就是用来控制多偏移的行数;
列偏移值始终为0。
公式法需要注意起始单元格的位置,如果起始单元格的位置发生变化,公式也要相应地变动,只有了解了公式的原理,才能熟练修改。
小结

在了解技巧原理之后,我们可以实现列与行之间任何形式的互相转换,进行灵活运用。
以上就是Excel单列转多行多列的方法,分享给大家,希望有所帮助~
回复

使用道具 举报

2

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-12-12 00:45:22 | 显示全部楼层
只能文字吗?我是数字序列
回复

使用道具 举报

0

主题

5

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-12 00:46:12 | 显示全部楼层
都可以的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|启明办公

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.4

快速回复 返回顶部 返回列表