这是最近一位网友问我的问题。如下图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(A2:A4,INT((ROWS(H
向下拖拉复制至单元格G10。
在单元格H2中输入公式:
=INDEX(B2:D4,INT((ROWS(H1:H1)-1)/3) 1,MOD((ROWS(H1:H1)-1),3) 1)
向下拖拉复制至单元格H10。
很简单!