if-statement - 谷歌表:最大空值
问题描述
我有一个运行良好的公式,它将在一系列数据中查找一个值,然后从不同范围内检索最大值(这是他们通过 GoogleForm 提交的学生考试成绩,我正在搜索他们的电子邮件地址,只想要将他们的最高分拉到仪表板上(他们可以多次参加考试))。
这一切都很好,但我坚持最后一点。而不是尚未参加考试的学生的最大值(因此在查找范围内没有电子邮件地址)显示为 0,我希望它为空白(或其他任何内容)。这是因为我需要能够查看哪些学生参加了考试,在回复表中有一个电子邮件地址以供查找并获得 0 分(!)以及那些根本没有参加考试的学生 - 目前没有区别。
我像往常一样尝试了所有不同的 IF 组合,但无法破解这个!
=ArrayFormula(max(if('问题求解 1'!$B:$B=$A2,'问题求解 1'!$C:$C)))
@whatapalaver
谢谢,但您的回答仍然给出 0 表示没有条目,而不是没有或 -99 .. 这里有一些进一步的屏幕截图,试图澄清我的工作。
解决方案
在没有看到一些布局示例的情况下提供帮助是非常棘手的,因此我不得不猜测您在 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))))
推荐阅读
- javascript - 一个粗箭头函数后跟一个闭包有什么作用?
- python - 反转打印文本的函数(通过 for 循环)
- bash - 如何构造命令行参数以传递给脚本
- javascript - 带有引导药丸的主页图标
- python - 无法将按钮单击值获取到 Tkinter 中的事件中
- ruby-on-rails - 按下按钮将数据传输到控制器
- docker - 如何创建隐藏的 docker 容器?
- python - 在 Linux 上将 PIL 图像转换为视频
- r - 最近年份之间的百分比变化
- python - libtcod/Python:使用 sys_check_for_event 而不是 sys_wait_for_event 的 CPU 使用率飙升