(excel如何把列变成行)(excel把列变成行)

之前作者有介绍了将多行多列数据转换成一列,同样是对多行数据的转换,但不同点在于,那篇文章讲的是按照列的顺序,来将数据排列成一列。

而今天的课题是从行开始,一行一行的进行转换,使所有数据全部转换成为一个竖列。

(excel如何把列变成行)(excel把列变成行)

今天我们就来学习一个公式,通过这个公式来达成转换的目的。

首先,作者先上公式:=INDEX($A$1:$F$18,INT(ROW(A6)/6),MOD(ROW(A6),6)+1)

(excel如何把列变成行)(excel把列变成行)

看这个公式,使用的是index函数来引用,它的第1参数是引用区域,第2参数是要返回的行序号,第3参数是要返回的列序号。

(excel如何把列变成行)(excel把列变成行)

先来捋一下它的逻辑思路,由于数据表中包含了6列18行,我们的转换顺序是从第1行开始,转换成1列,再接着继续转换第2行,那么,这里就有两个知识点,其实也就是index函数的第2、第3参数的设置。

  • 第一,每行有6列数据,也就是6个单元格,从第1行第1个单元格开始到第6个单元格结束后,又要从第2行第1个单元格开始。因此,它实质上是1-6的一个循环!如果有一个公式,可以进行1-6的循环,就能将一行的6个单元格数据进行引用。那在这里,它执行的是index函数列序号的循环,即index函数第3参数的设置。

公式为:=MOD(ROW(A6),6)+1

(excel如何把列变成行)(excel把列变成行)

这个公式怎么理解?

(图片转成excel格式)(图片转成excel)

mod是求余数的函数,例如mod(3,2),即3除以2,余数是1,所以结果为1.

而row函数的作用是返回行序号,其结果会单元格的变动而变动,比如row(A1)等于1,row(a2)等于2.

那么MOD(ROW(A6),6)+1,它的结果就是mod(6,6)+1,6除6余数为0,加上1,则结果为1.当向下填充公式时,ROW函数的参数是A7,而row(a7)等于7,mod(7,6)余数为1,加上1的结果为2;而填充6次以后,到第7个单元格,即row(12),等于12,mod(12,6)的余数是0,加上1结果为1.

所以,它的结果就是从1-6的持续循环。

  • 第二,当解决了从第一行的第1个单元格到最后一个单元格的循环引用,我们还需要跳转到第2行,否则就是第1行的“单击游戏”了。所以,index函数公式需要保持,当列序号开始1-6的循环时,第2参数的行序号则要保持不变,或者是重复6次行序号为1.

公式为:=INT(ROW(A6)/6)

(excel如何把列变成行)(excel把列变成行)

这里我们要理解int函数的含义,它是一个向下取整函数,即将不足1的数字取整为1,所以这个公式较易理解,6/6等于1,7/6等于一点几,用int函数向下取整,结果仍然是1;只有当公式向下填充到第7个单元格,即row(12)/6时,也就是12/6,等于2,这时公式开始从2进行重复。

从上面的公式看,能否理清这两句话的含义:“从1-6进行循环”,“从1开始重复6次”

我们将这两句话的公式套进index函数公式中,再去理解每个参数的含义。

(excel如何把列变成行)(excel把列变成行)

当我们向下填充公式到第7个单元格时,这时index函数的第2参数是INT(ROW(A12)/6),row(a12)的结果是12,除以6等于2,再用int函数取整,结果为2.所以这时index函数公式的行序号为2,即从引用区域的第2行开始。

第3参数是MOD(ROW(A12),6)+1,row(a12)等于12,mod(12,6)的余数是0,再加上1,因此结果为1,所以第3参数列序号为1.

那么综合一下,index($A$1:$F$18,2,1)的含义就是引用$A$1:$F$18单元格区域的第2行第1列数据。

(excel如何把列变成行)(excel把列变成行)

当输入完公式,我们还需要嵌套一个逻辑函数iferror;因为数据较多时,无法一次性将公式填充到合适的位置,而会出现一些错误值,套上iferror函数来忽略错误值并显示为空值。

(excel如何把列变成行)(excel把列变成行)

最后,我们来总结一下,关于多行多列转一列的关键点在于指定序号间的循环往复,和指定次数重复序号。在这种循环和重复的场景中,row函数搭配int和mod函数,是解题的钥匙。所以搞清每个函数的基本含义和基本用法,是excel进阶学习的基础!

(excel课程表模板)(课程表excel模板)

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(excel如何把列变成行)(excel把列变成行)
本文链接:https://www.51qsb.cn/article/2989.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-09-10
下一篇2022-09-10

你可能还想知道

发表回复

登录后才能评论