CORRELATE
描述
通过组合指定范围内的行来新建一个矩阵。此函数类似于数据库联接 (JOIN)。
语法
CORRELATE(
primary_table
,
key_column
,
ignore_case
, [
join_range
], [
join_key_column
], ...)
- primary_table:行用作来源的矩阵。如果此范围内的行的键值与其他范围内的行的键值匹配,则此函数会组合这些行。
- key_column:主要范围中的列号,该列的值被用作主键值,以便与其他范围进行比较。
- ignore_case注意:如果键列的类型为文本,则当 ignore_case 为 TRUE 时,此函数会在与其他键值进行比较时忽略大小写。如果为 FALSE,则此函数在比较时会考虑大小写。
- join_range:在键列值相等的情况下,选择要与主范围中的行组合的第一个范围。
- join_key_column:第一个联接范围中的列号,其值用作键值,以便与主键进行比较。
示例
以下为原始电子表格,它在两个不同部分中包含了未组合的数据:
A | B | C | D | |
|---|---|---|---|---|
25
| 销售人员 | 客户 | 产品 | 收入 |
26
| Jeffrey | Aberdeen Asset Management | HCM | $1,000,000 |
27
| Jeffrey | Admiral Group | FIN | $500,000 |
28
| Lei | Babcock International | HCM | $506,000 |
29
| Lei | Barclays | LER | $1,500,000 |
30
| Cian | Capita | LER | $1,895,000 |
31
| Cian | Centrica | PAY | $2,004,560 |
G | H | I | |
|---|---|---|---|
25
| 销售人员 | 经理 | 区域 |
26
| Jeffrey | Peter | EMEA |
27
| Lei | Fredrik | US |
28
| Cian | John | UK |
在单元格 G37 中插入公式 =CORRELATE(A25:D31,1,TRUE,G25:I28,1),该公式会将员工信息与经理和区域信息进行组合。
G | H | I | J | K | L | |
|---|---|---|---|---|---|---|
37
| 销售人员 | 客户 | 产品 | 收入 | 经理 | 区域 |
38
| Jeffrey | Aberdeen Asset Management | HCM | $1,000,000 | Peter | EMEA |
39
| Jeffrey | Admiral Group | FIN | $500,000 | Peter | EMEA |
40
| Lei | Babcock International | HCM | $506,000 | Fredrik | US |
41
| Lei | Barclays | LER | $1,500,000 | Fredrik | US |
42
| Cian | Capita | LER | $1,895,000 | John | UK |
43
| Cian | Centrica | PAY | $2,004,560 | John | UK |
注释
- CORRELATE() 函数至少需要一对join_range与join_key_column值。要使用其他范围,请通过参数来添加每个范围,此参数将指定该范围内的哪一列充当该范围的键。
- 此函数的工作方式如下:
- 此函数会检查中的每一行primary_table。
- 对于您指定的每个范围,此函数会检查该范围内的每一行。此函数会比较您指定为主键的值(基于主键列索引),primary_table带有您指定为当前检查范围内相关行键的值。
- 如果这两个值匹配,此函数会将该范围内相关行的所有值(键列除外)合并到主表中相关行的末尾。
- 仅当您指定的至少一个其他匹配范围中至少有一个相关行时,主表中的行才会出现在输出中。如果您希望无论如何都显示主表中的所有行,请使用 MERGEROWS。如果您要进行真正的数据库内联接,请使用 JOIN。
- 如果将单个实例值与看起来相同的字符串进行比较,此函数会将两者的计算结果视为相等。如果将多实例字段中的单个值与看起来相同的字符串进行比较,此函数会将两者的计算结果视为不相等。
- 此函数专用于数组公式。
相关函数
JOIN