Excel多列转一列之先列后行
来源:网络收集 点击: 时间:2024-05-20如下图,是小王收到的一份外出学习名单,名单姓名是多列数据,现在想要把它转换成一列排列,而且要录入时要先列后行。就像图片右边的数据那样

小王在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函数其含义是如果公式的计算结果为错误,则返回指定的值;否则将返回公式的结果。此公式中的作用就是姓名提取完后返回空单元格。

亲,点个赞啊!
EXCEL多列转一列先列后行版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_815130.html