google-sheets - 根据账本创建表
问题描述
给出一个包含 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
,
其中是s 匹配X
的第一个表中的值的总和,是,并且是负数Name
Type
A
Value
其中Y
是第一个表中Name
s 匹配、Type
以 开头B
且Value
为正的值的总和
Z
在哪里Y / X
我该怎么做?现在我已经将它实现为 2 个不同的查询X
and Y
,但是它们重复了该Name
列,并且它不能组合成Z
,因为这两个查询不返回相同的集合,Names
因为有些Names
查询没有任何与查询匹配的值对于X
和Y
。
这是我制作的表格中的一个具体示例: https ://docs.google.com/spreadsheets/d/1qbwLqRncgo8pQNU4oAeYfEHr5o4L8EGB-Skhu869fGE/edit?usp=sharing
解决方案
这可能对你有用。
我在您的工作表中添加了一个标签,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 值返回为负数。如有必要,这可以用另一列来处理,以强制使用绝对值。我不确定是否有任何方法可以将其合并到查询语句中。
让我知道这是否有用,或者您是否需要不同的东西。
推荐阅读
- sql - 如何在 sql oracle 中插入子类型值?
- swift - youtube-ios-player-helper-swift 上的 UIWebView 到 WKWebView
- javascript - 添加新数据时自动刷新另一个页面 Laravel 5.8 Ajax
- mysql - 我已在数据库中插入数据但不知道如何在 laravel 中显示
- node.js - 使用nodejs一段时间后如何动态更新数据?
- html - 定位后引导列重叠
- wordpress - wordpress 中的 wp-includes 是什么以及它的用途?
- python - 坚持连接 Beautiful Soup 和 Google Sheets
- python - 使用 scipy.io.savemat 时出现 UnicodeEncodeError
- yii2 - Yii2 基于属性值而不是键的关系