假设我在excel中有一行由n
个单元格组成(事实上n=12
)。这些单元格中的一些具有数值,一些可能是空的。我想找到行中前m
个单元格的平均值(实际上是m=10
),将空单元格视为包含1的单元格。
(这方面的背景是我想计算一些学生的平均成绩,我的成绩,这是课程中使用的公式。空单元格对应于未提交的作业,但我会喜欢保持家庭作业评分为1和缺少作品之间的区别。)
答案 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)
要获得前5名,请使用=AVERAGE(A1:A5)
等
答案 2 :(得分:0)
嗯,通过将平均值分成它的部分,总和和除法,它可以比数组稍微复杂一点。
=(sum(B2:K2)+countif(B2:K2,0))/10
这是从B2行水平开始的分数。您将得分相加,然后计算零(这是您要添加到总和中的值)。然后除以m。