1

我有一个电子表格,开始用于个人资金分析。我的主工作表称为“交易”,并具有类别、描述、日期和金额的标题(它基本上是一个支票登记簿)。我已经从该表中创建了一个数据透视报告,其中包含按类别划分的金额的总和、最小值和最大值。我想在该数据透视报告上创建一个自定义平均函数,但不知道如何去做。我想看到的是正面交易之间的负面交易的平均数量。我的积极交易是我的薪水,消极交易是我所做的任何支出。

一个例子可能有助于我在这里尝试做的事情......

假设对于“食品”类别,我有以下交易(按此顺序)... -20 -25 -30 100 -30 -35 -40

我希望我的平均值这样计算... ( ( (-20 + -25 + -30) / 3 ) + ( (-30 + -35 + -40) / 3 ) ) / 2

任何人都对如何增强我的数据透视报告来做到这一点有丝毫的想法?

4

1 回答 1

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 列中的元素大于 0 时才对它们求和,则需要将其((Transactions!$D2:$D)>0)作为第二个参数和(Transactions!$D2:$D)第三个参数(否则您将计算单元格而不是对它们求和)。

由于 AVERAGE 也将采用空白单元格,因此我使用了 SUM/COUNT 代替。请注意, COUNT 实际上是 SUM,第三个参数为 1。

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

于 2012-02-07T16:46:37.237 回答