[英]Excel: Sum up values of a table based on a condition or grouping from another table
我找不到確切的問題,盡管它似乎與此類似: 在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,我將感到非常高興。
在此先多謝!
經過一些額外的努力,我找到了正確的數組公式,應該將其放入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
確認公式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.