一列变多列,模式化公式请收好

小伙伴们好啊,今天给大家带来的是一个用函数实现行列转换的技巧。

如下图所示,是一份员工名单:

这个表中的姓名只有一列,却有40多行。如果以这样的版式打印,不仅浪费纸张,打印出的效果估计也能让领导掉头发的。

打印之前,需要将A列姓名转换为适合打印的5列多行。接下来咱们就说说用函数公式如何来实现这样的效果。

D2单元格输入以下公式,向右向下复制:

=INDIRECT('a'&5*ROW(A1)-4+COLUMN(A1))&''

思路解析:

“5*ROW(A1) -4+COLUMN(A1)”部分,用于得到有规律的序列值,起始计算结果为2。

公式向下复制填充时ROW(A1)依次变为ROW(A2)、ROW(A3)……,计算结果分别为7、12……,即生成步长值为5的自然数序列。

公式向右复制填充时COLUMN(A1)依次变为COLUMN(B1)、COLUMN(C1)……,计算结果分别为3、4……即生成步长值为1的自然数序列。

这部分的计算结果与字符'a'连接成一个单元格地址“An”,最后用INDIRECT函数返回文本字符串所指定的引用,得到相应单元格的内容。

公式最后使用&'',目的是为了屏蔽在引用空白单元格时返回的无意义的0值。

使用Office 365的同学,公式就简单很多了:

C2输入以下公式,按回车即可:

=INDEX(A:A,SEQUENCE(500,5,2))&''

SEQUENCE是Office 365中特有的函数,专门用于生成序列值数组。它的基本语法如下:

=SEQUENCE(行数,[列数],[初始值],[步长])

如果要把D2:H10单元格区域中多行多列的数据转换为一列,该怎样处理呢?

任意单元格中输入以下公式,下拉到出现空白单元格为止:

=OFFSET($D$2,(ROW(A1)-1)/5,MOD(ROW(A1)-1,5))

思路解析:

先来看看这部分:(ROW(A1)-1)/5 ,作用是生成一个特殊的递增序列0、0.2、0.4、0.6、0.8、1、1.2……

OFFSET函数将公式结果作为向下偏移的行数,并且会自动向下舍入到整数。就相当于得到从0开始,公式每下拉5行,结果递增1的序列。

MOD(ROW(A1)-1,5)部分,仍然是得到一个特殊的循环序列,公式下拉时,结果为0、1、2、3、4、0、1、2、3、4……

OFFSET函数将这部分的结果作为向右偏移的列数。

将上面两部分结合起来,OFFSET函数以D2单元格为基准点,公式下拉时依次偏移到数据源第二行的E、F、G、H列。

当公式下拉到第5行时,OFFSET函数从D2开始向下偏移1行到D3单元格,然后继续向右依次偏移到第三行的E、F、G、H列。

如此循环往复……

最后留给大家两个课后题:

1、如果要将A列数据转换为6列多行,需要使用什么公式呢?

2、如果要将6列多行的数据转换为1列,公式该怎么修改呢?

图文制作:周庆麟

(0)

相关推荐

  • 巧用OFFSET函数实现不同方式的重复

    前言 下面两种方式的重复,一种为单项连续重复,一种为整体连续重复,遇到这种情况你将如何去做? 下面将为你逐一展示: 1单项连续重复 单项连续重复是指数组中每一个单元格连续重复N次后再接着重复下一个单元 ...

  • 多行多列转单列(按列的方向)

    将下列二维区域中的名字按列的方向转为单列,结果如F列所示.对于这种问题,我们的思路是以终为始,也就是由结果往回推.方法是用引用函数+构造序列数. -01- offset函数 第一种方法先用offset ...

  • Excel中多行表格转多列表格,用OFFSET函数如此简单

    利用OFFSET+COLUMN+ROW这3个函数组合,我们可以将多行表格转成多列表格. 下图中,将B2:C10多行的单元格区域转成B12:J13多列的单元格区域. 具体操作步骤如下: 1.选中B12单 ...

  • ROW函数和COLUMN函数,简单实用!

    行云里讲堂(ID:xingyunli2022) 践行终身学习,专注个人提升. 整理编辑:枏北 一 ROW函数 ROW函数作用是返回一个引用的行号. 其语法为:ROW(参照区域). 如果省略参照区域,则 ...

  • 多列变一列(三种方法)

    今天是大年初七,很多表亲们开始上班了,祝大家开工大吉! 一张表格中有多列数据,如图1,想把这些数据全部复制粘帖到一列,每列数据行数可能不一样.如果一列列数据选中后复制粘帖,很慢,这里介绍三种方法快速实 ...

  • 一列变两列,只要一分钟

    先看数据源,是一组中英文对照的短语: 现在咱们要实现两种效果. 第一种,将中英文的顺序互相调整,变成下面这样: 思考一下,要怎么实现呢? 其实,只需要两个等号. B2单元格输入 =A3 B3单元格输入 ...

  • 别再粘!粘!粘!Excel多列变一列5秒就完成!99%人不知道的新技巧

    可以说,会用Excel的用户都会制作简单的数据透视表.但昨天兰色发现数据透视表的一个"新"功能,估计99.9%的用户不知道. 数据透视表可以设置不同的版式,其中一个是压缩式版式,它 ...

  • 两列变一列,这些方法你会几种?

    如下图所示,需要将A2:B9的两列内容,转变为D列的样子. 思考一下,有几种方法能实现呢? 这个题目乍一看,是不是有点难度? 今天咱们要使出浑身解数,一起玩个够. 1 VBA代码法 按Alt+F11, ...

  • 一招解决多行多列变一列的问题

    前言 你是不是也有过类似的经历,将表格设计成横向格式,给统计和分析带来很大的不方便,其实正确的姿势是第二个,正确的表格应有标题和记录组成,不应该合并单元格,每一列具有相同的属性,每一行代表一条完整的记 ...

  • 一列变多列,效果真不错

    小伙伴们好啊,今天给大家带来的是一个用函数实现行列转换的技巧. 如下图所示,是一份员工名单: 这个表中的姓名只有一列,却有40多行.如果以这样的版式打印,不仅浪费纸张,打印出的效果估计也能让领导掉头发 ...

  • 健身达人和超模都爱的「隔夜燕麦」,最佳搭配公式请收好!

    炎炎夏日,对于赖床爱好者的上班族来说,如果一起床就有冰冰凉.甜丝丝的"隔夜燕麦"做早餐,一定很幸福吧. 但对于这种新颖的吃法,有些小伙伴还是有些望而却步,担心肠胃受不了. 今天就来 ...

  • 合并单元格求和、计数、加序号,三个公式请收好

    合并单元格计数 如下图,要统计每个店铺的人数. 同时选中D2:D13单元格区域,编辑栏输入公式后按Ctrl+回车: =COUNTA(B2:B13)-SUM(D3:D13) 注意,SUM函数的参数起始位 ...

  • 租金计算,现成的公式请收好

    在广东生活了这许多年,最羡慕的莫过于本地人吃早茶.看报纸.讲着我听不懂的粤语.过着我暂时过不上的悠闲生活,每月唯一的工作也许就是穿着人字拖.花裤衩,拎上一串钥匙走街串巷收房租(现在也许连这项工作都省了 ...