Vlookup中对文本型数字的查找

vlookup公式,如果查找值和查找区域内的值类型不匹配,经常会查找不到。比如查找值为文本型数字,而查找区域内的值为数值型数字。

 

一、公式用法:

VLOOKUP(查找值,查找区域,返回查找区域第N列,查找模式)

1、如果查找值数值型数字,而查找区域内的值也是数值型数字,直接用即可。

2、查找值为数值型数字,查找区域内的值为文本型数字,此时应该把查找值转换为文本型。

比如查找值在A1,用 A1&"" 将A1转换为文本型数字。

3、查找值为文本型数字,而查找区域内的值为数值型数字,此时把查找值转换为数值型。用--或*1或+0等,都可以。

4、无论查找值为文本或数值,也不管查找区域内的值是文本或数值,一个公式全部完成:比如查找值为A1,区域为B2:E20,返回第3列。

IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))

二、公式说明
:两层iferror嵌套。
①外层,绿色部分,先用
--A1将A1转换为数值型,如果查找成功,返回第1个参数中的vlookup查找结果(即绿色部分的查找结果)。
②如果出现错误,执行内层的iferror。
③在第2层iferror中:
  I、橙色部分,通过A1&""将A1转换为文本型,如果查找成功,返回橙色部分的查找结果。
  II、如果查找错误,返回空值""。

IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))

三、执行情况分析:

①如果查找值为数值型,查找区域值也为数值型,因为绿色部分已经将A1转换为数值型,所以会返回绿色部分查找的结果。
②如果查找值为数值型,查找区域值为文本型,会执行内层的iferror,橙色部分将A1转换为文本型,从而返回橙色部分的查找结果。
③如果查找值为文本型,查找区域值为数值型,
因为绿色部分已经将A1转换为数值型,所以会返回绿色部分查找的结果。
④如果查找值为文本型,查找区域值为文本型,会执行内层的iferror,橙色部分将A1转换为文本型,从而返回橙色部分的查找结果。
注: 在excel中,通过公式中的“公式求值”,可以很清楚地看到公式的执行过程。

 

posted @ 2020-03-19 13:33  茶沐书香  阅读(10570)  评论(0编辑  收藏  举报
Bottom