Google sheets 基于分类账创建表

Google sheets 基于分类账创建表,google-sheets,google-sheets-formula,google-sheets-query,Google Sheets,Google Sheets Formula,Google Sheets Query,给出一组类似分类账的数据,包括3列: Name,Type,Amount Foo,A,-100 Bar,A,-200 Baz,A,-500 Foo,B1,200 Foo,A,-100 Bar,A,-300 Baz,B2,2000 Bar,A,-300 如果要创建具有以下标题的表: Name,X,Y,Z 其中,Name是第一个表中的Name的不同列表 其中,X是来自第一个表的值的总和,Names匹配,Type是A,Value是负数 其中Y是第一个表中Names匹配、Type以B开头、值为正的值之

给出一组类似分类账的数据,包括3列:

Name,Type,Amount
Foo,A,-100
Bar,A,-200
Baz,A,-500
Foo,B1,200
Foo,A,-100
Bar,A,-300
Baz,B2,2000
Bar,A,-300
如果要创建具有以下标题的表:

Name,X,Y,Z
其中,
Name
是第一个表中的
Name
的不同列表

其中,
X
是来自第一个表的值的总和,
Name
s匹配,
Type
A
Value
是负数

其中
Y
是第一个表中
Name
s匹配、
Type
B
开头、
为正的值之和

其中
Z
Y/X

我该怎么做? 现在我将其实现为对
X
Y
的两个不同查询,但它们重复了
名称
列,而且它不能组合成
Z
,因为这两个查询不会返回同一组
名称
,因为一些
名称
没有任何与
X
Y
的查询匹配的值

下面是我制作的一张表格中的一个具体示例:

这可能适合您

我在你的工作表上加了一个标签,Sheet1 GK。在本文中,我首先计算每行数据的分配或投资金额——请参见单元格D1和E1中的公式。然后我使用G8中的以下查询来生成您所要求的结果

=query(A1:E12,"select A, sum(D), sum(E), sum(E)/sum(D) group by A label sum(D) ' Invested', sum(E) 'Distributed', sum(E)/sum(D) 'MoM'",1)
唯一的问题是MoM值返回为负值。如有必要,可使用另一列处理此问题,以强制使用绝对值。我不确定是否有任何方法可以将其合并到查询语句中

让我知道这是有用的,或者如果你需要一些不同的东西


我可以帮你解决这个问题,不会有太多麻烦,但从抽象上讲这很难。你能将一些虚假数据粘贴到新的工作表中,并将其作为可编辑链接共享,以便我和其他人可以演示/测试解决方案吗?请添加所需的结果示例,这也会有所帮助。谢谢,刚刚将其添加到问题中!请让所有人共享和编辑您的工作表-我们需要能够更新它,因此请确保它只是您工作表的副本,并且包含非敏感数据。哎呀,忘了这么做。现在每个人都可以编辑了。