跳至主要内容
Workday User Guide
上次更新时间 :2023-06-23
GROUPBY

GROUPBY

描述

GROUPBY 是一个功能强大的函数,通常可以替代 COUNTIF(S)、AVERAGEIF(S) 和 SUMIF(S)。GROUPBY 会聚合数据,并根据您指定的顺序对结果进行排序。您可以根据在表格中预定义的键进行分组;也可以使用工作簿中的列定义分组。此函数的结果类似于已排序的数据透视表。在人员编制规划中,此函数通常很有用。
当您对单元格数组进行分组时,如果单元格将某些实例值表示为字符串,并将另一些实例值表示为实例(Workday 报告中的变量),则 GROUPBY 会根据实例名称(而非实例号)进行分组。即使实例号不同,GROUPBY 也会将相同的名称分为一组。

语法

GROUPBY(
join_by_matrix
,
join_by_matrix_column_indexes
,
group_by_matrix
,
group_by_matrix_column_indexes
,
group_by_matrix_aggregate_column_indexes
,
[group_by_matrix_aggregate_types]
)
  • join_by_matrix
    :由唯一标识符(键)组成的一维数组,用于标识分组时要包括的行。
  • join_by_matrix_column_indexes
    :中关键点的起始位置
    join_by_matrix
    或构成匹配键的列的集合(要连接以创建主键的列值)。
  • group_by_matrix
    :要分组的单元格数组。
  • group_by_matrix_column_indexes
    :包含键的列在结构中的位置
    group_by_matrix
  • group_by_matrix_aggregate_column_indexes
    :包含要分组的值的列的位置。
  • group_by_matrix_aggregate_types
    :要执行的操作。
    参数值
    运算
    0
    SUM(默认)
    1
    COUNT(非空值计数)
    2
    COUNT(非零数字计数)
    3
    MIN(最小值)
    4
    MAX(最大值)
    5
    AVG(平均值)

示例

某个工作簿包含 2 个工作表,名称分别为“工作表”和“组织”。以下为 Working 工作表:
A
B
C
D
E
F
G
H
I
1
主管组织
成本中心
公司
地点
名称
2017 年 1 月(人员编制)
2017 年 2 月(人员编制)
2017 年 3 月(人员编制)
组织密钥
2
Finance
CC-1 Finance
GMS
Pleasanton
Tim
1
1
1
FinanceCC-1 FinanceGMSPleasanton
3
Product Management
CC-2 Product
GMS
Boulder
Josh
0
0
1
Product ManagementCC-2 ProductGMSBoulder
4
Development
CC-3 Development
GMS-CA
Toronto
Brian
1
1
1
DevelopmentCC-3 DevelopmentGMS-CAToronto
5
Product Management
CC-2 Product
GMS
Boulder
Scott
0
1
1
Product ManagementCC-2 ProductGMSBoulder
6
Development
CC-3 Development
GMS-CA
Toronto
Lenny
1
1
1
DevelopmentCC-3 DevelopmentGMS-CAToronto
7
Sales
CC-4 Sales
GMS-UK
London
Andy
0
1
1
SalesCC-4 SalesGMS-UKLondon
8
Finance
CC-1 Finance
GMS
Pleasanton
Ratna
1
1
1
FinanceCC-1 FinanceGMSPleasanton
9
Sales
CC-4 Sales
GMS-UK
Toronto
Aidan
0
0
1
SalesCC-4 SalesGMS-UKToronto
10
Sales
CC-4 Sales
GMS-UK
London
Katie
1
1
1
SalesCC-4 SalesGMS-UKLondon
11
总计
5
7
9
GROUPBY 数组公式位于“组织”工作表的单元格 E2:G6 中:
=GROUPBY('组织'!H2:H6,1,'工作中'!A2:I10,9,{6, 7, 8})
您也可以指定希望 GROUPBY 将哪些列用作键,而不是如上文 I 列和下文 H 列所示单独生成键:
=GROUPBY('Organization'!A2:G6,{1,2,3,4},'Working'!A2:H10,{1,2,3,4},{6, 7, 8})
此公式会在“组织”工作表中返回以下结果:
A
B
C
D
E
F
G
H
1
主管组织
成本中心
公司
地点
2017 年 1 月(人员编制)
2017 年 2 月(人员编制)
2017 年 3 月(人员编制)
组织密钥
2
Finance
CC-1 Finance
GMS
Pleasanton
2
2
2
FinanceCC-1 FinanceGMSPleasanton
3
Product Management
CC-2 Product
GMS
Boulder
0
1
2
Product ManagementCC-2 ProductGMSBoulder
4
Development
CC-3 Development
GMS-CA
Toronto
2
2
2
DevelopmentCC-3 DevelopmentGMS-CAToronto
5
Sales
CC-4 Sales
GMS-UK
London
1
2
2
SalesCC-4 SalesGMS-UKLondon
6
Sales
CC-4 Sales
GMS-UK
Toronto
0
0
1
SalesCC-4 SalesGMS-UKToronto
7
5
7
9
请注意,“组织”工作表中的第 7 行是简单计算的人员编制总数;即位于计划输入区域之外。

注释

  • 对日期值执行运算时,GROUPBY 会在计算之前将日期转换为序列号,并且不会将显示格式恢复为日期。要显示日期格式,请选择“格式”
    “数字” > “日期”

相关函数

ARRAYAREA