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
。