如何对每行的过滤列进行SUM运算?

时间:2017-03-15 10:25:20

标签: google-sheets spreadsheet formulas

Google表格问题。

我有以下表格,可以通过添加行和列来增长。添加列的第一个单元格可以是红色或蓝色,随机:

MonthYear | red | blue | blue | red
Jan/2017  | 100 |  200 |   10 |  20
Feb/2017  | 800 |  900 |   50 |  60

我需要的结果应该保留每种颜色的总和:

MonthYear | red | blue
Jan/2017  | 120 |  210
Feb/2017  | 860 |  950 

如何在数据表中添加新行/列时自动更新结果的公式?

非常感谢!

2 个答案:

答案 0 :(得分:2)

单一配方溶液,将配方粘贴到另一张纸上:

={FILTER(Sheet1!A:A,Sheet1!A:A<>""),{TRANSPOSE(UNIQUE(TRANSPOSE(FILTER(Sheet1!B1:1,Sheet1!B1:1<>""))));MMULT(ARRAYFORMULA(OFFSET(Sheet1!B2,,,COUNTA(Sheet1!A2:A),COUNTA(Sheet1!B1:1))*1),ArrayFormula(--(TRANSPOSE(UNIQUE(TRANSPOSE(FILTER(Sheet1!B1:1,Sheet1!B1:1<>""))))=TRANSPOSE(FILTER(Sheet1!B1:1,Sheet1!B1:1<>"")))))}}

我已经提出Sample sheet解决方案和解释。

答案 1 :(得分:1)

我设置了一个产生此输出的示例表:

https://docs.google.com/spreadsheets/d/1xex8ptlabXsclb5fJFO5pG78_EQPAJ65xxpNHDhshoU/edit?usp=sharing

使用的公式是:

单元格A1:=ArrayFormula(Sheet1!A:A)

单元格B1:=TRANSPOSE(UNIQUE(TRANSPOSE(Sheet1!B1:1)))

单元格B2:=SUM(QUERY(TRANSPOSE(QUERY({Sheet1!$A$2:$A,FILTER(Sheet1!$A$2:$Z,Sheet1!$1:$1=B$1)},"where Col1= date '"&TEXT($A2,"yyyy-mm-dd")&"'",0)),,1))

然后将B2公式复制到B2:C3范围的其余部分