Excel 使用SUM产品进行加权平均

Excel 使用SUM产品进行加权平均,excel,vba,Excel,Vba,我已经研究了这个主题的其他问题,但是代码仍然不适合我。我想通过对两列进行求和并将其归一化为一列的和来计算加权平均值 Sub compute() With Worksheet .Range("AT2").Value = Evaluate("SUMPRODUCT(.Range("AQ"),.Range("AR"))/SUMPRODUCT(.Range("AQ"))") End With End Sub 或 您正在范围前面使用(…这表示它是With块的一部分,但不存在With块。此外,在第二个范围中

我已经研究了这个主题的其他问题,但是代码仍然不适合我。我想通过对两列进行求和并将其归一化为一列的和来计算加权平均值

Sub compute()
With Worksheet
.Range("AT2").Value = Evaluate("SUMPRODUCT(.Range("AQ"),.Range("AR"))/SUMPRODUCT(.Range("AQ"))")
End With
End Sub


您正在
范围前面使用
(…
这表示它是With块的一部分,但不存在With块。此外,在第二个范围中,您在
应用程序.WorksheetFunction.SUMPRODUCT(…
谢谢,此工作范围(“AT2”)。值=评估(“SUMPRODUCT”(AQ2:AQ152,AR2:AR152)/总数(AQ2:AQ152)”
Sub compute()
.Range("AT2").Value = Application.WorksheetFunction.SUMPRODUCT((.Range("AQ"), .Range("AR"))/Application.WorksheetFunction.SUM(.Range("AQ"))
End Sub