可使用SUMPRODUCT(A2:A6,B2:B6)/SUM(B2:B6)计算加权平均数,该公式先用SUMPRODUCT求各数值与权重乘积之和,再除以权重总和,适用于Excel 2003及以上版本。

如果您需要在Excel中计算一组数据的加权平均数,而数据值与对应权重分别位于不同列,则可利用SUMPRODUCT函数将各数值与其权重相乘后求和,再除以权重总和。以下是实现该计算的具体步骤:
一、准备数据区域
加权平均数的计算依赖两组对齐的数据:一组为待加权的数值,另一组为对应的权重。确保这两组数据在Excel中处于同一行数范围,且无空单元格干扰对应关系。
1、在A列输入数值,例如A2:A6为“85、90、78、92、88”;
2、在B列输入对应权重,例如B2:B6为“0.2、0.3、0.1、0.25、0.15”;
3、确认A列与B列行数一致,且所有权重之和为1(非必需,但便于结果直接解释为加权平均)。
二、使用SUMPRODUCT与SUM组合公式
SUMPRODUCT函数可逐项相乘并返回乘积之和,配合SUM函数计算权重总和,二者相除即可得加权平均数。该方法不依赖数组输入,兼容Excel 2003及以上版本。
1、选中一个空白单元格(如C2)作为结果输出位置;
2、输入公式:=SUMPRODUCT(A2:A6,B2:B6)/SUM(B2:B6);
3、按Enter键确认,C2即显示加权平均结果(如87.4)。
三、使用数组公式替代方案(适用于旧版Excel)
在未提供SUMPRODUCT函数的极早期Excel版本中,可通过数组公式模拟其功能。该方式需手动触发数组计算,操作稍复杂但原理等效。
1、选中结果单元格(如D2);
2、输入公式:=SUM(A2:A6*B2:B6)/SUM(B2:B6);
3、按下Ctrl+Shift+Enter(而非仅Enter),公式两端自动添加花括号{},表示已作为数组公式执行。
四、验证权重是否归一化
若权重列未归一化(即SUM(B2:B6)≠1),直接使用SUMPRODUCT(A2:A6,B2:B6)会返回加权和而非加权平均数。因此除以SUM(B2:B6)是必要步骤,不可省略。
1、在任意空白单元格(如E2)输入公式:=SUM(B2:B6);
2、观察结果是否等于1;
3、若不等于1(如总和为100),则原公式仍有效,因除法已自动完成归一化处理。
五、处理含文本或错误值的数据区域
当数值列或权重列中存在文本、空单元格或错误值时,SUMPRODUCT与SUM均会忽略文本和空单元格,但遇到#N/A、#VALUE!等错误将导致整式报错。需预先清理或使用容错结构。
1、在F2单元格输入公式:=SUMPRODUCT(--ISNUMBER(A2:A6),--ISNUMBER(B2:B6),A2:A6,B2:B6)/SUMPRODUCT(--ISNUMBER(B2:B6),B2:B6);
2、该公式仅对A列与B列均为数值的行参与计算;
3、按Enter完成输入,避免错误值传播至结果。










