在Excel中,我从A列到J列有10列数据,每列从第1行到第1000行有1000行。我想知道如何在Excel中计算10列数据的10 x 10协方差矩阵吗?
我的部分解决方案基于美元符号和复制公式:
首先,我在单元格中输入公式=covar($A1:$A1000,A1:A1000)
。
然后,我将公式复制并粘贴到第一个单元格右侧的单元格中,从而得到=covar($A1:$A1000,B1:B1000)
... =covar($A1:$A1000,J1:J1000)
。
现在我不知道如何获取=covar(B1:B1000,A1:A1000)
... =covar(J1:J1000,A1:A1000)
,因为如果我将公式复制并粘贴到第一个单元格下面的单元格中,我将得到=covar($A2:$A1001,A2:A1001)
,...,=covar($A1000:$A2001,A1000:A2001)
代替。
谢谢!
最佳答案
要使公式为“防复制”,可以将=OFFSET()
函数与行和列索引结合使用。例:
在L1 ... U1中输入数字1,2,3,... 10
在K2 ... K11中输入数字1,2,3,... 10
现在对10列A ... J列之一进行防复制引用。这可以通过以下方式获得:=OFFSET($A$1:$A$1000,0,L$1-1)
跟随水平索引=OFFSET($A$1:$A$1000,0,$K2-1)
跟随垂直索引
最后,您将上面的2合并为
=COVAR(OFFSET($A$1:$A$1000,0,L$1-1),OFFSET($A$1:$A$1000,0,$K2-1))
在L2中输入的此公式,复制到L2..U11中以获得10x10矩阵
希望能有所帮助
关于excel - 使用Excel计算协方差矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7564537/