在列中检查单元格的值是否存在,然后获取下一个单元格的值。

19 浏览
0 Comments

在列中检查单元格的值是否存在,然后获取下一个单元格的值。

在检查单元格值是否存在于列中之后,我需要获取匹配单元格旁边的单元格的值。例如,我检查单元格A1中的值是否存在于B列中,并假设它与B5匹配,那么我希望得到C5中的值。

为了解决问题的前半部分,我做了以下操作...

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

...它是有效的。然后,由于< a href=\"https://stackoverflow.com/a/12642375/979621\">之前的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))

...但它不起作用。

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

admin 更改状态以发布 2023年5月22日
0
0 Comments

在t.thielemans的回答之后,我发现只要使用

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

就能完成我想要的效果,但是如果没有匹配的值,它会返回#N/A;所以它只适用于已知值在查找列中肯定存在的情况。

编辑(基于t.thielemans的评论):

为了避免出现#N/A的情况,请执行以下操作:

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

0
0 Comments

使用另一种函数,如VLOOKUP: \n

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

0