Excel 一行中前10个值的平均值,将空单元格视为1

Excel 一行中前10个值的平均值,将空单元格视为1,excel,excel-formula,Excel,Excel Formula,假设excel中有一行由n单元格组成(实际上n=12)。其中一些单元格具有数值,一些单元格可能为空。我想找到行中顶部m单元格的平均值(实际上m=10),将空单元格视为包含1 (这里的上下文是,我想计算一些家庭作业我评分的学生的平均分数,这是课程中使用的公式。空单元格对应未交的作业,但我想保留1级作业和缺失作业之间的区别。)将12项放入单元格B1至M1。在B2中输入: =IF(B1="",1,B1) =LARGE($B$2:$M$2,ROWS($1:1)) 然后抄过来。在A1中输入: =IF(

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


(这里的上下文是,我想计算一些家庭作业我评分的学生的平均分数,这是课程中使用的公式。空单元格对应未交的作业,但我想保留1级作业和缺失作业之间的区别。)

将12项放入单元格B1M1。在B2中输入:

=IF(B1="",1,B1)
=LARGE($B$2:$M$2,ROWS($1:1))
然后抄过来。在A1中输入:

=IF(B1="",1,B1)
=LARGE($B$2:$M$2,ROWS($1:1))
然后抄下来。现在,要获得前4个等级的平均值,只需选择一个单元格并使用:

=AVERAGE(A1:A4)


要获得前5名,请使用
=平均值(A1:A5)
,等等。

将12项放入单元格B1M1。在B2中输入:

=IF(B1="",1,B1)
=LARGE($B$2:$M$2,ROWS($1:1))
然后抄过来。在A1中输入:

=IF(B1="",1,B1)
=LARGE($B$2:$M$2,ROWS($1:1))
然后抄下来。现在,要获得前4个等级的平均值,只需选择一个单元格并使用:

=AVERAGE(A1:A4)


要获得前5名,请使用
=平均值(A1:A5)
,等等。

基于
A1:L1
数组公式**中的数据:

=平均值(大(如果(ISNUMBER(A1:L1),A1:L1,1),{1,2,3,4,5,6,7,8,9,10}))

问候


**数组公式的输入方式与“标准”公式不同。不要只按ENTER键,而是先按住CTRL和SHIFT键,然后再按ENTER键。如果您做得正确,您会注意到Excel在公式周围放了一个大括号{}(尽管您自己不要尝试手动插入这些括号)。

基于
A1:L1
数组公式**中的数据:

=平均值(大(如果(ISNUMBER(A1:L1),A1:L1,1),{1,2,3,4,5,6,7,8,9,10}))

问候


**数组公式的输入方式与“标准”公式不同。不要只按ENTER键,而是先按住CTRL和SHIFT键,然后再按ENTER键。如果你做得正确,你会注意到Excel在公式周围放了一个大括号{}(尽管你自己不要尝试手动插入这些括号)。

好吧,它可以比数组稍微简单一些,只需将平均数分成几部分,即和和和除

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

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

好吧,它可以比数组稍微简单一些,只需将平均值分成几部分,和和和除法

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


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

请告诉我们您已经尝试了什么,我们将很乐意提供帮助。一行中的“顶部”单元格?你能澄清一下吗?我对excel非常陌生;我向上看了看,但我看不出这些东西对我有什么帮助。我想我可以用很难的方法来做,找到如何替换excel数组(列表?)中的值,对其排序,删除较低的两个值;但是excel有很多内置功能,所以应该有一个“快捷方式”。@XORLX,我指的是具有最高(数字)值的单元格。如果包含数字的单元格数量少于m,该怎么办?请告诉我们您已经尝试了什么,我们很乐意为您提供帮助。“一行中的顶部”单元格?你能澄清一下吗?我对excel非常陌生;我向上看了看,但我看不出这些东西对我有什么帮助。我想我可以用很难的方法来做,找到如何替换excel数组(列表?)中的值,对其排序,删除较低的两个值;但是excel有很多内置功能,所以应该有一个“快捷方式”。@XORLX,我指的是具有最高(数字)值的单元格。如果包含数字的单元格数小于m怎么办?这看起来像是我想要的,但当我尝试输入它时,会收到一条错误消息,“您键入的公式包含错误”。我唯一改变的是将A1:L1的两个实例都替换为B2:M2(这是相关的范围)。您的系统是否在公式中使用逗号或分号作为参数分隔符?很有趣。你的意思是它接受数组常量中的逗号?我原以为你必须使用“\”或“;”(或者甚至“.”)。我把所有逗号都改成了分号,这就成功了。这个版本的excel设置为荷兰语(我想),因此逗号是十进制分隔符。(所以,不,它也不接受数组常量中的逗号。)啊,我明白了。你到处都换了!你真幸运!干杯。这看起来像是我想要的,但当我尝试输入它时,会收到一条错误消息,“您键入的公式包含错误”。我唯一改变的是将A1:L1的两个实例都替换为B2:M2(这是相关的范围)。您的系统是否在公式中使用逗号或分号作为参数分隔符?很有趣。你的意思是它接受数组常量中的逗号?我原以为你必须使用“\”或“;”(或者甚至“.”)。我把所有逗号都改成了分号,这就成功了。这个版本的excel设置为荷兰语(我想),因此逗号是十进制分隔符。(所以,不,它也不接受数组常量中的逗号。)啊,我明白了。你到处都换了!你真幸运!干杯。这只解决了一半的问题;另一方面,你不想取所有值的平均值,只想取12个值中前10个值的平均值。啊,我想你的意思是“前10个”。我假设您已经按降序排序,这将使简单的求和和和计数有效;另一方面,你不想取所有值的平均值,只想取12个值中前10个值的平均值。啊,我想你的意思是“前10个”。我是