【动态数组】函数实战案例之一列数据转M行N列
WPS函数专家
要想下班早,表格必须用的好!
大家好,我是张俊。
⭐场景
今天接到一个宝子求助,说老板临时安排任务,要求将100个客户姓名,放在C1:G20单元格(20行5列)中,具体如下图所示:
如果是我们一个个手工粘贴,那可得花不少时间,如果数据更多呢?比如1000个、10000呢?那不得粘贴到地牢天荒?如果你也经常遇到这样的问题,那就不妨看过来吧?学会一个技巧,少走很多弯路。
- 所需函数
1.1 SEQUENCE函数
SEQUENCE函数简单来说,就是生成指定行指定列的序列,我们可以利用这个函数直接生成20行5列的1到100的数据序列。
关于SEQUENCE函数基本用法和进阶用法可以参考:【动态数组】以动态数组视角学习SEQUENCE函数基本用法和【动态数组】以动态数组视角学习SEQUENCE函数进阶用法,可以帮助大家快速的理解和学会SEQUENCE函数。
1.2 INDEX函数
INDEX函数简单来说,就是将一组数据中数据根据第二个参数的序号,返回对应的数据。关于INDEX函数具体用法,后期会专门出教程详细说明,大家期待一下吧?
1.3 TRANSPOSE函数
TRANSPOSE函数简单来说,就是将M行N列数据转换为N行M列数据。关于TRANSPOSE函数具体用法,后期也会专门出教程详细说明,大家期待一下吧?
1.4 IFERROR函数
IFERROR函数简单来说,就是当IFERROR函数的第一参数报错时,我们通过第二参数来规避错误。关于IFERROR函数具体用法,后期也会专门出教程详细说明,大家期待一下吧?
- 实现效果
根据需求描述,具体公式:
=INDEX(A2:A101,SEQUENCE(20,5))
具体操作如下图操作所示:
- 公式解析
SEQUENCE(20,5)
通过SEQUENCE函数生成20行(参数1)5列(参数2)的从1开始(参数3)步长值为1(参数4)的序列,公式的完整写法为SEQUENCE(20,5,1,1),由于参数3和参数4不指定的情况下默认为1,因此可以省略。
=INDEX(A2:A101,xx)
INDEX函数主要是将一组数据(参数1)根据指定的序号(参数2)返回对应的数据;此案例是将A2:A101单元格区域中的100个姓名,根据指定的序号逐个返回。
- 进阶用法
4.1 逐列递增序号
如果我们想竖向逐列排序该怎么办呢?其实我们先用SEQUENCE函数生成5行20列的序列,然后在用TRANSPOSE函数转置下即可完成,具体公式如下:
=INDEX(A2:A101,TRANSPOSE(SEQUENCE(5,20)))
具体如下图操作所示:
4.2 数据数量够整行整列
如果我们数据不足100条(如98条),我们想生成20行5列的数据不足的会报错,具体如图所示:
这时,我们只需通过IFERROR函数将错误的值显示为空即可,具体公式如下:
=IFERROR(INDEX(A2:A99,SEQUENCE(20,5)),"")
具体操作如图所示:
关于此案例的逐列增加序号的问题,留在评论区,欢迎大家来交作业!
关于通过SEQUENCE函数实现一列数据转M行N列的方法,你学会了吗?学习学会的话,记得点赞❤️❤️❤️并在评论区评论“我学会了!”,您的点赞❤️❤️❤️和评论是对我最大的支持!
🚩 | 练习文件:👉一列数据转多行多列👈 |
个人往期帖子合集:【帖子合集】个人往期帖子合集来了!
WPS函数专家
WPS函数专家
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
WPS函数专家
WPS函数专家
WPS函数专家
WPS函数专家