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

SUMPRODUCT统计胜负平记录:空行计数与筛选适配问题求助

Excel 胜/平/负统计公式优化(解决空行误判+筛选动态更新)

我来帮你搞定这两个Excel公式的问题,直接上解决方案和细节解释:

核心问题拆解

你当前的公式遇到两个典型问题:

  • 空单元格会被判定为D=E,导致大量空行被误算成平局
  • SUMPRODUCT无法自动识别筛选后的可见行,统计结果不会随筛选动态变化

分步解决方案

1. 先解决空行误判问题

要排除空行,我们需要在胜负平的判断逻辑里,额外加上D列和E列都不为空的条件。用--(D12:D200<>"")和--(E12:E200<>"")就能过滤掉任意一列为空的行。

2. 适配筛选动态更新

要让统计结果随筛选变化,我们需要用SUBTOTAL函数配合OFFSET来生成「可见行标记数组」—— 可见行对应值为1,隐藏行对应值为0,以此来过滤掉被筛选隐藏的行。

最终整合公式

直接用这个公式就能同时解决两个问题:

=SUMPRODUCT(SUBTOTAL(103,OFFSET(D12,ROW(D12:D200)-ROW(D12),0,1,1)),--(D12:D200>E12:E200),--(D12:D200<>""),--(E12:E200<>""))&" / "&SUMPRODUCT(SUBTOTAL(103,OFFSET(D12,ROW(D12:D200)-ROW(D12),0,1,1)),--(D12:D200=E12:E200),--(D12:D200<>""),--(E12:E200<>""))&" / "&SUMPRODUCT(SUBTOTAL(103,OFFSET(D12,ROW(D12:D200)-ROW(D12),0,1,1)),--(D12:D200<E12:E200),--(D12:D200<>""),--(E12:E200<>""))

公式细节解释

  • SUBTOTAL(103,OFFSET(...)):生成可见行判断数组,103参数表示忽略隐藏行的计数,只有可见行才会返回1
  • --(D12:D200<>"")和--(E12:E200<>""):双重过滤空行,确保只有D、E列都有数据的行才会被统计
  • 三个SUMPRODUCT分别计算胜、平、负的可见有效行数,最后用&" / "&拼接成你需要的格式

简化版(适用于Excel 365/2021及以上)

如果你用的是支持动态数组的Excel版本,用LET函数可以让公式逻辑更清晰,维护起来更方便:

=LET(
    filtered_rows, FILTER(D12:E200, (D12:D200<>"")*(E12:E200<>"")*(SUBTOTAL(103,OFFSET(D12,ROW(D12:D200)-ROW(D12),0,1,1))=1)),
    win_count, COUNT(IF(INDEX(filtered_rows,,1)>INDEX(filtered_rows,,2),1)),
    draw_count, COUNT(IF(INDEX(filtered_rows,,1)=INDEX(filtered_rows,,2),1)),
    loss_count, COUNT(IF(INDEX(filtered_rows,,1)<INDEX(filtered_rows,,2),1)),
    win_count&" / "&draw_count&" / "&loss_count
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 07:52:39