用offset,int,mod等函数实现excel列数据与矩阵数据的变换,用公式比较方便。注意,本例子矩阵数据是先按列,再按行填充数据。如果想先按行,再按列填充数据,可以再进行装置,也可以修改一下公式即可。
列变矩阵 6行:IF(ROW()>6,"",OFFSET($A$1,(ROW()-1)*1+(COLUMN()-3)*6,0,1,1))
矩阵变列:OFFSET($C$1,MOD(ROW()-1,6),INT((ROW()-1)/6),1,1)
列转换行:INDEX($C$1:$C$6,COLUMN(K$1)-COLUMN($K$1)+1)
引用:
ADDRESS(1,4,1) |
INDIRECT((ADDRESS(1,4)))
按地址进行矩阵转置变换:INDIRECT(ADDRESS(COLUMN(A1),ROW(A1),,,"Sheet1"))
取偶数列:INDIRECT(ADDRESS(ROW(A1),COLUMN(A1)*2))