对于excel公式中的组合,优化= somproduct(---())

时间:2018-04-16 16:49:07

标签: 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               …   
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  

我正在做的是:

enter image description here

使用此公式:

=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())或在一行中执行此操作的数组公式。

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

2 个答案:

答案 0 :(得分:1)

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

另一种方法是:

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

其中N是您想要总和的A项数。 同样

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

总结B的前N项。

希望有所帮助。

答案 1 :(得分:0)

将其放入I4并向下拖动:

= IFERROR(INDEX($ B $ 13:$ B $ 18 MATCH(B4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ B $ 13:$ B $ 18 MATCH(C4 ,$ A $ 13:$ A 18,0 $)),0)+ IFERROR(INDEX($ B $ 13:$ B $ 18 MATCH(D4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX ($ B $ 13:$ B $ 18 MATCH(E4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ B $ 13:$ B $ 18 MATCH(F4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ B $ 13:$ B $ 18 MATCH(G4,$ A $ 13:$ A $ 18,0)),0)

将其放入J4并向下拖动:

= IFERROR(INDEX($ C $ 13:$ C $ 18 MATCH(B4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ C $ 13:$ C $ 18 MATCH(C4 ,$ A $ 13:$ A 18,0 $)),0)+ IFERROR(INDEX($ C $ 13:$ C $ 18 MATCH(D4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX ($ C $ 13:$ C $ 18 MATCH(E4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ C $ 13:$ C $ 18 MATCH(F4,$ A $ 13:$ A $ 18,0)),0)+ IFERROR(INDEX($ C $ 13:$ C $ 18 MATCH(G4,$ A $ 13:$ A $ 18,0)),0)