如何对每行的过滤列求和?

How to SUM filtered columns for each row?

Google 表格问题。

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

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 

如何使用在数据 sheet 中添加新 rows/columns 时自动更新结果的公式来执行此操作?

非常感谢!

我设置了一个生成此输出的示例 sheet:

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:$A,FILTER(Sheet1!$A:$Z,Sheet1!:=B)},"where Col1= date '"&TEXT($A2,"yyyy-mm-dd")&"'",0)),,1))

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

单一公式解,将公式粘贴到另一个sheet:

={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解决方案和解释。