在 Excel 工作表中,我计算了对角矩阵的一半。现在,我想转置上半部分,以便我可以将其镜像到矩阵的下半部分。在对角线上我有零。我怎样才能实现这个目标?当我选择矩阵上半部分的单元格范围并将其转置到下半部分时,它不起作用。 我的矩阵应该是 388X388 单元格,因此您可以想象我希望避免单独复制和转置每一行。 PS:我无法使用VBA。 谢谢你
编辑:
我已经根据下面的答案尝试了OFFET功能,但我仍然收到此消息。它所说的基本上是该公式存在问题,但没有具体说明问题的根源是什么。在下面的评论中,我还附上了 Office 支持页面的链接,您可以在其中找到此警报消息的确切翻译。我也尝试过使用经典的单元格寻址 A1,但结果相同。
尝试使用 OFFSET 功能。这是一个参考函数,允许您指定距起始单元格一定数量的行和列的单元格。将其与 ROW() 和 COLUMN() 函数结合使用,可以在将公式向下拖动行时从后面的列中获取值,以及在跨列拖动公式时从后面的行中获取值。
最简单的情况是假设您有从 A1 开始的数据:
然后您可以将此公式放入单元格 A2 中:
=OFFSET($A$1,COLUMN()-1,ROW()-1)
当您将其填充到剩余的单元格中时,它将转置您的矩阵。
如果您的矩阵不是从 A1 开始,您只需更改从 COLUMN() 和 ROW() 中减去的量以考虑到它实际开始的位置。
您还可以轻松地将公式填充到所有空白处:
Ctrl+g
,然后选择特殊,然后选择空白并单击确定Ctrl
并单击A2F2
Ctrl+Enter
我正在以更灵活的方式使用@Michael的解决方案。
问题是,如果矩阵不是从 $A$1 开始,它就不起作用。
假设左上角的单元格是 $G$22。那么修改后的方程为:
=偏移量($G$22,COLUMN()-COLUMN($G$22),ROW()-ROW($G$22))
请参阅此页面,它使用此校正后的偏移代码对我有用。我的数组从 C3 开始,我将底部部分复制到顶部部分。因此单元格 D3 的公式(应返回 C4 值)是
=OFFSET(C3,1,0,1,1).
希望它对你有用。