我想计算投资组合收益率,应该是(30%* 3%)+(20%* 2%)+(50%* 1%)= 1.8%
我进行了MMULT(TRANSPOSE(A2:C2),A5:C5),它给出了0.60%。我做错了什么????
答案 0 :(得分:4)
我认为你需要SUMPRODUCT,而不是MMULT。
=SUMPRODUCT(A2:C2, A4:C4)
答案 1 :(得分:1)
我同意@ Jeeped的回答,SUMPRODUCT
最好在这里使用。
提供更多信息:
MMULT(TRANSPOSE(A2:C2),A5:C5)
以数学方式执行以下操作:
[0.3] [0.009 0.006 0.003]
[0.2] * [0.03 0.02 0.01] = [0.006 0.004 0.002]
[0.5] [0.015 0.010 0.005]
通常,如果公式返回数组,则仅在左上角的列中显示的值仅显示在单元格中。 (在这种情况下,它会0.9%
,因为0.009
的格式为百分比。)
但是,在这种情况下,只有在将公式作为数组公式输入时才会返回0.9%
(按 Ctrl + Shift < / kbd> + 输入而不是 Enter )。我发现当TRANSPOSE
是非数组公式的一部分时,0.6%
行为非常奇怪,这解释了您看到TRANSPOSE
的错误结果。
当然,这个矩阵结果甚至不是你想要的,因为你只需要一个结果。实际上,您需要将MMULT
放在MMULT(A2:C2,TRANSPOSE(A5:C5))
的第二个参数中,而不是第一个参数。
[0.03]
[0.3 0.2 0.5] * [0.02] = [0.018]
[0.01]
以数学方式执行以下操作:
MMULT(A2:C2,TRANSPOSE(A5:C5))
这就是你想要的。
同样,为了实际获得此结果,您必须输入{{1}}作为数组公式。