You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中聚合多笔交易,展示单行完整交易记录

Google Sheets 股票交易数据聚合方案

需求说明

我在Google Sheets中有一张记录单笔股票交易的表格,结构如下:
交易表格结构

需要将数据聚合为每行代表一笔完整交易的格式(由多笔入场/离场交易合并而成),示例如下:
汇总格式示例

每笔完整交易需计算:

  • 平均入场时间
  • 平均离场时间
  • 总交易数量
  • 平均入场价格
  • 平均离场价格

现有方案问题

之前使用@player0的解决方案效果较好,但存在两个问题:

  • 错误将两笔WMT独立交易合并为一笔
  • 未展示实际交易规模

解决公式

将以下公式粘贴到空白单元格(比如G2),假设原始数据在A:F列:

=LET(
  data, A2:F,
  tickers, INDEX(data,,3),
  types, INDEX(data,,4),
  batch_ids, SCAN(0, SEQUENCE(ROWS(data)), LAMBDA(a,i, 
    IF(i=1, 1,
      IF(tickers[i]<>tickers[i-1], 1, 
        IF(types[i]="入场", a+1, a)
      )
    )
  )),
  combined, HSTACK(data, batch_ids),
  unique_batches, UNIQUE(INDEX(combined,,7)),
  BYROW(unique_batches, LAMBDA(b, LET(
    batch_data, FILTER(combined, INDEX(combined,,7)=b),
    ticker, INDEX(batch_data,1,3),
    entry_data, FILTER(batch_data, INDEX(batch_data,,4)="入场"),
    exit_data, FILTER(batch_data, INDEX(batch_data,,4)="离场"),
    avg_entry_time, AVERAGE(INDEX(entry_data,,2)),
    avg_exit_time, AVERAGE(INDEX(exit_data,,2)),
    total_qty, SUM(INDEX(entry_data,,5)),
    avg_entry_price, AVERAGE(INDEX(entry_data,,6)),
    avg_exit_price, AVERAGE(INDEX(exit_data,,6)),
    HSTACK(ticker, "完整交易", avg_entry_time, avg_exit_time, total_qty, avg_entry_price, avg_exit_price)
  ))
)

公式说明

  1. 批次ID分配:通过SCAN函数为同一股票的每组入场+离场交易分配唯一批次ID,确保不同的同股票交易被独立区分
  2. 分组计算:按批次ID筛选数据,分别计算入场和离场的平均时间、平均价格,以及总交易数量
  3. 结果整合:将各指标整合为符合要求的汇总行,输出完整交易信息

内容的提问来源于stack exchange,提问作者Aaryyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:25:18