暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Excel公式技巧106:将表数据转换成列数据

完美Excel 2021-09-11
377

学习Excel技术,关注微信公众号:

excelperfect


这是最近一位网友问我的问题。如下图1所示,需要使用公式将单元格区域A1:D4中的数据转换成单元格区域G1:H10中的数据。

1

 

刚开始看到这个问题,考虑得复杂了些,我想使用一个公式来做到,但没能实现,使用两个公式可以轻松完成。

 

这是一个典型的循环取数示例。对于列G来说,每3次获取同一个数据;对于列H来说,每3次获取同一行中3个单元格中的数据。

 

这样,使用:

INT((ROWS(H$1:H1)-1)/3)+1

将公式向下拖拉复制的话,随着行数的增加,将依次获取:

1,1,1,2,2,2,3,3,3

 

使用:

MOD((ROWS(H$1:H1)-1),3)+1

将公式向下拖拉复制的话,随着行数的增加,将依次获取:

1,2,3,1,2,3,1,2,3

 

将其作为INDEX函数的参数,即可获取相应单元格中的值。

 

因此,在单元格G2中输入公式:

=INDEX($A$2:$A$4,INT((ROWS(H$1:H1)-1)/3)+1,1)

向下拖拉复制至单元格G10

 

在单元格H2中输入公式:

=INDEX($B$2:$D$4,INT((ROWS(H$1:H1)-1)/3)+1,MOD((ROWS(H$1:H1)-1),3)+1)

向下拖拉复制至单元格H10

 

很简单!

undefined

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

文章转载自完美Excel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论