Google Sheets投资追踪器提取已实现收益对应资产唯一名称问题咨询
问题核心原因
你当前使用的公式加入了ISERROR(MATCH(History!B3:B,Positions!A3:A,0))筛选条件,作用是仅保留不在当前持仓列表中的资产,因此会漏掉「历史产生过已实现收益、当前仍处于持仓状态」的资产,不符合统计需求。
解决方案
逻辑调整为:不再过滤当前持仓的资产,改为筛选所有历史上存在已实现收益的资产,排除Cash后去重输出,以下为两种常用场景的公式:
场景1:只要存在卖出记录即计入(默认卖出操作对应已实现收益生成)
假设「History」工作表中C列为交易类型列,卖出交易对应的取值为卖出,可使用以下公式:=UNIQUE(FILTER(History!B3:B, History!B3:B<>"Cash", History!C3:C="卖出"))
场景2:严格筛选仅存在正已实现收益的资产
假设「History」工作表中D列为交易对应资产单价,E列为交易数量,卖出操作数量为负值、买入为正值,可使用以下公式先按资产分组计算累计已实现收益,再筛选收益大于0的资产:
=UNIQUE(FILTER(History!B3:B, History!B3:B<>"Cash", BYROW(History!B3:B, LAMBDA(asset, SUMIFS(History!D3:D, History!B3:B, asset, History!E3:E, "<0") * -1 - SUMIFS(History!D3:D, History!B3:B, asset, History!E3:E, ">0") >0 )) ))
如果你的表中列位置、字段取值规则和上述假设不同,只需对应替换公式中的列号、判断值即可。
内容的提问来源于stack exchange,提问作者Pashtun
相关产品推荐
相关产品推荐

