Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel formula 根据加权分数计算平均值_Excel Formula_Excel 2010 - Fatal编程技术网

Excel formula 根据加权分数计算平均值

Excel formula 根据加权分数计算平均值,excel-formula,excel-2010,Excel Formula,Excel 2010,我试图根据一系列参数得分(介于0和5之间)计算平均得分。诀窍是我希望能够对每个参数进行加权。 例如: 在上面的示例中,由于忽略了参数c,平均分数应为3,75 我尝试过这个公式:=IF.ERROR(SUM((A3*A5);(B3*B5);(C3*C5))/COUNTA(A3:C3);“”)。如果参数权重均不等于0,则该公式似乎有效。如果权重等于零,如何调整公式以排除分数 我想这应该很容易,我就是不能让它工作 会是这样的: (1*4 + 0.7*5) / 2 = 3.75 在另一个世界,公式是:

我试图根据一系列参数得分(介于0和5之间)计算平均得分。诀窍是我希望能够对每个参数进行加权。 例如:

在上面的示例中,由于忽略了参数c,平均分数应为3,75

我尝试过这个公式:
=IF.ERROR(SUM((A3*A5);(B3*B5);(C3*C5))/COUNTA(A3:C3);“”)
。如果参数权重均不等于0,则该公式似乎有效。如果权重等于零,如何调整公式以排除分数

我想这应该很容易,我就是不能让它工作

会是这样的:

(1*4 + 0.7*5) / 2 = 3.75
在另一个世界,公式是:

((WeightA/100 * scoreA) + (WeightB/100 * scoreB) + (WeightC/100 * scoreC)) / 3
检查此项:

=总和积(A2:A4,B2:B4)/总和(B2:B4)


来源:

使用
COUNTA
计算非空单元格,而应计算非零单元格。因此,假设权重在
A3:C3
中,分数在
A5:C5
中:

=IFERROR(SUMPRODUCT(A3:C3;A5*C5)/COUNTIF(A3:C3;">0");"Error: all the weigths are 0")
=SUMPRODUCT(A1:A3;B1:B3)/COUNTIF(B1:B3;“0”)/100

类似这样的方法会起作用

是的,但我需要一个无论参数权重如何变化都能起作用的公式。这个公式也不允许分数/权重为零。是的,它允许。如果权重为零,那么它是0/100*分数,如果分数为零,那么它是权重/100*0,因此结果是0,但你是对的。和我用来除法的counta公式有关。当使用计数if(A3:C3;“0”)进行除法时,它起作用。谢谢:)是的,但这不允许我的一些分数/权重为零。我需要一个考虑到这一点的公式。这会很有帮助,请回答以下问题:或者您可以使用IFERROR来抑制#DIV/0!错误。如果你这样做,那么如果我的任何一个权重等于零,它就不起作用了。这就是我的观点。一些权重将是0,相应的分数应该被忽略。你能添加更多的测试用例吗?对于您提供的测试用例,它似乎可以正常工作<代码>(100*4+70*5+0*0)/2=3.75它没有明确忽略0权重,但它们会自动忽略(乘以0)。我不清楚你对平均分数的定义。为什么你认为“平均分数应该是3,75”?是不是应该是(4*1+5*.7+0*0)/(1+0.7+0)=4.42?(4*1+5*0.7)/2=3,75:-)然后我将取消删除我的答案,但这似乎不是计算加权平均数的正确方法;)。谢谢-这确实是我的问题:-)
=IFERROR(SUMPRODUCT(A3:C3;A5*C5)/COUNTIF(A3:C3;">0");"Error: all the weigths are 0")
=SUMPRODUCT(A1:A3;B1:B3) / COUNTIF(B1:B3;"<>0") / 100