请帮忙解析一下这条关于EXCEL
=IF(ISERROR(VLOOKUP(B2,员工资料表!A2:H7, 8, FALSE)), "", VLOOKUP( B2, 员工资料表!A2:H7, 8, FALSE))
这里面有三种函数:Vlookup,iserror和if。
最主要的运算函数是vlookup,该函数是表示要一个区域的第一列中查找一精确(False)或近似(True)的数值,并返回该数值所在行中,第几列的值。
其语法为:vlookup(用来查找的数值,查找的区域,返回第n列,True或False方式)
具体到本函数:
VLOOKUP( B2, 员工资料表!A2:H7, 8, FALSE)
就是在员工资料表的A2...全部
=IF(ISERROR(VLOOKUP(B2,员工资料表!A2:H7, 8, FALSE)), "", VLOOKUP( B2, 员工资料表!A2:H7, 8, FALSE))
这里面有三种函数:Vlookup,iserror和if。
最主要的运算函数是vlookup,该函数是表示要一个区域的第一列中查找一精确(False)或近似(True)的数值,并返回该数值所在行中,第几列的值。
其语法为:vlookup(用来查找的数值,查找的区域,返回第n列,True或False方式)
具体到本函数:
VLOOKUP( B2, 员工资料表!A2:H7, 8, FALSE)
就是在员工资料表的A2:H7区域中,用精确(False)的方式查找B2单元格中数值所在的行,再返回第8列的数值。
注:如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于查找的数值的最大数值。但查找区域的第一列中的值必须以升序排序;否则 VLOOKUP 可能无法返回正确的值。
如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,查找区域中第一列的值不需要排序。如果查找区域第一列中有两个或多个值与需查找的数值匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
iserror函数是判断该值是否为错误值,如果是错误值,就返回TRUE——即判断结果正确。,如果不是错误值,就返回False——即判断结果错误。
if函数是一个选择函数,语法:if(条件,第一数值,第二数值),即如果符合条件(即结果为正确true),就返回第一数值,不符合条件(即结果为错误False),就返回第二数值。
本题中因为Vlookup函数采用False方式查找,如果没找到与之匹配的数值时,会返回错误值#N/A。
这样就会影响美观,所以运用iserror函数判断vlookup返回的结果是否为错误值,if函数则根据其判断结果选择返回结果,如果vlookup函数查找结果返回的是错误值,即ISERROR(VLOOKUP(B2,员工资料表!A2:H7, 8, FALSE))返回结果True,那么if函数就返回空白值(""),如果vlookup函数查找结果能找到与之匹配的数值,也就是返回的不是错误值,即ISERROR(VLOOKUP(B2,员工资料表!A2:H7, 8, FALSE))返回结果false,那么if函数就返回vlookup函数的结果,或者说——就按照vlookup函数进行查找。收起