开平车迷网
回答者
回答于 2026-11-09
使用 AVERAGEIF 函数可直接计算同一姓名分布在多行时对应数值的平均值。
基本公式
假设姓名在A列(A2:A100),对应数值在B列(B2:B100),要计算姓名为"张三"的平均值:
=AVERAGEIF(A2:A100, "张三", B2:B100)
若目标姓名写在D2单元格中,则公式为:
=AVERAGEIF(A2:A100, D2, B2:B100)
操作步骤
- 确定姓名所在列的范围和数值所在列的范围。
- 在空白单元格中输入
=AVERAGEIF(。 - 依次选择姓名区域、输入匹配条件、选择数值区域,用逗号分隔。
- 按回车确认,即可得到该姓名对应所有行数值的平均值。
适用条件
- Excel 2007及以上版本均支持
AVERAGEIF函数。 - 姓名区域与数值区域的行数必须一致,否则返回错误。
- 适用于单条件匹配场景。
多条件场景
若需同时满足多个条件(如姓名加部门),应使用 AVERAGEIFS 函数:
=AVERAGEIFS(数值区域, 条件区域1, 条件1, 条件区域2, 条件2)
常见误区
- 区域大小不一致:条件区域和求平均区域的行数不同会导致
#VALUE!错误。 - 空格干扰:姓名中包含多余空格会导致匹配失败,建议先用
TRIM函数清理数据。 - 文本型数字:若数值列为文本格式,
AVERAGEIF会忽略这些单元格,导致结果偏差,需提前转换为数值格式。