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

Excel GROUPBY与PIVOTBY函数:如何传入Lambda函数向量?

在Excel GROUPBY/PIVOTBY中正确传入Lambda函数向量的方法

官方说明提到,GROUPBY和PIVOTBY支持两种Lambda聚合方式:

  • 用显式或η化简Lambda(比如直接写SUM、AVERAGE这类函数名)做单一聚合
  • 传入Lambda函数向量实现多聚合结果,向量方向决定结果按行/列布局

但直接写GROUPBY(..., {SUM, AVERAGE}, ...)是无效的,核心原因是Excel需要的是由显式Lambda表达式组成的数组,而非单纯的函数名数组。

示例数据

Col1Col2Vals
AA1
AA2
BA3
BA4
AB5
AB6
BB7
BB8
AC9
BC10
BC11

正确写法示例

1. 横向Lambda向量(结果按列布局)

如果希望每个分组的多个聚合结果并排显示在列中,用逗号分隔显式Lambda:

=GROUPBY(A1:B12, C1:C12, {LAMBDA(x, SUM(x)), LAMBDA(x, AVERAGE(x))}, 3)

这个公式会为每个分组生成两列额外数据,分别对应Vals列的求和与平均值。

2. 纵向Lambda向量(结果按行布局)

如果希望每个分组的多个聚合结果按行展开,用分号分隔显式Lambda:

=GROUPBY(A1:B12, C1:C12, {LAMBDA(x, SUM(x)); LAMBDA(x, AVERAGE(x))}, 3)

此时每个分组会生成两行结果,分别对应求和与平均值。

3. PIVOTBY的用法同理

比如要按Col1行、Col2列做双维度聚合,同时输出求和与平均值:

=PIVOTBY(A1:A12, B1:B12, C1:C12, {LAMBDA(x, SUM(x)), LAMBDA(x, AVERAGE(x))})

关键要点

  • 必须用LAMBDA(x, 聚合函数(x))的显式写法,不能直接传入函数名数组
  • 向量的分隔符:逗号对应横向布局,分号对应纵向布局
  • 所有Lambda的参数名(比如示例中的x)要统一,避免解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:02:39