连续前10个值的平均值,将空单元格视为1

时间:2016-01-27 15:19:42

标签: excel excel-formula

假设我在excel中有一行由n个单元格组成(事实上n=12)。这些单元格中的一些具有数值,一些可能是空的。我想找到行中前m个单元格的平均值(实际上是m=10),将空单元格视为包含1的单元格。

(这方面的背景是我想计算一些学生的平均成绩,我的成绩,这是课程中使用的公式。空单元格对应于未提交的作业,但我会喜欢保持家庭作业评分为1和缺少作品之间的区别。)

3 个答案:

答案 0 :(得分:2)

根据A1:L1中的数据,数组公式**

=AVERAGE(LARGE(IF(ISNUMBER(A1:L1),A1:L1,1),{1,2,3,4,5,6,7,8,9,10}))

此致

**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。

答案 1 :(得分:0)

将12个项目放在 B1 M1 的单元格中。在 B2 中输入:

=IF(B1="",1,B1)

并复制。在 A1 中输入:

=LARGE($B$2:$M$2,ROWS($1:1))

并复制下来。现在要获得前4个等级的平均值,只需选择一个单元格并使用:

=AVERAGE(A1:A4)

enter image description here

要获得前5名,请使用=AVERAGE(A1:A5)

答案 2 :(得分:0)

嗯,通过将平均值分成它的部分,总和和除法,它可以比数组稍微复杂一点。

=(sum(B2:K2)+countif(B2:K2,0))/10

这是从B2行水平开始的分数。您将得分相加,然后计算零(这是您要添加到总和中的值)。然后除以m。