使用多个vlookup的条件格式

时间:2018-06-21 14:00:32

标签: excel vlookup conditional-formatting

我有一个Excel电子表格,我正在尝试根据多个条件进行条件格式化。我必须突出显示其中(A列的值与C列匹配)和(B列的D列匹配)的行。我尝试了3种方法,但都没有给我预期的结果- 方法1-我尝试使用这2条规则进行条件格式设置- (VLOOKUP($ A2,C2:C93,1,FALSE))> 0 (VLOOKUP($ B2,D2:D93,1,FALSE))> 0 并将其应用于$ A $ 2:$ D $ 5745 但这不能按预期工作。

方法2-我尝试使用if,但这也无法提供期望的结果 = if(VLOOKUP(A2,$ C2:$ C93,1,FALSE)> 0&VLOOKUP(B2,$ D2:$ D93,1,FALSE),True,False)> 0 将其应用于$ A $ 2:$ D $ 5745

方法3- = AND(((VLOOKUP($ A2,C2:C93,1,FALSE))> 0,(VLOOKUP($ B2,D2:D93,1,FALSE))> 0) 将其应用于$ A $ 2:$ D $ 5745

为了解决这个问题,我想突出显示所有行,其中A行中的CustEID和C列中的账户EID与C行中的CustEID和D行中的Account EID相匹配。

有人可以引导我吗?

Sample Data

1 个答案:

答案 0 :(得分:1)

这就是我能够开始工作的地方。

  1. VLOOKUP的计算结果是返回“找到的”值或#N/A。通过使用逻辑检查>0修改您的公式,这会将结果转换为布尔值(TRUE),但仅在VLOOKUP返回a的情况下有效值。在许多情况下,您的公式仍然计算为#N/A

因此:=VLOOKUP(A2,$C$2:$C$93,1,FALSE)>0将返回TRUE#N/A

我已将公式修改为=IFNA(VLOOKUP(A2,$C$2:$C$93,1,FALSE)>0,FALSE),这迫使整个公式返回真实的布尔值TRUEFALSE

  1. 需要将公式中的单元格范围引用锁定在特定的范围内,在条件格式公式的上下文中,这些范围不会被视为“相对”。因此,使用范围VLOOKUP($A2,C2:C93,1,FALSE)的公式C2:C93也会随着行的向下“滑动”(我自己的公式为“相对”)。因此,您的每个公式都需要使用VLOOKUP($A2,$C$2:$C$93,1,FALSE)将其锁定。

请注意,公式中唯一保持相对关系的部分是行号,在这种情况下为2。因此,您将在第2行开始条件格式设置。

  1. 将这些公式结合起来以进行完整的测试即可

=AND(IFNA(VLOOKUP($A2,$C$2:$C$93,1,FALSE)>0,FALSE),IFNA(VLOOKUP($B2,$D$2:$D$93,1,FALSE)>0,FALSE))

  1. 将此内容作为完整行应用到您的条件格式中,需要进行最后一项调整。不必将规则应用于范围$A$2:$D$5745,而必须删除列引用。因此,应用范围变为$2:$5745

将所有这些放在一起会得到以下结果:

enter image description here