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

Excel公式:筛选后计算两列乘积和并排除隐藏行

解决Excel筛选后计算可见行乘积和的问题

你的表格结构

ProjectRateJan_HrsFeb_HrsMar_Hrs
P13346
P12435
P23325
P13444
P34332
P24434
Total666079

问题原因

你之前用的=SUM($P$2:$P$7*Q2:Q7)是数组公式,但SUBTOTAL无法直接处理数组运算结果,必须传入单元格区域;你尝试的SUMPRODUCT组合大概率是列引用错误或OFFSET用法不对,导致无法正确识别隐藏行。

解决方案

根据你的Excel版本,选对应的公式:

1. Excel 365/2021(支持动态数组)

以计算Jan_Hrs的可见行总计为例(Rate×Jan_Hrs之和):

=SUM(FILTER(C2:C6*D2:D6, SUBTOTAL(103, OFFSET(B2:B6, ROW(B2:B6)-ROW(B2), 0, 1))))
  • 逻辑:用OFFSET把每行的Project单元格拆成单独区域,SUBTOTAL(103)判断行是否可见(可见返回1,隐藏返回0),FILTER筛选出可见行的Rate×Jan_Hrs结果,最后SUM求和。

2. 所有Excel版本(含旧版)

同样以Jan_Hrs为例,用SUMPRODUCT兼容所有版本:

=SUMPRODUCT(SUBTOTAL(103, OFFSET(B2:B6, ROW(B2:B6)-MIN(ROW(B2:B6)), 0, 1)) * C2:C6 * D2:D6)
  • 逻辑:SUBTOTAL(103)生成每行的可见状态(1=可见,0=隐藏),和Rate、Jan_Hrs相乘后,SUMPRODUCT自动求和,隐藏行因状态为0被排除。

注意事项

  • 替换列引用:如果你的Rate在P列、Jan_Hrs在Q列,把公式里的C2:C6换成P2:P6,D2:D6换成Q2:Q6,B2:B6换成Project列的对应区域(注意要排除Total行)。
  • 计算Feb_Hrs/Mar_Hrs时,只需把工时列替换成对应列即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 15:55:10