跳至主要内容

如何在 Excel 中计算两个变量之间的相关系数?

Author: Sun Last Modified: 2025-07-31

我们通常使用相关系数(取值范围从 -1 到 1)来表示两个变量之间线性关系的强度和方向。相关系数是一种广泛使用的统计量,它可以帮助你理解诸如销售额与广告支出、温度与冰淇淋销量或其他成对数据之间的关系。在 Excel 中,有多种简单的方法可以计算相关系数,包括内置函数和分析工具。

注意:相关系数为 +1 表示完全正线性关系,这意味着随着变量 X 增加,变量 Y 也会上升;同样,X 减少时,Y 也会下降。相反,值为 -1 表示完全负相关,因此当 X 增加时,Y 减少,反之亦然。接近 0 的系数表明变量之间几乎没有或没有线性关系。

方法 A:直接使用 CORREL 函数

方法 B:应用数据分析并输出分析结果

方法 C:使用 PEARSON 函数作为替代

方法 D:使用 VBA 代码计算多对变量的相关系数


方法 A:直接使用 CORREL 函数

考虑两组数据列表,每组代表一个变量。如果你想在 Excel 中计算这两个变量之间的相关系数,此方法既快速又高效。

为了实际使用,确保两个数据区域都是数值型,并且包含相同数量的观测值。例如,如果你有以下配对数据:
sample data

选择一个空白单元格以显示计算结果。输入以下公式,然后按“Enter”键以计算相关系数:

=CORREL(A2:A7,B2:B7)
get the correlation coefficient with formula

在此公式中,A2:A7 和 B2:B7 代表你要分析的两个变量列表。这些区域的长度必须相等,并且每一对数据应对应相同的观测值。

实用提示:CORREL 会自动忽略空单元格和文本,但如果两列中没有有效的数值对,则会返回 #DIV/0! 错误。确保你的数据正确对齐,并包含数值对以进行准确的相关性计算。

一旦你计算出相关系数,你可以插入折线图以直观地观察关系并进一步解释相关性,如下所示:
insert a line chart to view the correlation coefficient

此方法最适合在两个小数据集之间进行快速手动检查,或在电子表格内交互式操作时使用。它非常适合寻求即时结果而无需高级统计输出的用户。

a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

方法 B:应用数据分析并输出分析结果

如果你需要同时分析多个变量之间的相关性,或者想要更全面的输出表,Excel 的“分析工具库”提供了一个有用的解决方案。这个加载项生成一个相关矩阵,并允许你在单一步骤中比较多个变量,这对于较大的数据集或构建统计报告非常有价值。

1. 如果你已经将数据分析加载项添加到数据选项卡,可以直接跳到第 3 步。否则,请点击 文件 > 选项。在“Excel 选项”对话框中,选择 加载项 从左侧窗格中,然后点击 转到 按钮,在“Excel 加载项”框旁边。
click Add-Ins > Go in Excel Options dialog

2. 在“加载项”对话框中,勾选 分析工具库,然后点击 确定。这将在 数据 选项卡中添加“数据分析”组。
check Analysis ToolPak

3. 接下来,点击 数据 > 数据分析。在弹出的“数据分析”对话框中,选择 相关系数 从列表中,然后点击 确定.
click Data > Data Analysis select Correlation in the dialog

4. 在相关系数对话框中,配置以下内容:
1) 选择包含数据的区域。
2) 根据数据的组织方式,选择“列”或“行”选项。
3) 如果数据包括标题,请勾选“标签位于第一行”选项。
4) 在“输出选项”中指定输出位置以显示结果。
set options in the Correlation dialog

5. 点击 确定 以生成相关性分析表。相关系数将显示在指定的范围内。
get the analysis result

当你需要评估两个以上变量之间的关系或需要用于报告目的的汇总表时,此方法是合适的。数据分析输出简洁但不提供额外的显著性统计。如果收到意外的结果,请仔细检查数据的一致性、空单元格和正确的范围选择。


方法 C:使用 PEARSON 函数作为替代

除了 CORREL 外,Excel 还提供了 PEARSON 函数,该函数也可以计算两个变量之间的皮尔逊相关系数。功能上,PEARSON 和 CORREL 返回相同的结果。然而,PEARSON 严格遵循原始数学公式,而 CORREL 针对 Excel 环境进行了优化。如果你习惯于统计理论或在 Excel 之外使用统计工具,PEARSON 可能更加熟悉。

例如,对于 A2:A7 和 B2:B7 中的两个数字列表,你可以按如下方式计算相关性:

1. 选择要显示结果的单元格,并输入以下公式:

=PEARSON(A2:A7,B2:B7)

2。按 Enter 完成计算。如果你想分析更多的数据对,请相应调整单元格范围,或将公式拖动到其他单元格。
提示: PEARSON 忽略文本或逻辑值,因此请确保两个范围仅包含数值并且长度相等。如果某一列中有缺失数据,请相应对齐范围以避免错误。

使用 PEARSON 对于从其他统计软件迁移过来的用户,或在学术环境中需要严格遵守术语的情况下特别实用。对于典型的 Excel 使用场景,CORREL 和 PEARSON 提供相同的结果。

如果遇到 #DIV/0! 错误,请检查两个范围是否长度相等,并且不包含不匹配的空单元格或非数值单元格。

优点:易于使用,与统计软件一致;缺点:对于大多数用户来说,与 CORREL 没有显著差异。


方法 D:使用 VBA 代码计算多对变量的相关系数

如果你需要自动化计算多对数据的相关系数(例如,处理许多变量组合时),编写一个简单的 VBA 宏是一个高效的选择。此方法非常适合希望处理大型数据集或自动化重复分析任务的高级用户。

1. 要使用此方法,首先通过点击 开发工具 > Visual Basic 打开 VBA 编辑器。在 Visual Basic for Applications 窗口中,转到 插入 > 模块,然后将以下代码粘贴到模块中:

Sub BatchCalculateCorrelations()
    Dim ws As Worksheet
    Dim rng1 As Range, rng2 As Range
    Dim lastRow As Long
    Dim i As Long
    Dim resultCol As Range
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set rng1 = Application.InputBox("Select first variable range (single column)", xTitleId, Type:=8)
    Set rng2 = Application.InputBox("Select second variable range (multiple columns)", xTitleId, Type:=8)
    Set resultCol = Application.InputBox("Select starting cell for output", xTitleId, Type:=8)
    
    If rng1.Rows.Count <> rng2.Rows.Count Then
        MsgBox "The two data ranges must have the same number of rows.", vbCritical, xTitleId
        Exit Sub
    End If
    
    For i = 1 To rng2.Columns.Count
        resultCol.Cells(1, i).Value = "Correlation with " & rng2.Cells(1, i).EntireColumn.Column
        resultCol.Cells(2, i).Value = WorksheetFunction.Correl(rng1, rng2.Columns(i))
    Next i
End Sub

2. 插入代码后,关闭 VBA 编辑器。在 Excel 中,按 Alt + F8,选择 BatchCalculateCorrelations,然后点击 运行。系统将提示你选择:

  • 第一个变量范围(单列,例如 A2:A7)
  • 第二个变量范围(一列或多列,例如 B2:D7)
  • 你希望结果显示开始的单元格(例如 F2)

宏然后计算第一个变量与第二个范围中的每一列之间的相关系数,并从选定单元格水平显示结果。

优势:自动化重复计算,节省处理大数据集的时间,并确保一致性。

如果遇到诸如“两个数据范围必须具有相同的行数”等问题,请确保所有选定列共享完全相同的行数,并且没有空白行。对于错误排查,请验证宏是否启用以及范围是否正确选择。

在 Excel 中处理相关系数时,选择合适的方法取决于你的数据结构和分析需求。对于一次性的、两个序列之间的快速计算,像 CORREL 或 PEARSON 这样的公式既高效又易于使用。对于多个变量或需要汇总表的情况,分析工具库非常实用。如果你需要对大型数据集进行重复分析或想要自定义工作流程,考虑使用 VBA 自动化以节省时间并减少人为错误。
始终确保你的数据范围对齐、干净,并且不包含空单元格或非数值单元格以避免公式错误。如果遇到意外结果,请仔细检查选择和数据类型。


相关文章

  • 在 Excel 中计算或分配字母等级
    根据学生分数分配字母等级可能是一名教师的常见任务。例如,我有一个定义好的评分标准,其中得分 0-59 = F,60-69 = D,70-79 = C,80-89 = B,90-100 = A,了解更多。
  • 在 Excel 中计算折扣率或价格
    圣诞节即将来临,商场必定会有许多促销活动。但如果不同种类的商品有不同的折扣,如何计算不同商品的折扣率或价格呢?

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!