2017-10-07 96 views
1

我找不到这个问题,虽然它似乎与此类似:Conditional SUM using multiple tables in EXCEL除了行不总是有表中的序列相同。Excel:根据条件或来自另一个表的分组总结表的值

我的结果表(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,我会很高兴。

非常感谢!

回答

0

经过一番更多的努力我找到了正确的数组公式,应该被放入结果表的单元格B2:

用CTRL + SHIFT
=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)) 

确认+ Enter抄下和跨越。

我希望这可以帮助你,太;-)

0

这里的另一种方式......

=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进行确认。

相关问题