跳至主要内容

如何在 Excel 中对多个 vlookup 查找结果求平均值?

Author: Kelly Last Modified: 2025-07-31

在许多实际情况下,查找值可能会在表格中多次出现,并且每次出现都可能附带一个您希望包含在计算中的关联值。如果您需要计算与特定查找值匹配的所有值的平均值——实质上是对多个 vlookup 匹配结果求平均值——Excel 提供了多种方法来高效完成此任务。通过对所有与查找值匹配的目标值求平均值,您可以为诸如销售分析、质量控制或汇总调查结果等任务获得更深入的见解。在这篇全面的文章中,您将找到一系列解决方案的清晰说明,从基于公式的方案到高级工具,及其应用场景、优势和局限性。


使用公式对多个 vlookup 查找结果求平均值

当您需要查找并平均与同一个查找项相关联的多个值时,使用直接公式是最快速且最灵活的方法之一。AVERAGEIF 或数组公式可以轻松处理此问题,而无需创建额外列。

在空白单元格(例如 F2)中输入以下公式:

=AVERAGEIF(A1:A24,E2,C1:C24)

Enter 键确认输入公式后,这会立即为您提供 C 列中所有与 A 列中对应值匹配 E2 单元格中查找值的值的平均值。请参见下图:
Average multiple vlookup findings with a formula

参数解释与提示:

  • A1:A24: 包含查找值的区域。
  • E2: 您想要查找的具体值。
  • C1:C24: 您希望从中计算匹配值平均值的区域。

替代方法(适用于熟悉数组公式的用户):

在空白单元格中输入以下公式,并使用 Ctrl + Shift + Enter 确认:

=AVERAGE(IF(A1:A24=E2,C1:C24))

数组公式单独处理每个比较操作,这对不支持动态数组的 Excel 版本很有帮助。确保范围大小完全相同以避免错误。

实际场景与注意事项:
- 最适合未经过滤且查找需求简单的数据集。
- 如果任一范围内包含空单元格,则在平均值计算中这些空单元格会被忽略。
- 在动态表格中或添加数据时,请考虑使用表格引用以实现更强大的公式。
- 注意避免单元格范围的意外不匹配,这是导致错误平均值或错误的常见原因。


使用筛选功能对多个 vlookup 查找结果求平均值

check the lookup value in the drop down list

Excel 中的筛选功能允许您临时隐藏不符合特定条件的行,从而更容易专注于您需要的结果。这种技术使您可以隔离所有与查找值匹配的记录,然后快速计算可见条目的平均值。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 选择数据表头行,然后导航至 数据 > 筛选.
screenshot of clicking Data > Filter/p>

2. 在包含查找值的列中,点击筛选下拉箭头并仅选择您要检查的项目。点击确定以应用筛选。表格随后将只显示与查找值匹配的条目。请参见左侧的截图:

 

3. 在空白单元格中输入以下公式(如在您的数据下方):

=AVERAGEVISIBLE(C2:C22)

Enter 即可计算 C 列中当前可见(已筛选)单元格的平均值。这确保只有在筛选后显示的值才被包含在结果中。
enter a formula to average only visible cells

优点和场景:这种方法非常适合需要手动检查或交互式处理数据的情况,且您的数据已经安排在带有标题的表格中。在处理复杂筛选或条件格式时尤其有效。

限制:如果您修改或移除筛选器,公式将根据当前可见的数据进行调整,并且您需要 Kutools for Excel 来使用 AVERAGEVISIBLE 函数(标准 Excel 不具备此功能)。此外,确保不存在与筛选无关的隐藏行,因为那些也会被排除在外。

演示:使用筛选功能对多个 vlookup 查找结果求平均值

 

使用 Kutools for Excel 对多个 vlookup 查找结果求平均值

如果您经常需要基于重复项汇总和聚合数据,Kutools for Excel 提供了一个通过其高级合并行工具的实用解决方案。该工具可以一步快速合并或计算匹配记录的平均值、总和或计数,使其非常适用于大型数据集或定期报告。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 高亮显示数据表的范围,包括查找列和要平均的值列。然后转到 Kutools > 文本 > 高级合并行。请参见截图:
click Advanced Combine Rows feature and set options in the dialog box

2. 在出现的对话框中:

  • 选择包含查找值的列并点击主键。
  • 选择包含目标值的列,然后点击计算 > 平均值。
  • 根据需要设置其他列的组合或计算规则——例如用逗号合并文本或应用总和、最大值或最小值。

3. 点击确定以应用设置。

现在,具有重复查找值的行已被合并,并且指定列中的值会自动为每个唯一的查找值计算平均值。这对于准备汇总报告或压缩数据特别有帮助。
average of all vlookup findings by kutools

实用提示:使用高级合并行可以最大限度减少手动计算和出错的可能性。该工具最适合经常处理具有重复查找值的数据并希望快速获得可执行摘要的用户。在合并前务必仔细检查正确的列是否已分配,特别是当数据结构发生变化时。

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

演示:使用 Kutools for Excel 对多个 vlookup 查找结果求平均值

 

使用数据透视表对多个 vlookup 查找结果求平均值

数据透视表提供了一种动态且直观的方法来汇总和分析数据。使用数据透视表,您可以自动按查找值对条目进行分组,并为每个组显示目标列的平均值,提供一个随着数据变化而更新的交互式摘要。

最有效的场景:这种方法非常适合需要一次性获取所有查找值的整体摘要,而不是专注于单个查找值的情况。数据透视表也非常适合快速数据探索、报告生成以及当您希望以可排序、可扩展的格式呈现结果时。

步骤:

  • 选择整个数据集,包括标题。
  • 转到插入 > 数据透视表 > 来自表格或区域。根据需要选择将数据透视表放置在新工作表或现有工作表上。
  • 在数据透视表字段面板中,将包含查找值的列拖动到行区域。
  • 将要平均的列拖动到区域。点击值字段,选择值字段设置,然后将计算类型设置为平均值

这将生成一个汇总表,列出每个唯一的查找值及其相应的数据的计算平均值。您可以轻松更改分组、筛选或按需查看详细信息。

优点:无需公式,支持动态更新,适合报告和数据探索。

缺点:数据变更后需要额外步骤刷新,不太适合将单一值提取到其他公式中,初始设置需要基本了解数据透视表。

故障排除提示:如果值显示为计数或总和而非平均值,请检查字段计算设置。为获得最佳效果,请确保列具有适当的标题,并在创建数据透视表之前澄清任何重复的列名。


使用 VBA 宏对多个 vlookup 查找结果求平均值

对于高级用户以及管理定期更新数据的人来说,使用 VBA 宏可以自动化对所有与查找值匹配的条目进行平均值计算的过程。此方法循环遍历您的数据以找到每个匹配项并计算平均值,因此它适用于大型数据集或需要可重复工作流程的情况。

适用场景与注意事项:当您需要频繁执行平均值计算、希望自动化报告或需要一种可以适应异常数据布局的灵活方法时,VBA 是理想的选择。VBA 宏在您能够舒适地在工作簿中启用宏并需要定制输出时效果最佳。

1. 转到开发工具选项卡,选择 Visual Basic 或按 Alt + F11 键打开 VBA 编辑器,然后点击插入 > 模块。将以下代码复制并粘贴到新模块中:

Sub AverageVlookupMatches()
    Dim lookupCol As Range
    Dim avgCol As Range
    Dim lookupValue As Variant
    Dim total As Double
    Dim count As Long
    Dim i As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set lookupCol = Application.InputBox("Select the lookup column", xTitleId, Selection.Address, Type:=8)
    Set avgCol = Application.InputBox("Select the column to average", xTitleId, , Type:=8)
    lookupValue = Application.InputBox("Enter lookup value", xTitleId, , Type:=2)
    
    Application.ScreenUpdating = False
    total = 0
    count = 0
    
    For i = 1 To lookupCol.Rows.Count
        If lookupCol.Cells(i, 1).Value = lookupValue Then
            If IsNumeric(avgCol.Cells(i, 1).Value) Then
                total = total + avgCol.Cells(i, 1).Value
                count = count + 1
            End If
        End If
    Next i
    
    If count > 0 Then
        MsgBox "Average of all matches: " & total / count, vbInformation, "Result"
    Else
        MsgBox "No matches found.", vbExclamation, "Result"
    End If
    
    Application.ScreenUpdating = True
End Sub

2. 粘贴代码后,关闭 VBA 编辑器。要在 Excel 中运行宏,请返回 Excel,按 F5 键或点击 运行。系统提示时,选择查找列、要平均的值列并输入查找值。宏将在消息框中显示计算出的平均值。

实用提示和预防措施:确保查找列和值列具有相同的行数,并且所选区域内没有空行。目标列中包含非数值的条目将被忽略。为了获得最佳自动化效果,根据您的工作表布局调整命名范围或宏逻辑。

故障排除:如果遇到“未找到匹配项”,请检查查找列中是否存在前导/尾随空格或数据类型不一致。确保启用了宏以便执行。


相关文章:

最佳 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%,每天帮你减少上百次鼠标点击!