Excel多列转一列之先列后行

今天老板交给小王一份文件要求他把文件中的多列数据转为一列显示,而且转换时要先列后行,下面大家分享一下小王的操作过程吧!

如下图,是小王收到的一份外出学习名单,名单姓名是多列数据,现在想要把它转换成一列排列,而且要录入时要先列后行。就像图片右边的数据那样

小王在F2单元格输入公式=IFERROR(INDEX($A$2:$D$10,MOD(ROW(A1)-1,9)+1,INT(((ROW(A1)-1)/9))+1)&"",""),并下拉填充直至出现空白单元格为止。

上面演示的是数据是一个4列9行数据区域,可如果数据是下图这样又该怎么处理呢?

只需要将F2中的公式改为=IFERROR(INDEX($A$2:$E$11,MOD(ROW(A1)-1,10)+1,INT(((ROW(A1)-1)/10))+1)&"","")即可

下面跟大家简单分析一下这个公式,首先是INDEX函数,INDEX函数是返回表或区域中的值或值的引用。

为了方便大家理解我们实际演示一下,比如我现在想要引用A列数据内容,在单元格输入=INDEX(A:A,ROW(A1))下拉即可

理解了INDEX函数,如果我们想要将文中5列10行数据排成一列,那么我们的行号就应该是1,2,3,……10,1,2,3……10这种序列。列号就是十个一,十个二,这种序列,公式中MOD(ROW(A1)-1,10)+1的作用就是生成这种行序列。如下图输入=MOD(ROW(A1)-1,3)+1,即可生成1,23,1,23这种序列

INT(((ROW(A1)-1)/10))+1)在公式中的作用就是生成十个1,十个2,十个3这种列序列,如下图在单元格中输入INT(((ROW(A1)-1)/10))+1)

IFERROR 函数其含义是如果公式的计算结果为错误,则返回指定的值;否则将返回公式的结果。此公式中的作用就是姓名提取完后返回空单元格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值