Excel CORREL 函数

2025年3月17日 | 阅读 7 分钟

在统计分析中,很多时候需要我们找出两个属性之间的关系。然而,有多种方法可以实现这一点,其中一种就是使用 Excel 内置的 CORREL 函数。在本教程中,我们将深入探讨 CORREL 函数。

什么是 Excel CORREL 函数?

Excel CORREL 函数返回两个数据集之间的相关系数。相关性介于 -1 和 1 之间,分别称为负相关和正相关。它返回 array1 和 array2 的相关系数。例如:随着婴儿的成长,身高或体重会增加——这意味着年龄与身高或年龄与体重之间存在关系,并且随着其中一个的增加,另一个也会增加,即正相关。

CORREL 或相关系数对于找出两个属性之间的关系非常有帮助。如果指定的数组或引用参数包含文本/字符串、逻辑数据或空值,则会自动忽略这些数据。但是,此函数会在计算中包含值为零的单元格。CORREL 函数归类于 Excel 统计函数。

虽然此方法与 Excel Pearson 函数给出的输出相同,但唯一的区别是,在早期版本的 Excel(Excel 2003 之前)中,Pearson 函数可能会出现一些舍入误差。因此,如果您使用的是早期版本的 Excel,建议使用 CORREL,因为它会提供更有效和准确的输出。在更高版本中,两个函数(CORREL 和 PEARSON)都返回相同的输出。

注意:如果相关系数 r 的值接近 +1,则表示存在明确的正相关;如果 r 的值接近 -1,则表示存在明确的负相关。

语法

参数

Array1 (必需)- 此参数表示您要计算相关值的第一数组。

Array2 (必需) - 此参数表示您要计算相关值的第二数组。它是一组因变量。

返回值

CORREL 函数返回 array1 和 array2 的相关系数。

要记住的事情

  • 如果指定的数组或引用参数包含文本、逻辑值或空白单元格,CORREL 函数会忽略这些值。但是,此函数会在计算中包含值为零的单元格。
  • 如果两个参数(array1 和 array2)具有不同数量的数据点,此函数将返回 #N/A 错误。
  • 如果任一参数为空,或者如果其值的标准差 s 等于零,此函数将返回 #DIV/0! 错误。
  • 相关系数 r 的值越接近 +1,就表示存在明确的正相关。如果 r 的值接近 -1,则表示存在明确的负相关。正相关表示如果一个参数中的值增加,另一个数组中的值也会增加。相比之下,负相关表示如果一个参数中的值减少,另一个数组中的值也会减少。
  • 下面是CORREL值的方程
    Excel CORREL function
    其中,这些值代表样本。

示例

示例 1:计算以下数字集中年龄和体重之间的相关性。

年龄权重
15
214
315
420
524
630
735
838
940
1045

要确定年龄和身高之间的相关系数,请按照以下步骤操作

步骤 1:添加一个名为“相关性”的辅助列

  • 将鼠标光标放在任意一个单元格,然后将新列命名为“相关性”。

它将看起来与下图相似

Excel CORREL function

在此列中,我们将输入 CORREL 公式。虽然这仅供参考,如果您愿意,可以直接跳到步骤 2。

注意:格式化辅助列并将其与第一列匹配,以使您的 Excel 表格更具吸引力。

步骤 2:键入 CORREL 函数

将光标移至辅助列的第二行(单元格引用 E4),然后开始键入函数= CORREL(

它将看起来与下图相似

Excel CORREL function

步骤 3:插入参数,array1 和 array2

  • 插入第一个参数 'array1'。在这里,我们将输入第一个要计算相关值的数组。这里,我们传递年龄列数据的数组范围引用,即 B4: B13。公式将是:=CORREL (B4:B13,)
    它将看起来与下图相似
    Excel CORREL function
  • 插入第二个参数 'array2'。在这里,第二个要计算相关值的数组。这里,我们传递体重列数据的数组范围引用,即 C4: C13。因此,公式将是:=CORREL(B4:B13, C4:C13 )
    它将看起来与下图相似
    Excel CORREL function

步骤 4:DATEVALUE 将返回结果

  • 完成后,按 Enter 键获取输出。
  • CORREL 函数将分析 array1 和 array2 的数据,并返回两个数据集之间的相关系数。在我们的例子中,它返回的相关值为 0.993023515。
    它将看起来与下图相似
    Excel CORREL function

示例 2:在此示例中,我们在 C 列中给出了股票 A 的每周变化数据集,在 C 列中给出了 S&P 每周变化(请参阅下表)。根据这些数据值,使用 Excel 中的 CORREL 公式计算两个数据集的相关系数。

股票 A% 变化S&P 每周变化
12.50%1.27%
22.57%1.53%
3-0.50%-1.89%
41.75%2.27%
5-1.90%5.80%
62.63%0.34%
70.82%1.48%
85.80%1.70%
9-0.23%2.25%
102.98%-0.27%

要确定两个数据集之间的相关系数,请按照以下步骤操作

步骤 1:添加一个名为“相关性”的辅助列

  • 将鼠标光标放在任意一个单元格,然后将新列命名为“相关性”。

它将看起来与下图相似

Excel CORREL function

在此列中,我们将输入 CORREL 公式。虽然这仅供参考,如果您愿意,可以直接跳到步骤 2。

注意:格式化辅助列并将其与第一列匹配,以使您的 Excel 表格更具吸引力。

步骤 2:键入 CORREL 函数

将光标移至辅助列的第二行(单元格引用 c4),然后开始键入函数= CORREL(

它将看起来与下图相似

Excel CORREL function

步骤 3:插入参数,array1 和 array2

  • 插入第一个参数 'array1'。在这里,我们将输入第一个要计算相关值的数组。这里,我们传递“股票 A% 变化”列数据的数组范围引用,即 C4: C13。公式将是:=CORREL (C4:C13,)
    它将看起来与下图相似
    Excel CORREL function
  • 插入第二个参数 'array2'。在这里,第二个要计算相关值的数组。这里,我们传递“S&P 每周变化”列数据的数组范围引用,即 D4: D13。因此,公式将变为:=CORREL (C4:C13, D4: D13)
    它将看起来与下图相似
    Excel CORREL function

步骤 4:DATEVALUE 将返回结果

完成后,按 Enter 键获取输出。

CORREL 函数将分析 array1 和 array2 的数据,并返回两个数据集之间的相关系数。在我们的例子中,它返回的相关值为-0.309639228。

它将看起来与下图相似

Excel CORREL function

示例 3:在下表中,我们有两个数据列的不同高度。让我们看看计算以下数字集中年龄和身高之间的相关性会发生什么。

年龄权重
15
14
15
420
524
6
7
838
940
45
46

要确定年龄和身高之间的相关系数,请按照以下步骤操作

步骤 1:添加一个名为“相关性”的辅助列

  • 将鼠标光标放在任意一个单元格,然后将新列命名为“相关性”。

它将看起来与下图相似

Excel CORREL function

步骤 2:键入 CORREL 函数

将光标移至辅助列的第二行(单元格引用 E4),然后开始键入函数= CORREL(

它将看起来与下图相似

Excel CORREL function

步骤 3:插入参数,array1 和 array2

  • 插入第一个参数 'array1'。在这里,我们将输入第一个要计算相关值的数组。这里,我们传递年龄列数据的数组范围引用,即 B4: B13。公式将是:=CORREL (B4:B13,)
    它将看起来与下图相似
    Excel CORREL function
  • 插入第二个参数 'array2'。在这里,第二个要计算相关值的数组。这里,我们传递体重列数据的数组范围引用,即 C4: C13。因此,公式将变为:=CORREL(B4:B13, C4:C13 )
    它将看起来与下图相似
    Excel CORREL function

步骤 4:DATEVALUE 将返回结果

  • 完成后,按 Enter 键获取输出。
  • CORREL 函数将分析 array1 和 array2,并返回 #N/A 错误。之所以出现此错误,是因为 array1 和 array2 的高度不同。

输出请参考下图

Excel CORREL function

注意:CORREL 函数仅当 array1 和 array2 的长度相同时才计算相关系数。

Correl 函数错误

在使用 CORREL 函数时,如果您遇到错误,这很可能是由于以下原因

  • #N/A - 如果引用数组(Array1 和 Array2)的长度不同,则会发生此错误。
  • #DIV/0! - 如果任一引用数组为空,或者其值的标准差 s 等于零,则会发生此错误。