根据IF公式

时间:2015-07-21 15:59:19

标签: excel-formula excel-2010 formulas

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

  • 01
  • 02
  • 04
  • 05
  • 06
  • 07
  • 08
  • 99

并且不能为空。

我在标题上方的顶部有一个红绿灯单元格(在单元格 R2 中),我正在尝试编写红绿灯单元格 R2 中的公式,以便当 R4:R223 中的任何一个与上述任何一个不匹配时,单元格为红色。如果它们都匹配则必须是绿色。

此刻我在红绿灯单元格(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 tick

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

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

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

那么,如果范围中的某个单元格与列表不匹配或为空,我如何在IF语句中使用此公式返回Char(251)

1 个答案:

答案 0 :(得分:1)

你应该看看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将返回222(您的最大单元数)。如果数字大于221,则IF语句将返回TRUE,然后返回检查。

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