如何修改此公式以在所有情况下生成结果,而不是给出错误?

时间:2017-07-28 17:46:21

标签: excel

我有电子表格来记录学生的考试成绩。结果输入列(每个学生一行结果),我想创建最后三个结果的运行平均值。但是,有些学生缺少数据。一个例子如下:

 E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V ... Z
4.0 3.0 5.0 5.0     3.5
3.0 2.5 4.0 3.0     2.5
3.0     5.0 4.5     4.0
3.5     4.5         3.5
3.0 1.5 2.5 2.5     2.0
1.5 2.0 2.0 1.0     2.0
4.5 3.0 3.5 4.5     3.5
5.0 3.5 5.0 5.0     5.0

我创建了一个公式,当学生至少有三个数据时可以使用,但只输入一个或两个数据时就会失败。公式是:

=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(E3:Z3),COLUMN(E3:Z3)),{1,2,3}),COLUMN(E3:Z3),E3:Z3))

这是作为数组公式输入的。我意识到我可以做一个IF检查错误并添加额外的代码来处理两个数据,然后一个但是有更快的方法吗?

我确实尝试过AGGREGATE,但无法得到任何答案。

1 个答案:

答案 0 :(得分:1)

{1,2,3}替换为ROW(INDIRECT("1:" & MIN(3,COUNT(E3:Z3))))

=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(E3:Z3),COLUMN(E3:Z3)),ROW(INDIRECT("1:" & MIN(3,COUNT(E3:Z3))))),COLUMN(E3:Z3),E3:Z3))

enter image description here