根据水平和垂直条件对行值求和

时间:2018-06-20 15:12:37

标签: excel excel-formula

我希望基于水平月份范围和垂直名称范围对行中的值求和。

这是我要实现的目标:

**Name**     1       2      3       4       5             
Michael  $24,000 $36,000 $24,567 $45,000 $36,900    
Jerry    $27,000 $39,090 $55,567 $85,000 $39,900    
Sandra   $24,000 $36,000 $24,567 $45,000 $36,900    
Michelle $24,000 $36,000 $24,567 $45,000 $36,900

我希望能够根据月份范围求和。

例如,如果我想知道3-5个月内Sandra的价值(24,567美元+ 45,000美元+ 36,900美元)

因此,每次我尝试该范围时,都应该给我这些值的总和。

我尝试了一个索引匹配匹配功能,但只能在特定月份而不是范围内使用。

这是我使用的公式:

=INDEX(Quota!$A$3:$P$29,MATCH('Summary by Rep'!A7,Quota!$A$3:$A$29,0),MATCH('Summary by Rep'!B4,Quota!$A$3:$P$3,0))

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

使用此数组公式:

=SUM(INDEX(B2:F5,MATCH(I4,A2:A5,0),N(IF({1},ROW(INDIRECT(I2&":"&I3))))))

在退出编辑模式时,按Ctrl-Shift-Enter确认,而不是Enter:

enter image description here


或者可以正常输入的内容:

=SUMPRODUCT(B2:F5*(A2:A5=I4)*(B1:F1>=I2)*(B1:F1<=I3))

答案 1 :(得分:0)

只需在斯科特·克兰纳(Scott Craner)的答案上构建另一种不涉及数组或类似于数组的公式的解决方案即可。

INDEX函数实际上返回单元格地址而不是值。因此,您可以一次使用index来定义要求和的范围的起始单元格,然后再次使用以定义该范围的结束单元格。

=SUM(INDEX():INDEX())

因此,根据上述公式,您只需要弄清楚如何确定起始单元格,然后为结束单元格重复该过程即可。我用MATCH函数做到了。并使用以下公式:

=SUM(INDEX($B$2:$F$5,MATCH($H4,$A$2:$A$5,0),MATCH($I4,$B$1:$F$1,0)):INDEX($B$2:$F$5,MATCH($H4,$A$2:$A$5,0),MATCH($J4,$B$1:$F$1,0)))

我尚未测试的一个小警告是,您的姓名列表和月份列表可能需要按升序排序。

POC