【问题标题】:Excel: Using IF statement to determine if multiple columns in a row are highlightedExcel:使用IF语句判断一行中的多列是否高亮
【发布时间】:2017-01-25 07:54:32
【问题描述】:

我想知道如何使用 IF 语句(或其他函数)来确定特定行中下图所示的所有列是否都突出显示:

Screenshot of Table

我希望将该函数放在 T 列中,如果该行中的所有列都突出显示,则返回“购买”。

提前致谢

【问题讨论】:

  • 没有公式可以直接测试单元格的颜色。

标签: excel if-statement excel-formula highlight


【解决方案1】:

现在我已经测试过了,但不确定你用的是什么绿色。如果我不正确,请更改它。

将其粘贴到 vba 模块中:

Function color(c As Range)
       If c.Interior.color = 5296274 Then color = True
End Function

然后像这样使用它:

=color(A1)

如果 A1 为绿色,它将返回 true。
在您的情况下,您需要构建一个类似:

=and(color(A1), color(B1)) 

等等……

并且您需要将工作簿保存为宏激活工作簿 xlsm。

编辑添加的图片和其他颜色代码。这是“标准颜色”的左绿色。

【讨论】:

  • 我很抱歉没有提供更多信息。我试过你的方法,但它对我不起作用。我开发了一个表格,它使用条件格式来确定列中的值是 > 还是 stackoverflow.com/questions/27611260/… 这些值也不起作用;想法?
  • 不,不是。如果在“if”行设置断点,那么单元格上的颜色代码是什么? (将鼠标悬停在 c.Interior.color 的颜色上,该值应出现在一个框中)
  • 这是颜色#16777215。使用它,你的方法奏效了,谢谢。但是,我添加了额外的列,因此没有一行突出显示每一列。所以我想为突出显示的单元格做一个计数,但似乎也没有一个简单的解决方案。有什么建议吗?
  • 我认为您可以将 vba 中的代码编辑为.... Then color = 1,它会为每个绿色返回 1。这样你可能会做=if(color(A1)+color(B1)+color(C1)=3, "all green", "not all green"),如果你添加东西,维护它将是一个“痛苦”。另一种方法是使用不同的纸张进行计数。所以在sheet2上。 =color(Sheet!1A1) 然后你只需 sum(),并将值链接回 sheet1。这样您就可以轻松添加列,并且所有计算和公式都可以“正确填写”,并且您的 Sheet1 将是干净的
  • 好的,这是个好主意。我会试一试。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
相关资源
最近更新 更多