分类帐到数据透视表

时间:2018-11-20 16:20:58

标签: excel google-sheets

我有一个数据透视表,可以跟踪一些投资活动。它以分类帐格式组织:

Date        Asset   Movement    Value
10-Jan-18   Cash    Initial     5000
15-Jan-18   GE      Buy         500         
20-Feb-18   GE      Buy         800
25-Feb-18   GE      Dividend    50
15-Mar-18   FB      Buy         1000
15-Mar-18   GE      Mark2Market 1500

我想创建一个非宏/ VBA / GoogleAppsScript数据透视表,如下所示:

Asset   10-jan-18   15-jan-18   20-feb-18   25-feb-18   15-mar-18
Cash    5000        4500        3700        3750        2750
GE      0           500         1300        1300        1500
FB      0           0           0           0           1000
Total   5000        5000        5000        5050        5250

我已经尝试使用辅助列来构建此表,对于初始表,该列会计算“现金流量”和“资产流量”,并使用以下辅助表将其值相乘。

Movement    Cash    Asset
Initial     1       0
Mark2Market 0       1
Dividend    1       0
Buy         -1      1
Sell        1       -1

但是,这些字段不能使数据透视表在现金帐户没有动静的日期上计算现金余额。什么才能使这项工作正确的电子表格架构?

1 个答案:

答案 0 :(得分:0)

随着时间的流逝,我已经按照以下步骤解决了自己的问题:

在第一个分类帐电子表格中,我添加了现金流量,资产流量,现金余额和AssetBalance列。 CashFlow和AssetFlow使用vlookup将Value列乘以相应的Movement表。 CashBalance和AssetBalance分别汇总日期小于或等于交易数据且具有相同资产名称的所有CashFlow和AssetFlow列。

然后,在另一个电子表格上,我使用Google Apps脚本查询命令创建数据透视表:

=query({query(Ledger!A:K,"select A, B, C, D, sum(K) where D != 'Cash' group by A, B, C, D",1);
  query(Ledger!A:K,"select A, B, '!Cash', 'Cash', min(J) group by A, B",1)},
    "select Col2, Col3, Col4, sum(Col5) where Col2 != 'Institution' and Col2 != '' group by Col2, Col3, Col4 pivot Col1")