如何在Excel中自动计算新增Entry Price与合约量后的Average Entry Price
背景信息
- Entry Price(入场价,又名Entry Point):投资者建立证券头寸的价格,可通过买入订单建立多头头寸,或卖出订单建立空头头寸。
- Average Entry Price(平均入场价):投资者持有证券头寸的平均价格,用于提升潜在利润并更易离场,计算需考虑不同入场价及合约数量(contract size)。
Excel中平均入场价的手动计算方法
基于相关方法,手动计算平均入场价的步骤如下:
- 假设入场价列表:
[16500,16400,16300,16200] - 对应合约数量:
[0.1,0.1,0.1,0.1]
数据存储为如下表格:
| Entry Price | Quantity (BTC) | Average Entry Price |
|---|---|---|
| 16500 | 0.1 | |
| 16400 | 0.1 | |
| 16300 | 0.1 | |
| 16200 | 0.1 |
假设列名分别为A、B、C,对应的平均入场价公式如下:
| Entry Price | Quantity (BTC) | Average Entry Price |
|---|---|---|
| 16500 | 0.1 | =B3/(B3/A3) |
| 16400 | 0.1 | =(A3*B3+A4*B4)/(B3+B4) |
| 16300 | 0.1 | =(A3*B3+A4*B4+A5*B5)/(B3+B4+B5) |
| 16200 | 0.1 | =(A3*B3+A4*B4+A5*B5+A6*B6)/(B3+B4+B5+B6) |
最终计算结果:
| Entry Price | Quantity (BTC) | Average Entry Price |
|---|---|---|
| 16500 | 0.1 | 16500 |
| 16400 | 0.1 | 16450 |
| 16300 | 0.1 | 16400 |
| 16200 | 0.1 | 16350 |
问题
在Excel表格最后一行新增Entry Price与Quantity数据时,如何实现Average Entry Price的自动计算?预期输出如下:
| Entry Price | Quantity (BTC) | Average Entry Price |
|---|---|---|
| 16500 | 0.1 | 16500 |
| 16400 | 0.1 | 16450 |
| 16300 | 0.1 | 16400 |
| 16200 | 0.1 | 16350 |
| 16100 | 0.1 | 16300 |
| 16000 | 0.1 | 16250 |
| 15900 | 0.1 | 16200 |
解决方案
方法1:混合引用累计加权平均公式
在C3单元格(第一行数据的平均入场价列)输入以下公式,然后下拉填充到已有行及新增行:
=SUM($A$3:A3*$B$3:B3)/SUM($B$3:B3)
- 原理:
$A$3:A3和$B$3:B3是混合引用,锁定起始行,结束行随当前行变化,自动计算从第一行到当前行的累计加权平均。
方法2:Excel表格功能(推荐)
- 选中数据区域(含表头),按
Ctrl+T转换为Excel表格; - 在C列第一行数据单元格输入公式:
=SUM(INDEX([Entry Price],1):[@Entry Price]*INDEX([Quantity (BTC)],1):[@Quantity (BTC)])/SUM(INDEX([Quantity (BTC)],1):[@Quantity (BTC)])
- 原理:转换为表格后,新增行时Excel会自动填充公式,无需手动操作,结构化引用更清晰。
两种方法都能实现新增行时自动更新平均入场价,符合预期输出效果。
内容的提问来源于stack exchange,提问作者NoahVerner
相关产品推荐
相关产品推荐

