我希望获得sumproduct,但仅限于数组中的特定对角线。我的设置如下所示,黄色突出显示应该知道公式应该如何计算
正如文字:
Years Rates 0 1 2 3
25 0.16 25 24 23 22
26 0.11 26 25 24 23
27 0.12 27 26 25 24
28 0.13 28 27 26 25
29 0.17 29 28 27 26
30 0.16 30 29 28 27
Years Sum of products
25
26
27
28
29
30
请注意,右边的表格规定了要包含的年数,因此如果表格扩展到包含4年,那么0.17*4
需要包含在25
的总和产品中
最好的方法是什么?理想情况下,不是CSE公式/ VBA。实际的表格要大得多,所以我可能也需要意识到速度。
我打算用我想出的东西来编辑这个,但我希望看到一些不同的方法,所以我希望我现在暂时不要这样做。
答案 0 :(得分:1)
简单地:
=MMULT(G4:J4,B7:B10)
此致
答案 1 :(得分:0)
你可以尝试一下这个CSE,也许它并没有那么糟糕(即使你不想要一个)
=SUMPRODUCT(B7:B10,TRANSPOSE(G4:J4))
答案 2 :(得分:0)
我认为' CSE'即使你不喜欢,公式也是最好的。
使用B11中的第一个公式和图像中的设置,(D1:G1中的0,1,2,3,B1中的单词" Rates"以及D2中的数组) :G7等)
{=SUM(IF($D$2:$G$7=A11, $D$1:$G$1*$B$2:$B$7, 0))}
并向下拖动
答案 3 :(得分:0)
这是我能找到的最佳方式,不使用CSE公式
=SUMPRODUCT(--($C$2:$F$7=$A11),$B$2:$B$7*$C$1:$F$1)
第一个数组的大小为
n x m
,第二个数组是产品 一个n x 1
和1 x m
数组,转换为n x m
阵列。这为SUMPRODUCT
提供了两个大小相同的数组。