在Excel列中搜索值

时间:2015-12-28 09:31:00

标签: excel excel-formula

我希望将单元格中的值与整列匹配。换句话说,如果col1包含col2中的当前记录,则它应该是匹配的。 即使它不在同一行。结果应如下所示:

Col1       Col2       Result
-------    -------    -------
A          B          match
B          F          not match
C          C          match
D          A          match

我已经研究过VLOOKUP和LOOKUP但它似乎无法向我提供我需要的东西

这是我到目前为止所尝试的内容:

  

= IFERROR(VLOOKUP(P:P,C:C,15,FALSE),“NO MATCH”)

第17栏中的

导致:

col15  col16 col17
A      D     NO MATCH
B      B     NO MATCH
C      A     NO MATCH
D      F     NO MATCH

4 个答案:

答案 0 :(得分:1)

这也可以帮到你。请尝试以下公式。

=IFERROR(IF(MATCH(B2,$A$2:$A$5,0)>0,"Match"),"Not Match")

答案 1 :(得分:0)

你的公式:

=IFERROR(VLOOKUP(P:P,C:C,15,FALSE), "NO MATCH")

无法正常工作,因为您的 Vlookup 会导致错误 主要原因是您将15放入 column_index ,但实际上您没有第15列,因为您只为 table_array选择了1列C:C

另一个是你 lookup_value 应该是一个单元格而不是P:P,例如它应该是P1

要使其有效,您需要将其更改为:

=IFERROR(VLOOKUP(P1,C:C,1,FALSE), "NO MATCH")

这将导致找到的值或" NO MATCH"对于不存在的价值 为了得到你想要的结果,这个公式应该可行。

=IF(ISERROR(VLOOKUP(P1,C:C,1,FALSE)),"not match","match")

答案 2 :(得分:0)

你可以选择:

=IF(ISNA(INDEX(A:A;MATCH(B1;A:A;0);1));"NOT MATCH";"MATCH")

其中:

  • A:A:您要搜索值的范围;在您的示例中,Col1;请注意,范围在公式
  • 中出现两次
  • B1:您正在寻找的价值;在您的示例中,来自Col2
  • 的每个值

尝试删除IFISNA函数,以查看INDEX在找不到匹配项时的行为。

这种方法优于VLOOKUP替代方法,因为它不需要对查阅列进行排序。

答案 3 :(得分:0)

为什么不使用匹配公式?使用这个公式......

=IF(ISNUMBER(MATCH(B2,$A$2:$A$5,0)),"Match","Not match")

截图 enter image description here