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

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。

很简单!

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

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

(0)

相关推荐