Arrays 针对excel公式中的组合优化=somproduct(---())

Arrays 针对excel公式中的组合优化=somproduct(---()),arrays,excel,formula,offset,Arrays,Excel,Formula,Offset,我希望使用组合列表在查找表中组合值: Combinations: Expected result: #1 #2 #3 #4 #5 #6 A B 1 =2 =6 1 2 =2+3 =6+7 1 3 5 … 1 4 5 6 …

我希望使用组合列表在查找表中组合

Combinations:               Expected result:    
#1  #2  #3  #4  #5  #6      A       B
1                           =2      =6
1   2                       =2+3    =6+7
1   3   5                   …   
1   4   5   6               …   
2   1   3   5   6           =3+2+5+2+1  …
…                               

Lookup table                                
    A   B                       
1   2   6                       
2   3   7                       
3   5   5                       
4   4   8                       
5   2   20                      
6   1   12  
我正在做的是:

使用此公式:

=SOMMEPROD(--($B$13:$B$18=$C4),$C$13:$C$18)
+SOMMEPROD(--($B$13:$B$18=$D4),$C$13:$C$18)
+SOMMEPROD(--($B$13:$B$18=$E4),$C$13:$C$18)
+SOMMEPROD(--($B$13:$B$18=$F4),$C$13:$C$18)
+SOMMEPROD(--($B$13:$B$18=$G4),$C$13:$C$18)
+SOMMEPROD(--($B$13:$B$18=$B4),$C$13:$C$18)
我想用一个somproduct(offset())或一个数组公式在一行中完成它


可以发布我的许多失败的尝试,但它会影响可读性。

最简单的方法是添加辅助列,在其中计算A和B的运行总和。然后可以执行VLOOKUP来检索感兴趣的总和

另一种方法是:

=SUM(OFFSET($C$13,0,0,N,1))
其中N是要求和的项目数。 同样地

对B的前N项求和


希望能有所帮助。

将其放入I4并向下拖动:

(B$13美元B$13$B$13$13$B$13$13$1$18.0美元,0)+0)+if罗(索引(索引(B$13$B$13$B$13$B$18美元,比赛(B$13$B$13$B$13$13$B$13$13$13$B$13$1$18.0美元$18.0美元美元美元美元))、0)+0)+0)+0)+if罗(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引(索引)(B$13$B$13$B$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$B$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$13$0)

将其放入J4并向下拖动:

(C$13$C$13$C$13$C$13$C$C$13$13$1$18.18美元,0))、0)++ifRo(索引(索引($C$13$C$C$13$C$C$13$C$C$13$C$13$C$13$C$13$C$C$13$C$13$1$1$18.0)(索引)(索引(索引(索引(索引($C$C$C$C$C$13$C$C$C$C$C$C$C$13$C$C$C$C$C$C$C$C$C$13$C$C$C$C$C$C$C$C$C$13$13$1$18$18$18$18$18$18$18$18$1$18$18$18$18$1$18$18$18$1$18$1$18.0(10$1$1$18$1$18.0))))、0)

=SUM(OFFSET($D$13,0,0,N,1))