
在查询工资的时候,有的人是报姓名,有的人是报工号,现在如何根据其中任意条件,查询到工资呢?

在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函数,显得繁琐一点,还是高版本比较简洁。