Excel:根据条件汇总表的值或从另一个表中分组

我找不到这个问题,尽pipe看起来和这个问题类似: 在EXCEL中使用多个表的条件SUM除了表中的行不总是相同的这一事实。

我的结果表(RES)应根据组表(A,B,C)和值表填写。

我按照组表将几个产品分组到A,B,C组:

Products | Group ------------------------ P1 | A P2 | A P3 | B P4 | B P5 | A P6 | C 

几个时期,我有这些产品在不同的表中生成的值。 这些表具有相同的列结构,例如:

 Value Table Period 1 # Value Table Period 2 Products | Value # Products | Value ------------------------ # ------------------------ P3 | 40 # P2 | 60 P5 | 10 # P5 | 20 P2 | 60 # P1 | 10 P6 | 50 # P3 | 30 P1 | 20 # P6 | 40 P4 | 30 # P4 | 50 

这些价值我正在努力合并成一个结果表,根据他们在各个时期内的群体,将不同的产品总结如下:

 Result | Period 1 | Period 2 ----------------------------------- A | 90 | 90 B | 70 | 80 C | 50 | 40 

我尝试应用另一篇文章的数组概念,但是我没有成功地将它应用到我的表中,这些表在某些结构方面有所不同。 如果我能避免使用VBA,我会很高兴。

提前感谢!

经过一些额外的努力,我find了正确的数组公式,它应该被放到Result表的B2单元格中:

 =SUM(SUMIF(Period1!$A$2:$A$7;IF(Result!$I$17:$I$22=Result!$A2;Result!$H$17:$H$22);Period1!$B$2:$B$7)) 

用CTRL + SHIFT + ENTER确认,然后复制下来。

我希望这也能帮助你;-)

这是另一种方式

 =SUM(IF(ISNUMBER(MATCH(Period1!$A$2:$A$7,IF(Result!$I$17:$I$22=Result!$A2,Result!$H$17:$H$22),0)),Period1!$B$2:$B$7)) 

使用分号作为分隔符…

 =SUM(IF(ISNUMBER(MATCH(Period1!$A$2:$A$7;IF(Result!$I$17:$I$22=Result!$A2;Result!$H$17:$H$22);0));Period1!$B$2:$B$7)) 

请注意,公式需要使用CONTROL+SHIFT+ENTER