打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
巧用EXCEL的If和IsError函数来消除VLOOKUP函数的错误值
本文转自:星云电脑教程www.gonet8.com
----大家都知道EXCEL是微软公司的OFFICE
产品,EXCEL一经推出就得到很多经常处理大
量数据的人士的喜爱,主要是因为它的快捷
和自动计算的功能,特别是他提供了大量的
函数,让我们能够十分方便的使用!
----例如:VLOOKUP函数就是一个十分好的
应用函数,它主要是用来计算如奖金分配等
工作的,为我们减少了很多的麻烦和一些不
必要的错误,只要您的条件值是正确的,他
保证能够让您得到准确无误的值,今后只要
您的条件值有所改动,VLOOKUP函数马上就会
更新您的所有值。好了,言归正传!
---- VLOOKUP函数
---- 语法
----VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
---- Lookup_value
为需要在数据表第一列中查找的数值。
---- Table_array
为需要在其中查找数据的数据表。可以使用
对区域或区域名称的引用。
---- Col_index_num 为table_array
中待返回的匹配值的列序号。
---- Range_lookup为一逻辑值,指明函数
VLOOKUP返回时是精确匹配还是近似匹配。
如果为 TRUE或省略,则返回近似匹配值。
----首先,我们看看下面的这个表(表1)
----这是一个编号和奖金分配的表,本例
中奖金是随着编号的固定数值的不同而改变,
而且任何不在此编号内的数据都将视为不合
格产品,不能给奖金!如20和25这两个值,
奖金分别为100和60,如果编号是21、22、
23、24那么就不能得到奖金!
---- 表(1)
编号 奖金
5 50
10 110
15 120
20 100
25 60
----第一步我做了一个VLOOKUP函数,让奖
金与编号挂钩,首先,看看我们的工资表是
如何使用VLOOKUP函数的,见表(2)这是一
个EXCEL数据表,它VLOOKUP需要一个主表
[表(2)] 和一个条件表 [表(1)],将他
们放在一张表内即可,例如SHEET1内的不同列
中即可,我将主表放在A1:E7中,将条件表[表
(1)]放在H和I列内,一切准备就绪后,我们
就可以将VLOOKUP函数放在相应的单元格中了
,即C列中从C2到C7,首先,选择单元格C2,
然后我们点击工具条中的按钮,在“查找与引
用”里找到“VLOOKUP”函数,点击确定即可
,进入对话框后在:
----lookup_value内输入:B2
----table_array内输入:H:I
----col_index_num内输入:2
----range_lookup内输入:暂时不输入(空
值)即近似匹配值,将在以下详细介绍。
----确定后,单元格C2得到的公式为:
“=VLOOKUP(B2,H:I,2)”,直接在单元格中
输入也是可以的!
---- 表(2)
ABCDE
1姓名编号奖金基本工资合计
2张一3#N/A100#N/A
3李二21100130230
4王五10110130240
5大侠15120150270
6小虾20100160260
7老板2560250310
----然后,使用EXCEL的“自动填充”功能来
填入下面5个数据,填充的结果如[表(2)]
,只要你改变“条件表”[表(1)]的值,
[表(2)]数值将马上进行改变。这样就实现
了表格的自动化,但是有一点你可以看到这
个表格有两个很大的缺陷,首先就是它出现
了错误值#N/A,这个错误值代表的意思是:
“除以了0”;其次“=VLOOKUP(B2,H:I,2)”
这个公式是一个近似匹配值,即20和25之间
的任意值奖金都为100,如本例的单元格B3
它的值为:21,就得到奖金100(参看[表(1)
])。而本例的要求是:不在编号内的数据,
都将视为不合格产品,且不能给奖金!即C3的
值必需为“0”,不应该是“100”,否则将导
致合计数据为230而不是130元,产生错误!怎
样才能改正这两个错误的发生呢?
---- 这就是我要做的第二步,选用另两个函
----ISERROR和IF函数,ISERROR函数是一个
测试错误的函数,它的语法是:
---- ISERROR值为任意错误值(#N/A、
#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?
或#NULL!)。如果您的测试值为错误的时候,
当前得到的值为“TRUE”,否则将为“FALSE”。
----举例:如果有一个单元格“B9”是一个
公式为:“=2/0”回车后,它将成为一个错
误值即“#DIV/0!”,用以告诉我们任何值不
可以除零!在单元格“A9”内输入公式
“=ISERROR(B9)”回车后“A9”的值为:“TRUE”,表示测试结果是“真”,如果再次改变“B9”的公式
为:“=2/2”回车后给公式变为“1”,我们
会发现同时“A9”的值也发生了变化,变为
:“FALSE”。
----在本例中公式“VLOOKUP(B2,H:I,2)”
相当于上例中的“B9”单元格,现在我们看
看如下两个公式:
----①“=ISERROR(VLOOKUP(B2,H:I,2))”
←近似匹配值
---- ②“=ISERROR(VLOOKUP(B2,H:I,2,FALSE
))”← 精确匹配值
----上述两个公式,得到的值是不同的,
即①得到的两个值(20和25)之间的值如21
得到的是FLASE,这就与我们的特定值[表(1
)]规定的“任何不在此编号内的数据都将视
为不合格产品,不能给奖金!”产生了冲突,
所以只能强制让公式得TRUE,即只能用②这个
公式,让VLOOKUP函数精确匹配。这样C2和C3
的值都为“TRUE”我们的目的就达到了!
----最后一步就是使用IF函数,
----它显然是一个条件函数,语法
----IF(logical_test,value_if_true,value
_if_false)
---- Logical_test 计算结果为 TRUE或
FALSE 的任何数值或表达式。
---- Value_if_true Logical_test 为TRUE
时函数的返回值。
---- Value_if_false Logical_test为
FALSE时函数的返回值。
----“Logical_test”的值就是在第二步中
,说的②精确匹配公式 “
----Value_if_true”这个值添入:
“ "0"”,即值公式②的值等于TRUE时。
---- “Value_if_false”这个值添入:
“VLOOKUP(B2,H:I,2) ”,
即值公式①的值等于FALSE时。
----OK单元格“C2”最终的公式得到了,
如下:
----“=IF(ISERROR(VLOOKUP(B2,H:I,2,FALSE)),"0",VLOOKUP(B2,H:I,2))
”最后使用“自动填充”功能,向下拖动
即可得到相应的数值,见[表(3)]
---- 表(3)
姓名编号正确奖金错误奖金基本工资
错误合计正确合计
张一30#N/A100#N/A100
李二210100130230130
王五10110110130240240
大侠15120120150270270
小虾20100100160260260
老板256060250310310
----通过这个公式我们能够认识到EXCEL的
强大数据处理能力,并由此让您对EXCEL的函
数有进一步的了解,在实际工作中充分利用
它的内置函数方便自己的工作!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel | VLOOKUP查找出现错误值,ISERROR函数来帮忙
VLOOKUP、ISERROR和IF函数在Excel中的组合应用
VLOOKUP、ISERROR和IF函数在excel中的高效应用_匹配查找
Excel通配符&函数嵌套并不难,这3组函数公式让你熟练操作
excel两列对比的四个实例
Excel
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服