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

Excel按账号统计连续盈利最大次数及对应盈利总和问题

问题:按账号统计最大连续盈利次数及对应盈利总和

我尝试数日仍未解决以下需求:需设置公式按账号统计其连续盈利的最大次数(记录按时间顺序从上到下),同时统计该最长连续盈利区间的盈利总和。当前使用的公式存在问题:盈利为正时可递增计数,亏损时设为0,但同一账号下一次盈利时计数未重置,而是从之前的计数继续累加,仅在亏损时添加0,未实现计数重置。

数据样例

Account NoHelperProfit
2101822TRUE-11.4
2101822TRUE1.58
656546TRUE100
656546TRUE100
2101822TRUE100
2101822TRUE1001
2101822TRUE-100
2101822TRUE1000
656546TRUE-1.6
656546TRUE100
656546TRUE150

预期结果

Account Number最大连续盈利次数连续盈利总金额 $
210182231102.58
6565462150

解决方案

核心问题分析

原公式未针对同一账号的上一条交易记录做判断,而是直接基于上一行(可能是其他账号)的计数累加,导致账号切换后计数未正确重置。以下是修正后的分步方案:

步骤1:添加辅助列统计连续盈利次数(D列)

在D2单元格输入公式(Excel 365及以后版本直接回车;旧版本按Ctrl+Shift+Enter作为数组公式):

=IF(C2<=0,0,IF(COUNTIF($A$1:A2,A2)=1,1,IF(INDEX($C$1:C1,MAX(IF($A$1:A1=A2,ROW($A$1:A1),0)))>0,INDEX($D$1:D1,MAX(IF($A$1:A1=A2,ROW($A$1:A1),0)))+1,1)))

公式逻辑:

  • 若当前交易亏损,计数设为0
  • 若为该账号第一条盈利记录,计数从1开始
  • 找到上一条同账号交易:若上一条盈利则计数+1,若上一条亏损则重置为1

步骤2:添加辅助列统计当前连续盈利总和(E列)

在E2单元格输入:

=IF(C2<=0,0,IF(COUNTIF($A$1:A2,A2)=1,C2,IF(INDEX($C$1:C1,MAX(IF($A$1:A1=A2,ROW($A$1:A1),0)))>0,INDEX($E$1:E1,MAX(IF($A$1:A1=A2,ROW($A$1:A1),0)))+C2,C2)))

公式逻辑:

  • 亏损时总和为0
  • 第一条盈利记录总和=当前盈利
  • 上一条同账号交易盈利时,总和累加当前盈利;上一条亏损时,总和重置为当前盈利

步骤3:统计最大连续盈利次数(结果表B2)

假设结果表的账号在A2单元格,输入数组公式:

=MAX(IF($A$2:$A$12=A2,$D$2:$D$12,0))

按对应快捷键完成输入。

步骤4:统计最长连续盈利区间总和(结果表C2)

输入数组公式:

=MAX(IF($A$2:$A$12=A2,IF($D$2:$D$12=B2,$E$2:$E$12,0),0))

按对应快捷键完成输入。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:08:10