在查询工资的时候,有的人是报姓名,有的人是报工号,现在如何根据其中任意条件,查询到工资呢? 在F2输入公式,并向下复制。 =IFERROR(VLOOKUP(E2,A:C,3,0),VLOOKUP(E2,B:C,2,0)) 或者用Excel2013新函数IFNA代替IFERROR函数。 =IFNA(VLOOKUP(E2,A:C,3,0),VLOOKUP(E2,B:C,2,0)) 原理分析 单独用一个VLOOKUP函数的时候,只能查询到一部分。比如用VLOOKUP(E2,A:C,3,0)只能查询到姓名对应的工资,而工号对应的工资就得不到。相反用VLOOKUP(E2,B:C,2,0)只能查询到工号对应的工资,而姓名对应的工资查找不到。而两者结合起来,就刚好可以找到所有工资。 VLOOKUP函数查询对应值的时候,如果查找不到对应值会显示错误值#N/A,我们可以借助错误值这个特点来进行两两个公式合并。IFERROR函数可以让错误值显示成任意值,不是错误值显示本身。 IFERROR函数语法如下: IFERROR(值,错误值要显示的结果) 也就是说如果VLOOKUP(E2,A:C,3,0)查询的时候没错误值,就用VLOOKUP(E2,A:C,3,0)进行查询,有错误就用VLOOKUP(E2,B:C,2,0)。 IFERROR是针对所有错误值,而IFNA只是针对#N/A这种错误,因为VLOOKUP查询不到对应值都是返回#N/A这种错误值,也就是可以用IFNA取代IFERROR。 知识扩展 对于低版本的朋友来说,使用最多的是IS类函数来进行屏蔽错误值处理。 Excel中IS 类函数共有9个函数,可以用来检验数值的类型并根据参数取值返回 TRUE 或 FALSE。 1. ISBLANK(value) 2. ISERR(value) 3. ISERROR(value) 4. ISLOGICAL(value) 5. ISNA(value) 6. ISNONTEXT(value) 7. ISNUMBER(value) 8. ISREF(value) 9. ISTEXT(value) IS 类9个函数的参数都一样,Value:为需要进行检验的数值。分别为空白(空白单元格)、错误值、逻辑值、文本、数字、引用值或对于以上任意参数的名称引用。 IS 类函数在用公式检验计算结果时十分有用。当它与函数 IF 结合在一起使用时,可以提供一种方法用来在公式中查出错误值。 刚刚的案例用ISNA函数的话,可用: =IF(ISNA(VLOOKUP(E2,A:C,3,0)),VLOOKUP(E2,B:C,2,0),VLOOKUP(E2,A:C,3,0)) 使用低版本的话,会多写一个VLOOKUP函数,显得繁琐一点,还是高版本比较简洁。 来源:会计网,支持原创! 多练会计网微信专注分享最接地气的会计实务,财会干货,税务知识等。 欢迎关注微信号:多练会计←长按可复制,满满的会计实务干货哦。 |
|