[]
        
立即试用
(Showing Draft Content)

GROUPBY

此函数允许您使用公式创建数据汇总。它支持按行字段分组并聚合相关值。此外,它还可以对分组后的数据进行排序和筛选。

注意:GROUPBY 是一个动态数组公式,您需要在工作簿中启用动态数组功能。

语法

GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])

参数

该函数具有以下参数:

参数

说明

示例

row_fields

[必需] 一个列方向的数组或区域,包含用于对行进行分组并生成行标题的值。

  • 基于单列对行进行分组:=GROUPBY(A1:A62, E1:E62, SUM)

  • 基于多列对行进行分组:=GROUPBY(A1:B62, E1:E62, SUM)

  • 基于非相邻列对行进行分组:=GROUPBY(CHOOSECOLS(A1:D62, 1, 4), E1:E62, SUM)

values

[必需] 要聚合的数据的列方向数组或区域。

  • 聚合单列:=GROUPBY(A1:A62, E1:E62, SUM)

  • 聚合多列:=GROUPBY(B1:B62, E1:G62, MAX)

  • 聚合非相邻列:=GROUPBY(B1:B62, CHOOSECOLS(E1:G62, 1, 3), MEDIAN)

function

[必需] 用于汇总分组数据的函数。

  • 使用一个函数引用:=GROUPBY(A1:A62, E1:E62, SUM)

  • 使用一个 LAMBDA 函数:=GROUPBY(B1:B62, E1:E62, LAMBDA(a, IF(COUNT(a) > 2, "↑", "↓")))

  • 使用 HSTACK 进行多个聚合:=GROUPBY(B1:B62, E1:E62, HSTACK(COUNT, LAMBDA(a, IF(COUNT(a) > 2, "↑", "↓")), PERCENTOF))

  • 使用 VSTACK 进行多个聚合:=GROUPBY(B1:B62, E1:E62, VSTACK(COUNT, LAMBDA(a, IF(COUNT(a) > 2, "↑", "↓")), PERCENTOF))

  • 使用 HSTACK 进行多个聚合并重命名聚合:=GROUPBY(A1:B62, E1:E62, VSTACK(HSTACK(COUNT, LAMBDA(a, IF(COUNT(a) > 2, "↑", "↓"))), {"c", "good"}))

  • 使用 VSTACK 进行多个聚合并重命名聚合:=GROUPBY(A1:B62, E1:E62, HSTACK(VSTACK(COUNT, LAMBDA(a, IF(COUNT(a) > 2, "↑", "↓"))), {"c"; "good"}))

  • 对多值列进行多个聚合:列数和聚合数应相同。

  • 使用临时 LAMBDA 函数进行多个聚合:=GROUPBY(A1:A13, C1:C13, VSTACK(MAP({1, 2, 3, 4}, LAMBDA(_m, LAMBDA(_x, @INDEX(_x, _m) / SUM(_x)))), "2024 Q" & {1, 2, 3, 4}), 1, 0)

field_headers [可选]

[可选] 一个数字,用于指定 row_fields 和 values 是否有标题,以及结果中是否应返回字段标题。

选项:

缺失(默认) - 根据 values 参数假定数据包含标题

0 - 否

1 - 是但不显示

2 - 否但生成

3 - 是并显示


total_depth[可选]

[可选] 确定行标题是否应包含总计。

选项:

缺失(默认) - 总计以及(在可能的情况下)小计

0:无总计

1:总计

2:总计和小计


sort_order

[可选] 一个数字,指示应如何对行进行排序。数字对应于 row_fields 中的列,后跟 values 中的列。如果数字为负,则按降序/反向顺序对行进行排序。

缺失(默认):根据 row_fields 值按 A 到 Z 的升序排序。

按多列排序:提供一个一维数字数组,对应于 row_fields 中的列,后跟 values 中的列。


filter_array

[可选] 一个列方向的一维布尔数组,指示是否应考虑相应的数据行。

=GROUPBY(B:B, E:E, COUNT, , , , G:G > 200)

field_relationship

[可选] 当为 row_fields 提供多列时,指定字段关系。

选项:

0:层次结构(默认) - 后面字段列的排序会考虑前面列的层次结构。

1:表格 - 每个字段列的排序独立进行。不支持小计,因为小计依赖于具有层次结构的数据。


备注

GROUPBY 函数支持 Excel 导入和导出。

示例

GROUPBY(A1:A62, E1:E62, SUM)