Google Sheets公式需求:筛选仍持有股票的代码列表
获取仍有持仓的股票代码(Google Sheets公式)
核心逻辑
计算每只股票的净持仓(买入股数 - 卖出股数),筛选出净持仓大于0的股票代码。
最终可用公式
=FILTER(UNIQUE(C2:C), BYROW(UNIQUE(C2:C), LAMBDA(s, SUM(IF(C2:C=s, IF(B2:B="Buy", D2:D, -D2:D), 0))) > 0))
公式拆解
UNIQUE(C2:C):提取表格中所有不重复的股票代码BYROW(UNIQUE(C2:C), LAMBDA(s, ...)):遍历每个唯一股票代码,单独计算对应净持仓IF(B2:B="Buy", D2:D, -D2:D):将买入操作的股数标记为正,卖出操作标记为负SUM(IF(C2:C=s, ..., 0)):汇总当前股票的所有交易股数,得到最终净持仓
FILTER(..., > 0):仅保留净持仓大于0的股票代码
注意事项
- 确保
Action列的操作值严格为Buy/Sell(大小写需匹配),如果是中文表述(如“买入”“卖出”),替换公式中对应文本即可 - 公式默认第1行为表头,数据从第2行开始;若数据范围不同,调整
C2:C、B2:B、D2:D的引用区间
内容的提问来源于stack exchange,提问作者YorgenFridman
相关产品推荐
相关产品推荐

