如果匹配,则将不同行中的值相加

时间:2017-11-23 01:17:38

标签: excel excel-formula

对于我无法解决的问题,我需要一些帮助。我试图弄清楚但没有达到我的目标。这就是我所拥有的:

在表1中,我估计了一段时间内的活跃客户,其中列是月份,行是部门/州:

第1页 enter image description here

然后,在表2中,我预测销售额并需要擅长返回表单1中的值,具体取决于我们为每个部门启动的月份:

第2页 enter image description here

当然,每个部门的启动月份可能会有所不同,而表格1中的值应根据表格2中B栏的选定月份进行调整。

C2:I4范围内,我使用了这个公式:

=IFERROR(IF(C$1>=$B2,INDEX(Sheet1!$B$2:$F$4,MATCH($A2,Sheet1!$A$2:$A$4,0),MONTH(C$1)-MONTH($B2)+1),""),"")

上面的公式实际上在第1页中没有重复部门的情况下工作得很好但是,如果部门重复会发生什么(如表1所示)并且我必须对来自同一部门的值进行求和并在每个单元格上显示结果在表2中?

我期待着您的帮助!

谢谢!

2 个答案:

答案 0 :(得分:0)

请尝试为您的Sheet2!C2单元格设计此公式。

=IFERROR(SUMIF(INDEX(Rodrigo,,1),$A2,INDEX(Rodrigo,,MONTH(C$1)-MONTH($B2)+1)),"")

为了使这个公式起作用,你应该声明一个命名范围,包括你的范围Sheet1!A2:F4。我的公式称为范围Rodrigo。如果您选择其他名称,请相应更改公式中的名称。

您可以通过向公式添加更多IF条件来排除零结果。我更喜欢通过单元格格式化,例如0;0;;,其中第三个分号确定不会显示零。您还可以在工作表选项中禁止显示整个工作表的零。

答案 1 :(得分:0)

尝试使用SUMIF,如下所示:

=IFERROR(IF(C$1>=$B2,SUMIF(Sheet1!$A$2:$A$4,$A2,INDEX(Sheet1!$B$2:$F$4,0,MONTH(C$1)-MONTH($B2)+1)),""),"")