嵌套函数IF与VLOOKUP该使用哪一个? excel中IF与VLOOKUP函数区别

在 Excel 中 IF 和 VLOOKUP 都是很常用的函数,它们都可以在指定的条件下返回需要的结果。当你不确定使用哪一个时,告诉你一个好的方法—看完全文。
本文通过两个示例说明在哪种情况下用嵌套 IF 或是 VLOOKUP。
示例 1
例如,我们要根据卖家的销售额来找出对应的佣金比例,为此单独创建了一个佣金比例表(见下图)。
其中,第一列是按销售额划分的区间,每个区间对应的不同的佣金比例。第二列销售额是每个区间的最低下限,也就是说,只有销售额大于最低下限才能享受对应的佣金比例。还有一点比较重要,就是设置的区间参数要有顺序,要按从低到高排序(如下图)。
使用嵌套 IF 公式如下:
=IF(C3>200,10%,IF(C3>100,7%,IF(C3>50,5%,IF(C3>1,3%,""))))
公式中并没有引用佣金比例表中的数据,而是直接输入了销售额及佣金比例。如果要直接引用应把公式写成:
=IF(C3>$G$6,$H$6,IF(C3>$G$5,$H$5,IF(C3>$G$4,$H$4,IF(C3>$G$3,$H$3,""))))
这样编写公式的好处是当调整销售额区间或佣金比例时不用再修改公式了。
这里你会发现上面公式用 IF 函数是从高到低来判断的,即先判断大于 200的销售额然后逐级递减,而不是像佣金比例表中的由低到高的顺序。如果按与比例表中相同顺序编写公式,结果会出现错误,具体原因请阅读:Excel中的嵌套 IF – 具有多个条件的公式
使用 VLOOPUP 函数公式如下:
=VLOOKUP(C3,$G$3:$H$6,2,TRUE )
其中:
- C3 是要查找的值,也就是示例中的销售额
- $G H$6 是查找的返回值所在区域,是佣金比例表的第二和第三列
- 2 是查找区域的第二列,也就是返回佣金比例所在的列
- 最后一个参数设置为 TRUE(可省略),是让 VLOOKUP 查找近似匹配
这里要注意,使用近似匹配查找,查找区域的第一列必须按升序(从低到高)排列。这也是为什么开始设置佣金比例参数是要按从低到高排序了。
示例 1 的结论
首先,当只有一个条件时(如只根据销售额),使用 VLOOKUP 更容易编写公式,且比嵌套 IF 公式短很多,也更便于阅读。其次,如果在佣金结构中添加或删除一个层级,虽然这是表中的简单操作,但对于嵌套的 IF 公式来说,它要复杂得多。因此,这里使用 VLOOKUP 的优势很明显。
示例 2
例如,要根据测量的血压情况来确定血压水平的级别。下图中,上边的表是测量血压的数据,下面的表是分级表,其中后两列是对血压值的定义及分级。前三列是为了编写计算公式而特别添加的参数。
计算血压分级的逻辑是,“正常”级别是同时满足高压(收缩压)<140,低压(舒张压)<90;其余 3 个级别都是满足其中一项条件,就可确定为对应的级别。如高压 145,低压 80,高压值 145 在 1 级的收缩压 140~159 范围内,就确定为 1 级。
因此根据上图的条件,用嵌套 IF 编写的公式如下:
=IF(OR(E3>=180,F3>=110),"3级",IF(OR(E3>=160,F3>=100),"2级",IF(OR(E3>=140,F3>=90),"1级",IF(OR(E3>=120,F3>=80),"正常高值","正常"))))
通过使用 OR 函数,可以在每个 IF 函数的判断两个或多个不同的条件,如果其中一个 OR 参数的计算结果为 TRUE,则返回 TRUE。
从高到低的顺序检查 3-1 级,剩下的就都是正常级别。
再来看下用 VLOOKUP 的公式
=VLOOKUP(MAX(VLOOKUP(E3,$J$3:$L$7,3),VLOOKUP(F3,$K$3:$L$7,2)),$L$3:$M$7,2,FALSE)
先用两个 VLOOKUP 分别查找近似匹配高、低压对应的编号,借助 MAX 函数返回两个编号中最大数值的编号,最外层 VLOOKUP 的查找精确匹配编号,并返回对应的分级。
示例 2 的结论
首先,当有两个条件时,在编写公式的难易程度上用嵌套 IF 要比 VLOOKUP 更容易些,且更符合逻辑。其次,嵌套 IF 语句不需要辅助参数就可完成公式,而 VLOOKUP 需要提前设置好辅助参数。因此,这里使用嵌套的 IF 语句要更灵活。
总结
当仅一个条件时,应当使用 VLOOKUP
在两个或更多条件时,可考虑嵌套 IF 语句(在没有更好的替代方案时)
这个是血压跟踪表的全貌,其中状态一列是使用的嵌套 IF 语句。如果对这方面有需要的可以做下参考。(里面的血压数据是函数随机生成的,别当真的哦)
相关文章
Excel中的嵌套IF函数怎么用? 具有多个条件的公式IF用法
嵌套 IF 语句的最大优点是,它可以在一个公式中检查多个条件,并根据这些检查的结果返回不同的值,该怎么使用?详细请看下文介绍2025-01-18INDIRECT函数用过吗? 文本引用转换神器Excel INDIRECT函数详解
文本引用转换神器INDIRECT函数你用过吗?Excel 中的 INDIRECT 函数是将文本字符串转换为有效的引用,并立即对引用进行计算,显示其内容,下面我们就来看看详细使用方法2025-01-17看完这篇XLOOKUP算是通透了! 7个excel XLOOKUP函数的用法合集
我们工作中经常会用到查找函数,今天给大家讲解7种XLOOKUP常见的用法,学会这篇,对于XLOOKUP就了解通透了2025-01-17- Excel 2024新增的EXPAND函数,用于将数组扩展到指定的行和列尺寸,并指定填充值,下面我们就来看看新函数EXPAND的用法2025-01-15
你真的了解IF函数吗? 一文读懂excel中IF函数的深度解析
在Excel的众多函数中,IF函数无疑是最基础也是应用最广泛的一个,但是很多人都不懂if函数,下面我们深度解析一下2025-01-10看完这一篇XLOOKUP算是通透了! excel中XLOOKUP函数经典用法总结
excel中Xlookup公式可以轻松解决我们工作中的各种查找匹配问题,今天总结了12个XLOOKUP函数经典用法,可以直接套用2025-01-10excel怎么快速提取字符? excel表格仅提取字符的几种函数公式
excel表格有文字、数字、字符,想要快速将字符提取出来,有哪些函数公式可以实现呢?详细请看下文介绍2025-01-10- 说到函数MAX和MIN了基本应用,你们可能还不知道函数MAX和MIN还有一些不一样的应用技巧,详细请看下文介绍2025-01-05
数据分析入门! Excel中min和max函数那些鲜为人知的用法
在EXCEL表格中,MAX函数是求取最大值的,MIN函数是求取最小值的,但今天,我们重点来看看函数MAX和MIN具体都有哪些让人意想不到的应用技巧2025-01-03- Excel表格中实现跨数据表求和的方法很多,今天我们就来看看indirect函数的用法,详细请看下文实例教程2025-01-03
最新评论