基于 VLOOKUP 的条件格式突出显示预期单元格上方的单元格
VLOOKUP based conditional formatting highlights the cell above the intended one
我正在尝试使用 "Use a formula to determine which cells to format" 功能将条件格式应用于 Excel 中的列。
在 Sheet 1 中,A 列中有一个名称列表,B 列中有相应的参考编号。在 Sheet 2 中,我在 C 列中有一个更长的参考编号列表。我想要条件格式规则,用于查找 Sheet 1 中的参考编号与 Sheet 2 中的参考编号,并突出显示它们重叠的单元格。
我找到了一个明显的解决方案,使用 vlookup 作为公式:
=$B2=VLOOKUP($B2,Sheet2!$C:$C,1,FALSE)
这适用于 Sheet 1 中的单元格应用了正确的格式,但所有单元格都向上移动了一位 (image). I have copied the highlighted reference numbers out and done a lookup against the reference numbers in sheet 2 to double-check and the top one highlighted isn't in Sheet 2 but the one below the filled cells is (image)。
我尝试用 INDEX/MATCH 函数替换条件格式中的 vlookup,以防 VLOOKUP 出现问题,但结果是一样的:=$B2=INDEX(Sheet2!$C:$C,MATCH($B2,Sheet2!$C:$C,0))
我尝试根据不同的 Whosebug 答案删除参考文献中 xx 和数字之间的空格,但没有成功。我还尝试将单元格的格式从常规更改为文本,结果相同。
如有任何想法,我们将不胜感激!
这应该可以解决问题。 vlookup 和索引匹配都抛出错误。将它包装在 iferror 函数中应该可以解决这个问题。
=$B2=iferror(VLOOKUP($B2,Sheet2!$C:$C,1,FALSE),0)
您在整个 B 列上创建了它,因此 适用于: 是 B:B。公式引用了B2但是相对引用了B1。突出显示将始终应用于下面一行的单元格。以下是一些解决方案:
- 将适用于:更改为
=$B:INDEX($B:$B, MATCH("zzz", $A:$A))
。这将解析为正确的范围,并且不会保留为公式。应用此公式后,您需要查看公式以确保 hte xlA1
引用未调整到新范围。
- 更改公式以忽略第一行。例如
=AND(ROW()>1, ISNUMBER(MATCH($B1, SHeet2!$C:$C, 0)))
。无需进一步调整,fuill 列适用于:有效..
我正在尝试使用 "Use a formula to determine which cells to format" 功能将条件格式应用于 Excel 中的列。
在 Sheet 1 中,A 列中有一个名称列表,B 列中有相应的参考编号。在 Sheet 2 中,我在 C 列中有一个更长的参考编号列表。我想要条件格式规则,用于查找 Sheet 1 中的参考编号与 Sheet 2 中的参考编号,并突出显示它们重叠的单元格。
我找到了一个明显的解决方案,使用 vlookup 作为公式:
=$B2=VLOOKUP($B2,Sheet2!$C:$C,1,FALSE)
这适用于 Sheet 1 中的单元格应用了正确的格式,但所有单元格都向上移动了一位 (image). I have copied the highlighted reference numbers out and done a lookup against the reference numbers in sheet 2 to double-check and the top one highlighted isn't in Sheet 2 but the one below the filled cells is (image)。
我尝试用 INDEX/MATCH 函数替换条件格式中的 vlookup,以防 VLOOKUP 出现问题,但结果是一样的:=$B2=INDEX(Sheet2!$C:$C,MATCH($B2,Sheet2!$C:$C,0))
我尝试根据不同的 Whosebug 答案删除参考文献中 xx 和数字之间的空格,但没有成功。我还尝试将单元格的格式从常规更改为文本,结果相同。
如有任何想法,我们将不胜感激!
这应该可以解决问题。 vlookup 和索引匹配都抛出错误。将它包装在 iferror 函数中应该可以解决这个问题。
=$B2=iferror(VLOOKUP($B2,Sheet2!$C:$C,1,FALSE),0)
您在整个 B 列上创建了它,因此 适用于: 是 B:B。公式引用了B2但是相对引用了B1。突出显示将始终应用于下面一行的单元格。以下是一些解决方案:
- 将适用于:更改为
=$B:INDEX($B:$B, MATCH("zzz", $A:$A))
。这将解析为正确的范围,并且不会保留为公式。应用此公式后,您需要查看公式以确保 htexlA1
引用未调整到新范围。 - 更改公式以忽略第一行。例如
=AND(ROW()>1, ISNUMBER(MATCH($B1, SHeet2!$C:$C, 0)))
。无需进一步调整,fuill 列适用于:有效..