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

无需辅助区域:对FILTER返回的双数组执行SUMIF计算

Excel 直接计算品牌对应产品的数值差值(无需辅助区域)

问题背景

表格包含两组数据:

  • List A(A:C列):A列=品牌,B列=产品,C列=数值
  • List B(E:G列):E列=品牌,F列=产品,G列=数值

当前通过以下公式,基于I1单元格的品牌条件,在辅助区域筛选对应数据:

  • List A筛选:=CHOOSECOLS(FILTER(A1:C12,A1:A12=I1),2,3)
  • List B筛选:=CHOOSECOLS(FILTER(E1:G12,E1:E12=I1),2,3)

需要不依赖辅助区域,直接在I9:J11生成结果:

  1. 展示List A中对应品牌的唯一产品
  2. 计算每个产品的「List A数值总和 - List B对应数值总和」

附加条件:

  • List B的品牌、产品均存在于List A中
  • List B同一品牌下可能有重复产品

解决方案

方案1:分两列实现(兼容多数Excel版本)

唯一产品列(I9单元格)

Excel 365/2021版本输入后自动溢出所有唯一产品;旧版本需下拉填充:

=UNIQUE(FILTER(B1:B12,A1:A12=I1))

旧版本(2019及更早)替换为以下数组公式(输入后按Ctrl+Shift+Enter,下拉填充):

=INDEX(B:B,MIN(IF((A:A=I1)*(COUNTIF(I$8:I8,B:B)=0),ROW(B:B),99999)))&""

差值计算列(J9单元格)

Excel 365/2021版本直接输入,自动匹配I9列的产品;旧版本下拉填充:

=BYROW(I9#,LAMBDA(x,SUMIFS(C:C,A:A,I1,B:B,x)-SUMIFS(G:G,E:E,I1,F:F,x)))

旧版本替换为:

=SUMIFS(C:C,A:A,I1,B:B,I9)-SUMIFS(G:G,E:E,I1,F:F,I9)

方案2:一键生成两列结果(Excel 365/2021专属)

直接在I9单元格输入以下公式,一次性输出产品和差值两列,无需分步骤:

=LET(
    target_brand, I1,
    unique_prods, UNIQUE(FILTER(B1:B12, A1:A12=target_brand)),
    sum_a, SUMIFS(C:C, A:A, target_brand, B:B, unique_prods),
    sum_b, SUMIFS(G:G, E:E, target_brand, F:F, unique_prods),
    HSTACK(unique_prods, sum_a - sum_b)
)

公式逻辑:

  1. LET定义变量,简化公式结构
  2. unique_prods提取List A中目标品牌的唯一产品
  3. sum_a/sum_b分别计算两组数据中对应产品的数值总和(自动处理List B的重复产品)
  4. HSTACK横向合并产品列与差值列,直接溢出到I9:J11区域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 22:13:19