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)