基于账本创建 table
Create a table based on a ledger
给一个ledger-like组数据,有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
如果我想制作一个 table 具有这些 headers:
Name,X,Y,Z
其中 Name
是第一个 table、
中 Name
的不同列表
其中 X
是第一个 table 的值的总和,其中 Name
匹配,Type
是 A
,Value
为负数
其中 Y
是第一个 table 的值的总和,其中 Name
匹配,Type
以 B
开头,并且 Value
为正
其中 Z
是 Y / X
我该怎么做?
现在我将此实现为 X
和 Y
的 2 个不同查询,但它们重复 Name
列,并且它不是 combine-able 到 Z
因为那些两个查询不 return 同一组 Names
,因为某些 Names
没有任何值与 X
和 Y
的查询相匹配。
这是我制作的 sheet 中的一个具体示例:
https://docs.google.com/spreadsheets/d/1qbwLqRncgo8pQNU4oAeYfEHr5o4L8EGB-Skhu869fGE/edit?usp=sharing
这可能适合你。
我在您的 sheet、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 值 return 为负数。如有必要,这可以用另一列来处理,以强制使用绝对值。我不确定是否有任何方法可以将其合并到查询语句中。
让我知道这是否有用,或者您是否需要不同的东西。
给一个ledger-like组数据,有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
如果我想制作一个 table 具有这些 headers:
Name,X,Y,Z
其中 Name
是第一个 table、
Name
的不同列表
其中 X
是第一个 table 的值的总和,其中 Name
匹配,Type
是 A
,Value
为负数
其中 Y
是第一个 table 的值的总和,其中 Name
匹配,Type
以 B
开头,并且 Value
为正
其中 Z
是 Y / X
我该怎么做?
现在我将此实现为 X
和 Y
的 2 个不同查询,但它们重复 Name
列,并且它不是 combine-able 到 Z
因为那些两个查询不 return 同一组 Names
,因为某些 Names
没有任何值与 X
和 Y
的查询相匹配。
这是我制作的 sheet 中的一个具体示例: https://docs.google.com/spreadsheets/d/1qbwLqRncgo8pQNU4oAeYfEHr5o4L8EGB-Skhu869fGE/edit?usp=sharing
这可能适合你。
我在您的 sheet、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 值 return 为负数。如有必要,这可以用另一列来处理,以强制使用绝对值。我不确定是否有任何方法可以将其合并到查询语句中。
让我知道这是否有用,或者您是否需要不同的东西。