首页 > 解决方案 > 谷歌表:最大空值

问题描述

我有一个运行良好的公式,它将在一系列数据中查找一个值,然后从不同范围内检索最大值(这是他们通过 GoogleForm 提交的学生考试成绩,我正在搜索他们的电子邮件地址,只想要将他们的最高分拉到仪表板上(他们可以多次参加考试))。

这一切都很好,但我坚持最后一点。而不是尚未参加考试的学生的最大值(因此在查找范围内没有电子邮件地址)显示为 0,我希望它为空白(或其他任何内容)。这是因为我需要能够查看哪些学生参加了考试,在回复表中有一个电子邮件地址以供查找并获得 0 分(!)以及那些根本没有参加考试的学生 - 目前没有区别。

我像往常一样尝试了所有不同的 IF 组合,但无法破解这个!

=ArrayFormula(max(if('问题求解 1'!$B:$B=$A2,'问题求解 1'!$C:$C)))

这是我拥有的公式,除了最后一点之外,它完全可以工作!

@whatapalaver

谢谢,但您的回答仍然给出 0 表示没有条目,而不是没有或 -99 .. 这里有一些进一步的屏幕截图,试图澄清我的工作。

仪表板

回复表

标签: if-statementgoogle-sheetsmax

解决方案


在没有看到一些布局示例的情况下提供帮助是非常棘手的,因此我不得不猜测您在 Cols A, BC 中的情况。

这个公式可能会给你一些关于如何处理它的线索。这是一个数组公式,就像你的一样。它返回一个大的 -ve 数字(您可以选择合适的数字)以反映缺席的测试结果。

为了回应您的进一步评论,我修改了公式。所以在我在谷歌表格中模拟的例子中,它看起来像这样:

=ArrayFormula(max(if($A:$A=$E5,$B:$B,-99)))

在此处输入图像描述

您的公式可能需要是:

=ArrayFormula(max(if('Problem Solving 1'!$B:$B=$A2,'Problem Solving 1'!$C:$C,-99)))

IF 的格式为条件语句,真值,假值(可选)。

** 将 -99 转换为文本 这开始变得有点难看,这让我认为必须有更好的方法来处理它,但是您可以将整个 ArrayFormula 包装在 If 语句中。所以 IF(arrayFormula < 0 , "未提交" , ArrayFormula)

=if(ArrayFormula(max(if('Problem Solving 1'!$B:$B=$A2,'Problem Solving 1'!$C:$C,-99))) <0, "Not submitted", ArrayFormula(max(if('Problem Solving 1'!$B:$B=$A2,'Problem Solving 1'!$C:$C,-99))))


推荐阅读