对angular产品的总和

我正在寻找获得sumproduct,但只有在一个数组中的特定对angular线。 我的设置如下,黄色突出显示应该如何计算公式

在这里输入图像说明

正文:

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 

请注意,右边的表格要求包括多less年,所以如果表格被扩展到包括4年,那么需要包括25的和产品中的0.17*4

做这个的最好方式是什么? 理想情况下不是CSE公式/ VBA。 实际的桌子要大得多,所以我可能也需要意识到速度。

我打算用我想到的来编辑这个,但是我希望看到一些不同的方式来做这个,所以我希望现在能够坚持下去。

只是:

=MMULT(G4:J4,B7:B10)

问候

你可以试试这个CSE,也许不是那么糟糕(即使你不想要一个)

  =SUMPRODUCT(B7:B10,TRANSPOSE(G4:J4)) 

我认为即使你不愿意,“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))} 

并向下拖动

这是我可以find的最好的方法,而不使用CSE公式

 =SUMPRODUCT(--($C$2:$F$7=$A11),$B$2:$B$7*$C$1:$F$1) 

第一个数组的大小是nxm ,第二个数组是nx 11 xm数组的乘积,将其转换为nxm数组。 这为SUMPRODUCT提供了两个相同大小的数组。