2012-02-07 74 views
1

我有一个电子表格,我开始用它来进行个人金钱分析。 我的主表被称为“交易”,并具有类别,描述,日期和金额(它基本上是一个支票登记册)的标题。 我已经创建了一个包含金额按类别的金额,最小值和最大值的表单的数据透视报表。 我想在该数据透视报表上自定义平均函数,但不知道如何去做。 我希望看到的是积极的消极交易的平均数量。 我的积极交易是我的薪水,负面交易是我做的任何消费。谷歌电子表格数据透视表上的自定义平均函数

一个例子可能在什么,我想在这里做帮助...

我们先来说说类别“民以食为天”我有以下的交易(按照这个顺序)... -20 -25 -30 -30 -35 -40

我想我的平均来计算像这样... (((-20 + -25 + -30)/ 3)+( (-30 + -35 + -40)/ 3))/ 2

任何人都有丝毫的想法,我可以如何提高我的数据透视报告做到这一点?

+0

有人标记此问题应该关闭。您能否让我知道为什么我真的在寻找这个问题的答案?这是否是这个问题的错误地方? – 2012-02-07 15:19:47

回答

3

你喜欢的东西做到这一点:

=ARRAYFORMULA(AVERAGE(IF(Sheet1!D2:D8<0,Sheet1!D2:D8, 0))) 

其中列d就是你们的榜样的和Sheet1中包含“交易”的例子

如果你想填补它的透视表(具有类作为另一个标准),您可以检查一下答案:https://stackoverflow.com/a/9165254/179529

=SUM(ARRAYFORMULA(((Transactions!$A2:$A)=$A2) * ((Transactions!$D2:$D)>0) * (Transactions!$D2:$D))) 
/
SUM(ARRAYFORMULA(((Transactions!$A2:$A)=$A2) * ((Transactions!$D2:$D)>0) * (1))) 

其中$A2是你在有类别名称细胞数据透视表($)将允许您将公式复制到其他列中,您希望每个月或其他第二条标准

如果您想只在列D中的元素SUM大于0时才需要SUM作为第二个参数有((Transactions!$D2:$D)>0),作为第三个参数有(Transactions!$D2:$D) (否则你会计数单元而不是SUM)。

由于AVERAGE也会占用空白单元,所以我使用SUM/COUNT来代替。请注意,COUNT实际上是SUM,第三个参数为1.

另请注意,如果您要忽略标题行,则需要使用Transactions!$D2:$D来定义列,以便从第2行开始。

+0

谢谢 - +1 - 我会玩这个有点... – 2012-02-07 17:13:51

+0

我想我可能会走相反的方向,并总结一个类别的所有正值,并得到那些现在我正在考虑这个的平均值...在我的数据透视表上,你知道我怎么能得到一个类别的所有正值的平均值? – 2012-02-07 17:57:50

+0

我已更新答案以演示数据透视表的多个条件 – Guy 2012-02-08 05:26:46