Google表格问题。
我有以下表格(名为" x"),其中包含费用:
Date Sum Category
1/Jan/2017 100 red
2/Jan/2017 200 blue
3/Jan/2017 10 red
4/Jan/2017 20 blue
1/Feb/17 1 red
2/Feb/17 2 blue
我需要计算每个类别的月度总数:
Month Red Blue
Jan/17 110 220
Feb/17 1 2
我目前的解决方案是在每个结果单元格中放置如下内容:
=SUM(IFERROR(FILTER(x!$B:$B, MONTH(x!$A:$A)=MONTH($A2), x!$C:$C="red")))
我在问是否有更好的方法。我想让一个结果公式在数组上运行(可能是一个ArrayFormula ?!),而不是在每个单元格中放置和自定义我的公式。
任何想法?!谢谢!
答案 0 :(得分:0)
这是使用数据透视表的基本思路,但并不完全存在,因为到目前为止,我只能将月份作为数字
query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'")
修改
使用数组公式和VLOOKUP可以将月份数更改为月份名称,但公式有点长(我的月份数字和名称列在I&amp; J列中)
=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false)})
你仍然需要选择另外两列 - 这就是整个事情
=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false),query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col2,Col3")})