【动态数组】函数实战案例之M行N列数据转一列
WPS函数专家
要想下班早,表格必须用的好!
大家好,我是张俊。
⭐场景
大家好,我是张俊,自动上次分享【动态数组函数实战案例】一列数据转M行N列后,又有宝子们咨询,如何将多行多列的数据转置为一列数据,如下图所示:
如果是我们一个个手工粘贴,那可得花不少时间,如果数据更多呢?比如1000个、10000呢?那不得粘贴到地牢天荒?如果你也经常遇到这样的问题,那就不妨看过来吧?学会一个函数技巧,少走很多弯路。
- 所需函数
1.1 TEXTJOIN函数
TEXTJOIN函数简单来说,就是将单元格区域(参数3及之后参数)单元格区域的字符串根据指定字符(参数1)拼接,如遇空白单元格可以考虑是否忽略(参数2)。关于INDEX函数具体用法,后期会专门出教程详细说明,大家期待一下吧?
就是生成指定行指定列的序列,我们可以利用这个函数直接生成20行5列的1到100的数据序列。
关于SEQUENCE函数基本用法和进阶用法可以参考:【动态数组】以动态数组视角学习SEQUENCE函数基本用法和【动态数组】以动态数组视角学习SEQUENCE函数进阶用法,可以帮助大家快速的理解和学会SEQUENCE函数。
1.2 TEXTSPLIT函数
TEXTSPLIT函数简单来说,就是将一串字符根据对应的分隔符(参数2,参数3)根据按行或按列拆分成表格即可。
关于TEXTSPLIT函数基本用法和进阶用法可以参考:【动态数组】以动态数组视角学习TEXTSPLIT函数基本用法和【动态数组】以动态数组视角学习TEXTSPLIT函数进阶用法,可以帮助大家快速的理解和学会TEXTSPLIT函数,关于更多TEXTSPLIT函数应用案例,可以前往我的个人主页:https://home.wps.cn/user/51492或【帖子合集】个人往期帖子合集来了!详细了解。
1.3 TRANSPOSE函数
TRANSPOSE函数简单来说,就是将M行N列数据转换为N行M列数据。关于TRANSPOSE函数具体用法,后期也会专门出教程详细说明,大家期待一下吧?
- 实现效果
根据需求描述,具体公式:
=TEXTSPLIT(TEXTJOIN(",",,A1:E20),,",")
2.1合并字符串
合并字符串公式如下:
=TEXTJOIN(",",,A1:E20)
具体操作步骤如下图所示:
公式解析:
通过TEXTJOIN函数根据字符串","将A1:E20单元格的数据逐行拼接为一个字符串,各单元格值之间用","隔开。
💡 | 在函数录入过程中如何快速选中A1:E20单元格? 1.先选中A1单元格 2.按快捷键Ctrl+Shift+→,选中A1:E1单元格区域 3.再按快捷键Ctrl+Shift+↓,选中A1:E20单元格区域 |
2.2拆分字符串
拆分字符串公式如下:
=TEXTSPLIT(xx,,",")
具体操作步骤如下图所示:
公式解析:
通过TEXTSPLIT函数将字符串根据分隔符","按列拆分(参数3)成多行1列。
- 进阶用法
3.1逐列转化
根据前面的案例,我们可以发现TEXTJOIN函数是逐行合并的,但是目前需求是要逐列合并,怎么办呢?乍一看无从下手,仔细一想,其实可以先通过TRANSPOSE函数对数据区域转置后再次处理就可以了!具体公式如下:
=TEXTSPLIT(TEXTJOIN(",",,TRANSPOSE(A1:E20)),,",")
具体操作步骤如下图所示:
3.2不足整行整列
这时就需要考虑是否需要留空的问题,如果是忽略空白的话,目前的公式就是忽略空白的,主要作用于TEXTJOIN函数的参数2(默认就是忽略空白单元格);如果不想忽略空白单元格,可以修改此参数为0(False)即可,具体公式如下:
=TEXTSPLIT(TEXTJOIN(",",0,TRANSPOSE(A1:E20)),,",")
具体操作步骤如下图所示:
都看到这里了,要记得得点赞❤️❤️❤️和收藏⭐⭐⭐并在评论区评论“我学会了!”,您的点赞❤️❤️❤️、收藏⭐⭐⭐和评论是对我最大的支持!
🚩 | 练习文件:👉多行多列一列数据转一列👈 |
个人往期帖子合集:【帖子合集】个人往期帖子合集来了!
WPS函数专家
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
WPS函数专家
WPS函数专家
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
WPS函数专家