如何跨工作表计算区域乘积?单单元格实现加权平均可行吗?
我来帮你解决这两个Excel公式问题:
问题1:如何对其他工作表中的区域进行乘法运算?
在Excel里跨工作表引用并做乘法很容易,核心是用工作表名称!单元格/区域的格式定位其他表的数据,具体分两种场景处理:
- 单个单元格跨表相乘:比如要计算Sheet1的A1单元格和Sheet2的B2单元格的乘积,直接写公式:
=Sheet1!A1*Sheet2!B2 - 多区域对应相乘后求和:如果需要两个区域的对应单元格相乘后再汇总结果(比如Sheet1的A1:A3和Sheet2的B1:B3,每个位置相乘后加总),用
SUMPRODUCT函数更高效:
这个公式会自动完成=SUMPRODUCT(Sheet1!A1:A3, Sheet2!B1:B3)Sheet1!A1*Sheet2!B1 + Sheet1!A2*Sheet2!B2 + Sheet1!A3*Sheet2!B3的计算。
问题2:单单元格计算加权平均值(无需中间列)
当然可以用单单元格公式直接实现!只需要组合SUMPRODUCT和SUM函数,就能跳过中间乘积列一步到位。
假设Sheet1中:
- *Weight(权重)*列是A列,数据范围为A1:A2(对应5、2)
- *Value(数值)*列是B列,数据范围为B1:B2(对应100、200)
在Sheet2的目标单元格输入以下公式即可:
=SUMPRODUCT(Sheet1!A1:A2, Sheet1!B1:B2)/SUM(Sheet1!A1:A2)
公式说明:
SUMPRODUCT(Sheet1!A1:A2, Sheet1!B1:B2):自动计算5*100 + 2*200,也就是所有权重与对应数值的乘积之和SUM(Sheet1!A1:A2):计算所有权重的总和5+2- 两者相除就得到了你要的加权平均值,完全不需要额外的中间列。如果数据范围更大,只需把公式里的
A1:A2和B1:B2改成实际的区间即可。
内容的提问来源于stack exchange,提问作者wilkas
相关产品推荐
相关产品推荐

