根据 IF 公式中的多个条件测试范围

Testing a range against multiple criteria in IF formula

我有一系列单元格,这些单元格必须是以下值之一:

且不能为空

我在标题上方的顶部有一个 交通灯 单元格(在单元格 R2 中),我正在尝试编写一个traffic light 单元格 R2 中的公式,如果范围 R4:R223[=58 中的任何一个,则单元格为红色=] 与以上任何一项都不匹配。如果它们都匹配,那么它一定是绿色的。

我现在在 交通灯 单元格 (R2) 中有这个公式,如果 R4 不包含以下值之一,它就可以工作:

=IF(AND(R4<>"01",R4<>"02",R4<>"04",R4<>"05",R4<>"06",
R4<>"07",R4<>"08",R4<>"99"),CHAR(251),CHAR(252))

(Char(251) 是 wingdings cross,char(252) 是 wingdings check or 打勾)

所以应该发生的是,如果我将 R4:R223 中的值更改为不匹配该列表,那么单元格中应该有一个叉号,这反过来将启动红色条件格式规则.

我在整个范围的条件格式中有这个公式(并且有效):

=AND(R4<>"01",R4<>"02",R4<>"04",R4<>"05",R4<>"06",R4<>"07",R4<>"08",R4<>"99")

那么,当范围内的单元格之一与列表不匹配或为空白时,如何在 IF 语句中使用此公式来 return Char(251)? =14=]

您应该查看 SUMPRODUCT。它在这些情况下非常强大和有用。所以首先我会在交通灯单元格中使用这个公式。

=IF(SUMPRODUCT(($R2:$R11="01")+($R2:$R11="02")+($R2:$R11="03")+($R2:$R11="04")+($R2:$R11="05")+($R2:$R11="06")+($R2:$R11="07")+($R2:$R11="08")+($R2:$R11="99"))>221, CHAR(252), CHAR(251))

这将根据您的值检查 R 中的所有单元格。如果它们全部匹配,则 SUMPRODUCT 将 return 222(您的最大单元格数)。如果数字大于 221,则 IF 语句将 return TRUE 然后 return 检查。

然后我会删除语句的 IF 部分,并在条件格式部分的末尾添加 =TRUE=SUMPRODUCT(...)>221=TRUE