=IF(ISERROR(VLOOKUP(B2,data,5,FALSE)),"",VLOOKUP(B2,data,5,FALSE))

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:38:24
data是数据区域的名称
请帮忙解释这一函数.
谢了!

VLOOKUP()函数中,
第一个参数是目标单元格的值,在这里就是单元格B2的值,
第二个参数是数据单区域,例如$B$7:$E$15
第三个参数是返回列数,这里表示第5列的值
第四个参数是如果匹配不成功时返回的值

这样VLOOKUP(B2,$B$7:$F$15,5,FALSE)所表示的意思就是
在$B$7:$E$15区域中,有任何一个单元格的值同当前表中B2的值匹配,则返回该行的第5列的值,(假设B8的值与B2的是相同,就返回F8的值。)如果没有任何一个单元格匹配成功,则返回false

在这里,ISERROR()函数有两个作用:

一是为了防止VLOOKUP()函数中第三个参数大于第二个参数所包含的总列数所使用的,例如VLOOKUP(B2,$B$7:$F$15,6,FALSE)这样一个函数就是错误的,因为第三个参数6,大于了$B$7:$F$15的总列数,这样使得不到值的,而ISERROR(VLOOKUP(B2,$B$7:$F$15,6,FALSE))这个表达式返回的就是一个TRUE。

二是在VLOOKUP(B2,$B$7:$F$15,5,FALSE)这个函数中,没有找到匹配的单元格,而返回了FALSE,那么ISERROR(VLOOKUP(B2,$B$7:$F$15,5,FALSE))这个表达式返回的就是TRUE