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

Excel自动生成符合特定规则的分类汇总公式需求

Excel自动生成符合特定规则的分类汇总公式需求

嗨,我完全明白你的需求了——要做一个能下拉复用的自动汇总公式:只有当A列对应行是"+"时,才汇总上方符合条件的C列数值,而且必须精准截止到上一个""所在行的下一行,完全排除""行的数值对吧?

给你一个稳定且完美匹配需求的公式,直接就能用:

=IF(A23="+", SUMIFS(INDEX(C:C, LOOKUP(2,1/(A$1:A22="*"),ROW(A$1:A22))+1):INDEX(C:C, 22), INDEX(A:A, LOOKUP(2,1/(A$1:A22="*"),ROW(A$1:A22))+1):INDEX(A:A, 22), "."), "")

公式怎么工作的(帮你吃透逻辑):

  • 外层判断:IF(A23="+", ..., "")——只有当前行A列是"+"时才计算汇总,其他行直接显示空值,避免表格出现多余的0或错误值。
  • 定位最后一个"*":LOOKUP(2,1/(A$1:A22="*"),ROW(A$1:A22))——不管你的""在上方哪个位置,它都能精准找到当前行之前最后一个出现""的行号(比如你例子里的A14)。
  • 锁定求和区间:INDEX(C:C, ...+1):INDEX(C:C,22)——从最后一个"*"的下一行(比如A15)开始,到当前行的上一行(C22)结束,确保只汇总这个区间内的内容。
  • 精准筛选求和:SUMIFS(...)——在上述区间里,只对A列标记为"."的行的C列数值求和,完美跳过所有不符合标记的行。

使用步骤:

  1. 把这个公式输入到第一个需要汇总的单元格(比如你例子里的C23)
  2. 直接下拉填充到其他行,公式会自动适配每一行的位置,自动找到对应的"*"位置和求和区间,完全不用手动调整。

比如你提到的C34,下拉后公式会自动定位到C34上方最后一个"*"的位置,然后汇总之后到C33之间所有A列为"."的C列数值,和你手动计算的结果完全一致。

备注:内容来源于stack exchange,提问作者Vasileios Georgakopoulos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:30:28