领导:报表里又出现#N/A, 是不是出错了?
我:不是的,是因为Vlookup没有找到数据,所以显示#N/A.
领导:#N/A是啥意思,看不懂。
我:#N/A是英文Not Available的意思,通俗的说就是查无此人。
领导:影响报表美观,在保留公式的同时,把#N/A去掉,我不想看到它。
大家在工作中,是不是经常遇到#N/A的情况?有没办法不显示#N/A, 而显示空白,或“没找到”,“不存在”,“查无此人”等?
答案:有办法。
下面介绍几种处理#N/A方法.
案例,
如下图,我们要查找员工的工号,部门,年薪,性别和年终奖。
根据前面文章学的知识,用一个Vlookup替代多个Vlookup的方式,在K2输入公式:
VLOOKUP($J2,$A:$F,MATCH(K$1,$A$1:$F$1,0),0),并向下,向右复制填充。
- 查找值$J2. 由于姓名的规律是列号不变,所以我们锁定列号,前面加$.
- 查找范围$A:$E. 我们用最大查找范围A列到F列,并锁定列号。
- 结果所在的列。我们使用Match函数动态查找。MATCH(K$1,$A$1:$F$1,0)
- 精准度。我们使用精准查找0.
数据源里的是"李连截",我们要找的是"李连杰",所以找不到,就会出现#N/A。如果我们不想显示#N/A ,而要显示“没找到”,怎么办?
第一种方法。Vlookup If ISNA.
判断函数ISNA,,用于判断是否为#N/A, 如果是就返回True, 如果不是就返回False.
ISNA, 是英文Is Not Available的缩写。语法格式为:ISNA(值)
如下图,在B2输入=ISNA(A2), 并向下填充复制。A4是#N/A,所以返回的是True.
条件函数If,语法格式为If(判断条件,如果是就显示, 如果否就显示)
如下图,如果成绩大于60,就显示及格,否则显示不及格。
公式为:=IF(A2>60,"及格","没及格")
- 判断条件, A2>60, 这是一个逻辑值,
a. 如果成绩大于60就返回True,
b. 如果小于60就返回False.
- "及格", 如果大于60就显示"及格"
- "没及格", 如果小于60就显示"没及格"