簡體   English   中英

Excel:基於條件或來自另一個表的分組匯總表的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM