Google 表格行分组公式?

问题描述 投票:0回答:1

我有一个投资组合突变数据集,希望将数据分为两组:“已售资产”和“未平仓头寸”。以下是具有所需结果的示例数据集。 Example& 谷歌表格中的示例

投资组合突变样本数据:

股票代码 行动 购买日期 购买价格 分享 销售日期 售价 分享
AAPL 购买 2023 年 1 月 30 日 $143.00 100
AAPL 购买 2023 年 3 月 14 日 $152.00 100
亚马逊 购买 2023 年 5 月 4 日 $104.00 50
AAPL 出售 2023 年 7 月 11 日 187.00 美元 200
WMT 购买 2023 年 8 月 22 日 $52.30 300
亚马逊 购买 2023年9月28日 $124.00 20
AAPL 购买 2023年10月25日 $172.00 80
PG 购买 2023 年 12 月 11 日 $145.00 430
WMT 出售 2024 年 2 月 28 日 59.50 美元 100
PG 出售 2024 年 3 月 8 日 $160.00 430

发生的情况是,人们可以开仓 (AAPL) 并在当年晚些时候平仓。在投资生涯的进一步发展中,苹果公司可能会被再次购买。平仓的仓位应显示在“已售资产”列表中。同时,新持仓会显示在“持仓”列表中。 Color-coded position groups

“出售资产”的预期结果如下:

股票代码 最后销售日期 利润/亏损
AAPL 2023 年 7 月 11 日 $7,900.00
WMT 2024 年 2 月 28 日 $720.00
PG 3/8/0202 $6,450.00

“未平仓头寸”的预期结果如下:

股票代码 首次购买日期 未实现利润/损失
亚马逊 2023 年 5 月 4 日 $4,790.50
AAPL 2023年10月25日 $533.60
WMT 2023 年 8 月 22 日 $1,790.00

我尝试了各种方法,并将我的尝试添加到单独的表格中在谷歌表格中。我将每个唯一股票代码的份额相加,并与“=0”(已售资产)和“>0”(“未平仓头寸”)进行比较。当股票不像本例中的 AAPL 那样被重复买卖时,这种方法很有效。

我正在考虑通过某种方式将彩色行分组在一起并检索要在 2 个列表中显示的必要数据来解决此问题。

是否有公式/查询来创建所需的结果?没有脚本也可以吗?

我先谢谢你了!

google-sheets google-sheets-formula
1个回答
0
投票

这是您可以测试

Sold Assets
部分的一种方法:

=let(Σ,filter({A5:A,G5:I},G5:G),tick,unique(index(Σ,,1)), date,index(xlookup(tick,index(Σ,,1),index(Σ,,2),,,-1)), pl_,map(tick,lambda(Δ,
 let(Ξ,sum(filter(index(Σ,,4),index(Σ,,1)=Δ)), Γ,sum(filter(index(Σ,,3)*index(Σ,,4),index(Σ,,1)=Δ)), Λ,filter({A5:A,D5:D,E5:E},A5:A=Δ,E5:E),
 Γ-sum(map({0;scan(,index(Λ,,3),lambda(a,c,a+c))},vstack(index(Λ,,3),),vstack(index(Λ,,2),),lambda(x,y,z,ifs(x+y<=Ξ,y,isbetween(Ξ,x,x+y),Ξ-x,1,)*z)))))),
 hstack(tick,date,pl_))

© www.soinside.com 2019 - 2024. All rights reserved.