【问题标题】:Vlookup to format cell in excelVlookup在excel中格式化单元格
【发布时间】:2016-02-21 07:55:19
【问题描述】:

我的电子表格中有 2 列,都包含一些数字,A 列包含所有数字的列表,B 列包含 A 列中的一些数字,现在我想突出显示 A 列中的这些数字,它们位于B 列是我的场景:

Column A    Column B
20301316    20322063
20302140    20322451
20307329    20326125
20307557    20334858
20314386    20371898
20314840    30368489
20322451    30384472
20326125    30384510
20334858    30384531
20371898    30384661

这里

20322451
20326125
20334858
20371898

应该突出显示。我为此使用了 vlookup,但由于某种原因,它突出显示了所有数字,这是我在条件格式中使用的公式:(考虑到 A 列的值介于 A1:A10 和 B 之间有 B1:B10)

=NOT(ISNA(VLOOKUP(B1, A1:B10, 1, 0)))

谁能帮我正确的公式。

【问题讨论】:

    标签: excel vlookup conditional-formatting


    【解决方案1】:

    Vlookup 返回一个值。在这种情况下,它不是最好的公式,尤其是当您使用它来返回您正在查找的值时。

    MATCH() 更适合这种情况。

    =MATCH(A1,$B$1:$B$10,0)
    

    无需使用 ISNA() 或包装在 NOT() 中。如果匹配,则返回一个数字并将被格式化。如果不匹配,则不会被格式化。

    【讨论】:

      【解决方案2】:

      看起来你的公式有点倒退,因为它在 A 列中查找 B 列中的值。试试这个:

      =NOT(ISNA(VLOOKUP(A1,$B$1:$B$10,1,FALSE)))
      

      另外,请注意,我通过添加美元符号使查找范围成为绝对参考。

      真的,我更喜欢COUNTIF 公式,因为我认为它更明显:

      =COUNTIF($B$1:$B$10,A1)>0
      

      【讨论】:

      • 比我的 Match() 建议快,但不需要比较。 =COUNTIF($B$1:$B$10,A1) -- 0 为 FALSE,其他为 TRUE。
      • @teylyn,你是对的。我倾向于自己拼写出来。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      相关资源
      最近更新 更多