一 让你从菜鸟成为Excel高手速来看看( 二 )


说明

如果函数 VLOOKUP 找不到 lookup_value , 且 range_lookup 为 TRUE , 则使用小于等于 lookup_value 的最大值 。

如果 lookup_value 小于 table_array 第一列中的最小数值 , 函数 VLOOKUP 返回错误值 #N/A 。

如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE , 函数 VLOOKUP 返回错误值 #N/A 。

应用示例:


一 让你从菜鸟成为Excel高手速来看看

文章插图


上图中 , 为方便比较 , 我将原始数据区域放在了同一工作表中(E1:F5),实际使用时 , 原始数据可以在不同的工作表 , 甚至不同的工作簿(即不同的Excel文件) 。 当被查找的内容与原始内容在不同的工作表 , table_array前面需加上工作表的名称 , 写法为 “表名! ”区域范围 , 如“Sheet2!$A$1:$B$12” , 而若在不同的工作簿 , 则还得加上文件名 , 如“[文件名]sheet1!$A$1:$B$12” 。

详细解释

公式“=Vlookup(A2,$E$2:$F$5,2,FALSE)”中A2表示要查找的值为A2单元格的内容 , 即“Apple”, “$E$2:$F$5”告诉电脑 , 应该去$E$2:$F$5这个数据区域中查找 , “2”表示找到后 , 应传回该区域第二列的值 , 即数量列 , 最后“FALSE”参数系统 , 查找区域内容未进行排序 , 需使用精确查找 , 找不到就算了 , 不返回近似匹配值 。

特别要注意的是 , 通常我们都是使用鼠标拖动的方法来填充公式 , 而拖动时 , Excel对公式中区域的引用 , 处理方法是不一样的 。 如果是相对参照 , 即栏名列号前没有“$”符号 , 则Excel会对该区域作相对位移 , 如上栏是E2:B5,拖到下栏后 , 即会自动成为E3:B6 , 这种处理方法在很多公式中是必要的 , 但在这个公式中却是致命的 , 因为它更改了查找的原始数据的区域 , 导致实际上包含有的数据 , 因己不在查找的区域中而漏网 。 这也是很多用户在实际应用中犯的错误 , 引致查找结果不真实 。 要解决这个问题 , 我们可以利用Excel对区域引用的第二种方法:绝对参照 。 即在栏名列号前加上“$” , 这样 , 系统就不会作相对的位移 , 无论怎样拖 , 区域范围都不变 。 (在很多情况下 , 我们会使用“名称”来代替直接的区域指定方式 , 使用更为方便 。 这一内容将在其他章节中介绍)

相对参照与绝对参照的写法 , 可以让电脑作自动转换 。 方法是 , 先将当前单元格定位在要修改的单元格上 , 然后在资料编辑列 , 用鼠标涂黑(英文的说法叫Highlight)要转换的部分 , 再按“F4”即可 。 见下图:


一 让你从菜鸟成为Excel高手速来看看

文章插图


通过上图可以看出 , 能找到的 , 系统己自动填入了找到的值 , 如Apple & cherry , 对于找不到的(Plum & Pear) , 则显示#N/A 。

【一 让你从菜鸟成为Excel高手速来看看】 第二招:左右逢源(If函数)

此招用来对某一条件执行的真假值进行判断 , 根据逻辑计算的真假值 , 返回不同结果 。 如果结果为真 , 则返回一个真 , 如果为假 , 则返回另一值 , 可谓左右逢源 。

使用语法

IF(logical_test,value_if_true,value_if_false)

Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式 。 例如 , A1>=60 就是一个逻辑表达式 , 如果单元格 A1 中的值大于或等于 60 , 表达式即为 TRUE , 否则为 FALSE 。 本参数可使用任何比较运算符 。

Value_if_true logical_test 为 TRUE 时返回的值 。 例如 , 如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE , 则 IF 函数将显示文本“预算内” 。 如果 logical_test 为 TRUE 而 value_if_true 为空 , 则本参数返回 0(零) 。 如果要显示 TRUE , 则请为本参数使用逻辑值 TRUE 。 Value_if_true 也可以是其他公式 。

Value_if_false logical_test 为 FALSE 时返回的值 。 例如 , 如果本参数为文本字符串“超出预算”而且 logical_test 参数值为 FALSE , 则 IF 函数将显示文本“超出预算” 。 如果 logical_test 为 FALSE 且忽略了 Value_if_false(即 value_if_true 后没有逗号) , 则会返回逻辑值 FALSE 。 如果 logical_test 为 FALSE 且 Value_if_false 为空(即 value_if_true 后有逗号 , 并紧跟着右括号) , 则本参数返回 0(零) 。 Value_if_false 也可以是其他公式 。

推荐阅读