【问题标题】:VLOOKUP based conditional formatting highlights the cell above the intended one基于 VLOOKUP 的条件格式突出显示预期单元格上方的单元格
【发布时间】:2016-04-12 05:02:09
【问题描述】:

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

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

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

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

这适用于工作表 1 中的单元格应用了正确的格式,但所有单元格都上移了一个 (image)。我已将突出显示的参考编号复制出来,并针对表 2 中的参考编号进行了查找以进行仔细检查,突出显示的顶部不在表 2 中,但填充单元格下方的是 (image)。

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

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

任何想法都将不胜感激!

【问题讨论】:

    标签: excel vlookup conditional-formatting


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-07
        • 2018-05-02
        • 1970-01-01
        • 1970-01-01
        • 2017-08-16
        • 2013-08-31
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多