可借助SUMPRODUCT函数配合数组常量、INDIRECT或CHOOSE构建非连续单元格加权平均公式:①手动列数组常量;②用INDIRECT动态引用地址;③借辅助列生成连续数组再计算。

如果您需要在Excel中计算非连续单元格的加权平均数,而这些单元格无法通过常规区域引用直接参与运算,则可以借助SUMPRODUCT函数配合手动构造数组的方式实现。以下是具体操作步骤:
一、理解加权平均数的数学结构
加权平均数等于各数值与其对应权重乘积之和,除以权重总和。对于非连续单元格,需将分散的数值与权重分别显式列出,构成两个独立的数组参数传入SUMPRODUCT函数。
1、确认待计算的非连续数值单元格位置,例如A1、C3、E5、G7;
2、确认对应权重所在单元格位置,例如B1、D3、F5、H7;
3、确保数值与权重一一对应且顺序一致,否则结果将产生偏差。
二、使用数组常量方式构建SUMPRODUCT公式
当非连续单元格数量较少且位置固定时,可将数值和权重分别写为花括号包围的数组常量,避免引用错误或区域断裂问题。
1、在目标单元格中输入公式:=SUMPRODUCT({A1,C3,E5,G7},{B1,D3,F5,H7})/SUM({B1,D3,F5,H7});
2、注意:大括号{}必须手动输入,不可通过Ctrl+Shift+Enter生成;
3、公式中两组花括号内的元素个数必须完全相等,否则SUMPRODUCT返回#VALUE!错误。
三、使用INDIRECT函数动态引用非连续单元格
当非连续单元格位置存在规律(如每隔两列一个数据),可通过INDIRECT拼接单元格地址字符串,形成可变引用,提升公式的复用性。
1、在空白列(如J1:J4)中依次输入文本地址:"A1"、"C3"、"E5"、"G7";
2、在K1:K4中输入对应权重地址:"B1"、"D3"、"F5"、"H7";
3、输入公式:=SUMPRODUCT(INDIRECT(J1:J4),INDIRECT(K1:K4))/SUM(INDIRECT(K1:K4));
4、该公式需按Ctrl+Shift+Enter作为数组公式输入,否则INDIRECT无法批量解析地址。
四、借助辅助列汇总非连续数据再计算
若非连续单元格分布复杂或需频繁更新,可在工作表中新增辅助列,用CHOOSE函数或IF嵌套提取指定位置的值,形成连续序列后再调用标准加权平均公式。
1、在L1单元格输入:=CHOOSE({1,2,3,4},A1,C3,E5,G7),然后按Ctrl+Shift+Enter;
2、在M1单元格输入:=CHOOSE({1,2,3,4},B1,D3,F5,H7),同样按Ctrl+Shift+Enter;
3、在N1中输入最终公式:=SUMPRODUCT(L1#,M1#)/SUM(M1#)(适用于支持动态数组的Excel 365/2021);
4、L1#与M1#表示由CHOOSE生成的溢出数组,无需手动选择区域。









