Excel自动筛选工作表中计算峰值权益Peak Equity的公式咨询
Excel 峰值权益(CS列)筛选兼容公式方案
适用版本说明
版本1:Excel 365 / 2021 及以上(支持动态数组+LAMBDA)
直接在CS18(第18行,首行数据行)输入以下公式,下拉填充即可:
=MAX(10000, BYROW(SEQUENCE(ROW()-17), LAMBDA(k, 10000 + SUBTOTAL(109, N$18:INDEX(N:N, 17+k)))))
逻辑说明:
- 自动遍历从第18行到当前行的所有行,仅统计可见行的累计盈亏
- 取所有历史可见权益的最大值,天然满足≥10000的下限要求
- 筛选状态变化时自动重算,无需手动调整
版本2:Excel 2019及更早版本(向下兼容)
- CS18(首行数据行)输入公式:
=MAX(10000, CR18)
- CS19(第二行数据行)输入以下公式,下拉填充到所有数据行:
=MAX(10000, IF(SUBTOTAL(103, CR18), CS18, LOOKUP(2, 1/(SUBTOTAL(103, CR$18:CR18)), CS$18:CS18)), CR19)
逻辑说明:
- 用
SUBTOTAL(103, CR18)判断上一行是否为可见行 - 上一行可见时直接继承上一行的峰值权益,上一行隐藏时自动向上查找最近一个可见行的峰值权益
- 最终与当前行总权益、10000取最大值,保证只涨不跌、不低于起始资金的规则
验证规则匹配说明
- ✅ 永久不低于起始资金10000:公式内置10000作为MAX的固定参数
- ✅ 仅随盈利增长不回落:始终取历史可见峰值与当前权益的最大值
- ✅ 自动筛选场景正常生效:所有行可见性判断均使用忽略隐藏行的SUBTOTAL函数,筛选后自动适配可见范围计算结果
内容的提问来源于stack exchange,提问作者honkin
相关产品推荐
相关产品推荐

