我有一个 Excel 2007 文档,其中有 4 列(标题英语、数学、物理、结果)和 5 行。
行和列(单元格)均填充有字母等级 a、b+、b、c、e、d 和 f。
必需的:
对于某一行,如果没有 e 或 d 或 fi,则希望第 4 个相应的结果列显示“全部通过”
如果某一行有 e 或 d 或 f,那么我希望根据学生未通过的科目显示标题英语或数学或物理。
也就是说,如果英语是 e 而数学是 f 那么我希望显示“英语、数学不及格”
需要编写一个公式,使 e 列显示所显示的内容
答案1
可能有更奇特的方法来实现这一点,但这里有一个解决方案。图片中的示例比描述更通用,所以我将以此为基础提出解决方案。您可以根据需要在公式中添加或删除列。这将出现在 E2 中:
=IF(OR(A2>"c",B2>"c",C2>"c",D2>"c"),"fail "&IF(A2>"c",A$1&" ","")&IF(B2>"c",B$1&" ","")&IF(C2>"c",C$1&" ","")&IF(D2>"c",D$1,""),"pass all")
可以根据需要将此公式复制到 E 列下方。
如果您希望预先填充任意大范围的单元格,并让这些单元格显示为空白,直到有数据为止,您可以通过添加 ISBLANK 测试来实现。整个公式,不包括等号将进入这个:
=IF(ISBLANK(A2),"",whole_formula_above)
将其复制到列下。这将查看行中的第一个单元格是否为空。如果是,它将返回一个空值(两个双引号之间没有任何内容),它将显示为空白。否则,它将使用原始公式。