如果单元格与列A或列B中的任何值匹配,或者两者都匹配,则格式化以使单元格的颜色不同?

时间:2016-08-01 05:45:44

标签: excel vba formatting conditional

我已经尝试过一段时间解决这个问题,但这对我来说并不适用。这是我有一个特定的目标,所以我没有在网上找到实例的成功,所以我希望在如何最好地解决这个方面有一些方向。我希望找到一个使用VBA的解决方案。我对VBA很新,所以请耐心等待我!

我正在处理基于匹配单元格值的条件背景着色。我有三个可变长度列:A,B和D.列A和B是D列中值的随机选择子集 - 因此,不同列中的值可能匹配,但它们可能不会打开同一排。

当列D中的单元格值与列A中单元格的值匹配时,我希望该单元格从D列到列K的行为蓝色。同样,如果列D中的单元格值与列B中的值匹配,我希望它显示为红色。如果列D中的单元格与A列和B列中的单元格匹配,我希望它呈紫色。

这有意义吗?你怎么建议我接近这个?

如果我需要进一步澄清,请告诉我。我非常感谢任何帮助!

使用Excel 2013。

1 个答案:

答案 0 :(得分:0)

我实际上没有看到你的文件,因为我在工作,但我想你的桌子看起来像这样:

|  A  |  B  |  C  |  D  |
|  1  |  3  |     |  1  |
|  3  |  5  |     |  2  |
|  2  |  4  |     |  3  |
|     |     |     |  4  |
|     |     |     |  5  |

我更喜欢简单的基于公式的方法,但我也可以给你一个vba例子。

通过这个设置我建议使用VLOOKUP。您基本上检查,如果值是A的一部分,B的一部分,那么您可以使用条件格式完成剩下的工作。

因此,如果其他列没有问题,只需使用查找生成真或假答案(我为公式错误道歉,因为我使用德语excel版本):

=NOT(ISERROR(VLOOKUP(D1,A:A,1,False)))

这将告诉您TRUE,如果列A中的所有值都等于D1。如果您还将此公式用于B列,则可以将这两个颜色编码基于蓝色和红色。

对于紫色,您只需要使用简单的AND

再次比较其他两个结果

希望这很清楚,我已经正确地阅读了你的问题。

卡兹