Excel 将行转换为矩阵

Excel 将行转换为矩阵

Excel 2016 是否有集成功能可以将一系列 1x95 行数据转换为独特的 5x19 矩阵?

我有大量 5x19 矩阵需要导入到 Excel 中。不幸的是,由于导出/导入的方式,这导致了大量 1x95 行。

由于矩阵的数量未知,我正在编写一个宏来处理这个问题,但遇到了问题。我插入新行的功能运行良好,但我很难递归地剪切正确的区域并粘贴到正确的区域。如果 Excel 中已经有一个内置功能,允许我选择一条线并将其转换为 5x19,那将为我节省大量时间。

答案1

数据结构 95x1:

可以使用 Excel 2016 解决问题的一种方法是使用OFFSET如下函数:

=OFFSET($A$1:$A$95,COLUMN()-COLUMN($B$1)+((ROW()-ROW($B$1))*(ROWS($A$1:$A$95)/5)),0,1,1)

在较新版本的 Excel 中,您可以使用以下简单方法:

=INDEX($A:$A,SEQUENCE(5,19))

拙劣的方法假设您的数据存储在 A 列中,并且您事先知道矩阵的大小 (5x19)。但是,如有必要,您可以动态地执行此操作。


编辑:数据结构 1x95:

对于这种数据结构,您需要按如下方式调整公式(假设您的数据存储在范围内A1:CQ1并且您的矩阵从单元格开始A3;当然可以根据您的需要进行更改):

=OFFSET($A$1:$CQ$1,0,COLUMN()-COLUMN($A$3)+(ROW()-ROW($A$3))*(COLUMNS($A$1:$CQ$1)/5),1,1)

对于该INDEX功能,您只需改变相应的数组。

相关内容