2017-02-26 219 views
-1

在Excel表格中,我计算了对角线矩阵的一半。现在,我想转置上半部分,这样我可以将它反射到矩阵的下半部分。在对角线上我有零。我怎样才能做到这一点?当我选择矩阵的上半部分的单元格区域并将其转置到下部时,它不起作用。 我的矩阵应该是388X388单元,所以你可以想象,我想避免单独复制和变换每一行。 PS:我无法使用VBA。 谢谢从矩阵的一半创建对角线矩阵

编辑:

我照着下面的答案试过OFFET功能,但我仍然得到此消息。它所说的基本上是,该公式存在问题,但没有说明问题的根源。在下面的评论中,我还附加了一个链接到办公室支持页面,您可以在其中找到此警报消息的确切翻译。我也尝试使用经典单元格寻址A1,但结果相同。 enter image description here

回答

1

尝试使用OFFSET功能。这是一个引用函数,它允许您从起始单元格中指定一定数量的行和列的单元格。将此与ROW()和COLUMN()函数结合使用,可以在将公式拖到列和行时拖动公式向下拖动公式时获取后面列中的值。

最简单的情形是假设你有一个从A1开始数据:

1

然后可以把这个公式单元格A2:=OFFSET($A$1,COLUMN()-1,ROW()-1)

当您填写入剩余的细胞,它将转置您的矩阵。

2

如果基质不参与A1开始,你只需要改变你减去COLUMN()的量和ROW(),以允许它实际上开始的地方。

你也可以很容易地填充公式到所有空格:

  1. 输入公式为A2
  2. 选择整个矩阵
  3. 出版社Ctrl+g,然后选择特殊,然后选择空白,然后单击确定
  4. 按住Ctrl并点击A2
  5. F2
  6. Press Ctrl+Enter
+0

谢谢。我正在尝试将这个应用于您所显示的确切示例,但是在将公式输入到A2 Excel中后会引发错误。我假设它需要COLUMN和ROW函数中的一些参数。请问我做错了什么? –

+0

不,他们不需要参数。他们返回当前单元格的列号和行号。你遇到了什么错误?你能否粘贴一个截图,包括公式? – Michael

+0

我正在收到这封邮件。我的工作表看起来完全像你的(我甚至使用过相同的号码:))。我复制了你在这里写的公式,并将其粘贴到A2中。点击ENTER后,我收到以下消息:https://support.office.com/en-us/article/How-to-avoid-broken-formulas-8309381d-33e8-42f6-b889-84ef6df1d586 –

-1

请参阅this page,它使用此校正偏移代码对我有用。我的数组从C3开始,我将底部复制到顶部。所以单元格D3的公式(应该返回C4值)是

=OFFSET(C3,1,0,1,1). 

希望它适合你。