我找不到这个问题,虽然它似乎与这个问题类似:Conditional SUM using multiple tables in 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 :(得分:0)
经过一些额外的努力后,我找到了正确的数组公式,应该将其放入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确认并向下复制。
我希望这对你也有帮助; - )
答案 1 :(得分: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
确认公式。