基于VLOOKUP的条件格式突出显示预期的单元格之上的单元格

时间:2016-01-07 17:20:04

标签: excel vlookup conditional-formatting

我正在尝试使用“使用公式确定要格式化的单元格”功能将条件格式应用于Excel中的列。

在工作表1中,A列中有一个名称列表,B列中有相应的参考编号。在工作表2中,我在C列中有一个较长的参考编号列表。我希望条件格式规则查找参考编号将表1与表2中的表格进行对比,并突出显示它们重叠的单元格。

我使用vlookup作为公式找到了一个明显的解决方案:

=$B2=VLOOKUP($B2,Sheet2!$C:$C,1,FALSE)

这适用于Sheet 1中的单元格应用了正确的格式,但所有单元格都向上移动了一个(image)。我已经复制了突出显示的参考编号,并对工作表2中的参考编号进行了查找以进行复核,突出显示的顶部不是在工作表2中,而是填充单元格下面的那个是(image)。

我尝试使用INDEX / MATCH函数替换条件格式的vlookup,以防VLOOKUP出现问题但结果相同:=$B2=INDEX(Sheet2!$C:$C,MATCH($B2,Sheet2!$C:$C,0))

我尝试根据不同的stackoverflow答案删除引用中的xx和数字之间的空格,但没有运气。我也尝试将单元格的格式从General更改为Text,结果相同。

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题。 vlookup和索引匹配都抛出错误。将它包装在iferror函数中应该可以解决这个问题。

=$B2=iferror(VLOOKUP($B2,Sheet2!$C:$C,1,FALSE),0)

答案 1 :(得分:0)

您在整个列B上创建了此项,因此适用于:为B:B。公式引用B 2 ,但它相对参考B1。突出显示将始终应用于下面一行的单元格。以下是一些解决方案:

  1. 适用于:更改为=$B$2:INDEX($B:$B, MATCH("zzz", $A:$A))。这将解析为正确的范围,不会作为公式保留。在应用此公式后,您需要查看公式,以确保hte xlA1引用未调整为新范围。
  2. 更改公式以忽略第一行。例如=AND(ROW()>1, ISNUMBER(MATCH($B1, SHeet2!$C:$C, 0)))。不需要进一步调整,并且fuill列适用于:有效..