【问题标题】:Excel Conditional Format based on values in 2D array基于二维数组中的值的 Excel 条件格式
【发布时间】:2016-06-09 13:52:07
【问题描述】:

我正在尝试实现某种条件格式或 If/Then 公式,如果在另一组单元格中满足条件,它将向单元格返回颜色(红色或绿色)。例如,我想告诉 Excel,如果在一个工作表上的给定单元格数组(例如 E5:H11)中有一个值(X),则将此单元格(在不同的工作表上)着色为红色。如果数组中不存在 (X) 值,则将此单元格(同样,在不同的工作表上)着色为绿色。

谁能建议最好的解决方法?

【问题讨论】:

  • 我不确定条件格式是否适用于工作表。但是,如果是这样,请将您的逻辑检查设置为产生真或假,并在地址参考中使用工作表名称。
  • @JoeMalpass 不错的发现,但我认为这种情况与必须引用不同工作表的条件略有不同。
  • 嗨@JoeMalpass,感谢您的帮助,我正在尝试在一系列单元格上运行它,而不仅仅是一个单元格,它无法获取 (x) 值。有什么想法吗?
  • 所以如果特定范围的一个或多个包含 x,您希望它变为绿色吗?我理解正确吗?
  • 如果一个或多个特定范围包含 X 值,我希望它将单元格着色为红色。我在 $E$5:$H$11 范围内尝试了上面的公式,只有当 X 值在范围 (E5) 的第一个单元格中而不是其他任何单元格中时,它才会着色。 @JoeMalpass

标签: excel if-statement excel-formula conditional-formatting


【解决方案1】:

您可以使用MATCH 来执行此操作。 Match 返回搜索词在数组中的位置(作为数字),如果未找到,则返回“N/A”。

条件格式使用布尔表达式(计算结果为真或假的公式)来决定是否应用所需的格式。

在 Excel 中,0 以外的任何数字都被视为“TRUE”,0 为“FALSE”。

因此,如果Sheet2!A1:A10 范围内的任意位置存在 X,=MATCH("X",Sheet2!A1:A10,0) 将返回 true,并将为单元格着色。

对于您的绿色单元格,只需使用此公式的版本添加另一条规则,该版本专门查找“N/A”值:=ISNA(MATCH("X",Sheet2!A1:A10,0))

EDIT - 我看到您正在搜索二维数组。 MATCH 不起作用,它只能搜索一维数组(单个列或行)。但是,您可以将COUNTIF 用于二维数组。

如果 X 存在,则填写红色:=COUNTIF($E$5:$H$11,"X")
如果 X 不存在则填充绿色:=COUNTIF($E$5:$H$11,"X")=0

【讨论】:

  • 谢谢乔,但公式根本没有获取 X 值,只是返回 N/A(没有“真实”返回)。有没有其他方法可以解决这个问题?
  • 在您搜索的单元格中是 X 还是 x。或者该函数不区分大小写?
  • @ForwardEd 它不区分大小写。 FINDSEARCH 之一区分大小写(我认为是 FIND)不确定 Excel 中的其他内容是否区分大小写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 2017-01-20
  • 2015-02-27
  • 2015-08-18
  • 2013-09-16
相关资源
最近更新 更多