首页 文章

检查Column中是否存在Cell值,然后获取NEXT Cell的值

提问于
浏览
85

在检查列中是否存在单元格值之后,我需要 get the value of the cell next to the matching cell . 例如,我检查 cell A1 中的值是否存在于 column B 中,并假设它与 B5 匹配,那么我想要 cell C5 中的值 .

要解决问题的前半部分,我这样做了......

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")

......它奏效了 . 然后,由于earlier answer on SO,我还能够获得匹配单元格的行号:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))

很自然地,为了获得下一个细胞的 Value ,我试着......

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))

......它不起作用 .

我错过了什么?如何将列号附加到返回的行号以获得所需的结果?

3 回答

  • 33

    使用不同的函数,如VLOOKUP:

    =IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
    
  • 7

    t.thielemans' answer之后,我就是这样做的

    =VLOOKUP(A1, B:C, 2, FALSE)
    

    工作正常并做我想要的,除了它返回非匹配的 #N/A ;所以它适用于已知该值在查找列中明确存在的情况 .

    Edit (根据t.thielemans的评论):

    要避免 #N/A 用于非匹配,请执行以下操作:

    =IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")
    
  • 98

    这个怎么样?

    =IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", INDIRECT(ADDRESS(MATCH(A1,B:B, 0), 3)))
    

    C列末尾的“3”表示C列 .

相关问题