Arrays Excel:根据条件或来自另一个表的分组汇总表的值
我找不到确切的这个问题,尽管它似乎与这个问题类似:除了行在表中不总是具有相同的序列这一事实 我的结果表(RES)应根据组表的组(A、B、C)和值表的值填充 我将几种产品按照以下标准分为A、B、C组 分组表:Arrays Excel:根据条件或来自另一个表的分组汇总表的值,arrays,excel,Arrays,Excel,我找不到确切的这个问题,尽管它似乎与这个问题类似:除了行在表中不总是具有相同的序列这一事实 我的结果表(RES)应根据组表的组(A、B、C)和值表的值填充 我将几种产品按照以下标准分为A、B、C组 分组表: Products | Group ------------------------ P1 | A P2 | A P3 | B P4 | B P5 | A P6 | 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,我会很高兴
提前多谢 经过一些额外的努力,我找到了正确的数组公式,应该放在结果表的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键确认,然后向下和横向复制
我希望这对您也有帮助;-) 经过一些额外的努力,我找到了正确的数组公式,应该放在结果表的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
确认,这里有另一种方法
=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
确认公式