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

时间:2012-10-16 12:55:32

标签: excel

检查列中是否存在单元格值后,我需要获取匹配单元格旁边的单元格值。例如,我检查cell A1column 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))

很自然地,为了得到下一个细胞的价值,我试过......

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

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

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

3 个答案:

答案 0 :(得分:99)

使用其他功能,例如VLOOKUP:

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

答案 1 :(得分:34)

t.thielemans' answer之后,我只是

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

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

编辑(根据t.thielemans的评论):

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

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

答案 2 :(得分:7)

这个怎么样?

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

末尾的“3”表示C列。