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

求基于数组的一维分类汇总单单元格无VBA公式解决方案

动态分类汇总数组的纯公式解决方案

需求说明

无需VBA或硬编码单个引用,基于指定列值对表格数据聚合,生成动态分类汇总数组。

前置条件

  • 纯公式实现,禁止使用VBA
  • 所有计算逻辑需封装在单个单元格公式内

原始数据

Label 1   Label 2   Label 3 
|  ID_01  |    A    |     1   |
|  ID_02  |    D    |     1   |
|  ID_03  |    C    |     2   |
|  ID_04  |    B    |     3   |
|  ID_05  |    C    |     5   |
|  ID_06  |    A    |     8   |
|  ID_07  |    E    |    12   |
|  ID_08  |    C    |    21   |

参数

<Label 2> = {A,B,C}

所需输出

仅需返回汇总值数组:{9,3,28}


实际场景问题与优化方案

实际使用时参数采用过滤条件,原公式会触发#VALUE!错误:

=LET(D,FILTER(Original_data[Label 1],ISNUMBER(SEARCH(Filter_1,Original_data[Label 3]))*(ISNUMBER(SEARCH(Filter_2,Original_data[Label 5])))),
     B,UNIQUE(FILTER(Original_data[Label 2],ISNUMBER(MATCH(Original_data[Label 1],D,0)))),
     C,FILTER(Original_data[Label 4],ISNUMBER(MATCH(Original_data[Label 1],D,0))),
     A,FILTER(Original_data[Label 2],ISNUMBER(MATCH(Original_data[Label 1],D,0))),
     E,SUMIF(A,B,C),
     IFNA(HSTACK(A,B,C,D,E),""))

改用MAP函数优化后,公式可正常运行:

=LET(D,FILTER(Original_data[Label 1],ISNUMBER(SEARCH(Filter_1,Original_data[Label 3]))*(ISNUMBER(SEARCH(Filter_2,Original_data[Label 5])))),
     B,UNIQUE(FILTER(Original_data[Label 2],ISNUMBER(MATCH(Original_data[Label 1],D,0)))),
     C,FILTER(Original_data[Label 4],ISNUMBER(MATCH(Original_data[Label 1],D,0))),
     A,FILTER(Original_data[Label 2],ISNUMBER(MATCH(Original_data[Label 1],D,0))),
     E,MAP(B,LAMBDA(Y,SUM((A=Y)*C))),
     IFNA(HSTACK(A,B,C,D,E),""))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:28:32