搜索
首页专题excelexcel嵌套if语句 - 示例,最佳实践和替代方案

本教程说明了如何在Excel中使用嵌套的嵌套来检查多个条件。您还将学习其他一些功能,这些功能可能是在Excel中使用嵌套公式的好替代方法。

您通常如何在Excel工作表中实现决策逻辑?在大多数情况下,您将使用IF公式测试您的状况并在满足条件时返回一个值,如果未满足条件,则另一个值。为了评估多个条件并根据结果返回不同的值,您可以在彼此之间嵌套多个IF。

尽管非常受欢迎,但嵌套语句不是检查Excel中多个条件的唯一方法。在本教程中,您会发现一些绝对值得探索的替代方案。

excel嵌套如果语句

这是以通用形式嵌套的经典excel:

if(条件1结果1 ,if(条件2result2 ,if( condition3result3result4 )))))))))

您可以看到,如果函数嵌入到上一个函数的value_if_false参数中,则每个后续词。每个函数都包含在其自身的括号集中,但是所有关闭括号都在公式的末尾。

我们的通用嵌套如果公式评估3个条件,并返回4个不同的结果(如果条件不正确,则返回4)。如果语句告诉Excel进行以下操作:

测试条件1 ,如果为true-返回结果1 ,如果false -test条件2 ,如果为true -return r esult2 ,if false -test条件3 ,如果true -true -return -return result3 ,如果false -return result4

例如,让我们根据他们的销售量来找出许多卖家的佣金:

委员会 销售量
3% $ 1- $ 50
5% $ 51- $ 100
7% $ 101- $ 150
10% 超过$ 150

在数学中,更改附加的顺序不会更改总和。在Excel中,更改函数的顺序会改变结果。为什么?因为嵌套的如果公式返回与第一个真实条件相对应的值。因此,在您的嵌套if语句中,根据公式的逻辑,将条件排列在正确的方向上 - 高到低或低到高。在我们的情况下,我们首先检查“最高”状况,然后检查“第二高”,依此类推:

=IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))

excel嵌套if语句 - 示例,最佳实践和替代方案

如果我们从自下而上的情况下将条件放在相反的顺序中,结果将是错误的,因为我们的公式将在第一个逻辑测试(B2> = 1)之后停止,任何值大于1。例如,我们的销售额为100美元 - 大于1,因此该公式不会检查其他条件并结果返回3%。

如果您宁愿将条件从低到高排列,请首先使用“少于“操作员”并评估“最低”状况,然后使用“第二个最低”,依此类推:

=IF($B2

如您所见,要构建嵌套if语句的逻辑一直到末尾,需要进行很多思考。而且,尽管Microsoft Excel允许在一个公式中功能最多嵌套64个,但这不是您在工作表中真正想做的事情。因此,如果您(或其他人)凝视着您的excel嵌套,如果公式试图弄清楚它的实际功能,那么该重新考虑您的策略并可能在您的武器库中选择其他工具了。

有关更多信息,请参阅excel nested If语句。

如果有或/和条件嵌套

如果您需要评估几组不同的条件,则可以使用或功能表达这些条件,然后将功能嵌套在IF语句中,然后将IF语句彼此嵌套。

嵌套在Excel中或语句中

通过使用或函数,您可以在每个功能的逻辑测试中检查两个或更多不同的条件,如果有(至少一个)或参数评估为true,则返回true。要查看实际工作原理,请考虑以下示例。

假设您有两列销售,例如1月在B列中的销售额和C列的2月销售额。换句话说,您建立一个具有以下逻辑的公式:如果Jan或2月的销售额大于150美元,则卖方获得10%的佣金,如果Jan或2月的销售大于或等于101美元,则卖方获得7%的佣金,等等。

要完成它,请编写一些语句,例如或(B2> 150,C2> 150),然后将它们嵌套到上面讨论的IF函数的逻辑测试中。结果,您将获得此公式:

=IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))

并根据较高的销售额分配委员会:

excel嵌套if语句 - 示例,最佳实践和替代方案

有关更多公式的示例,请参阅excel if if或convate。

嵌套在Excel和语句中

如果您的逻辑测试包括多种条件,并且所有这些条件都应评估为true,请使用和功能表达它们。

例如,要根据销售量较低的佣金分配佣金,请采取上述公式并替换或用和语句。换句话说,您告诉Excel仅当Jan和Feb的销售额大于150美元,如果Jan和2月的销售额大于或等于101美元,则返回10%,依此类推。

=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))

结果,如果公式根据B和C列中的较低数量计算佣金。

excel嵌套if语句 - 示例,最佳实践和替代方案

如果您想返回0%而不是空白单元格,请用0%替换最后一个参数中的一个空字符串('''):

=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))

excel嵌套if语句 - 示例,最佳实践和替代方案

可以在此处找到更多信息:如果有多个和/或条件,则表现出色。

vlookup而不是嵌套如果在Excel中

当您处理“比例”时,即覆盖整个范围的数值的连续范围,在大多数情况下,您可以使用vlookup函数而不是嵌套IF。

对于初学者,制作一个参考表,如下面的屏幕快照所示。然后,构建具有近似匹配的Vlookup公式,即将range_lookup参数设置为true。

假设查找值在B2中,并且参考表为f2:g5,则公式如下:

=VLOOKUP(B2,$F$2:$G$5,2,TRUE)

请注意,我们使用绝对参考($ f $ 2:$ g $ 5)修复了Table_array ,以正确复制到其他单元格:

excel嵌套if语句 - 示例,最佳实践和替代方案

通过将Vookup公式的最后一个参数设置为True,您可以告诉Excel搜索最接近的匹配项- 如果找不到确切的匹配项,请返回下一个小于查找值的最大值。结果,您的公式不仅将匹配查找表中的确切值,还将匹配介于两者之间的任何值。

例如,B3中的查找值为$ 95。该数字在查找表中不存在,在这种情况下,具有精确匹配的Vlookup将返回#N/A错误。但是,具有近似匹配的Vlookup继续进行搜索,直到找到小于查找值的最近值(在我们的示例中为$ 50),并从同一行中的第二列返回一个值(为5%)。

但是,如果查找值小于查找表中的最小数字,或者查找单元格是空的?在这种情况下,Vlookup公式将返回#N/A错误。如果不是您真正想要的,则在未找到查找值时嵌套vlookup在IFERROR内部并向输出提供值。例如:

=IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")

重要说明!对于具有近似匹配的vlookup公式可以正常工作,必须按升序排序查找表中的第一列,从最小到最大。

有关更多信息,请参阅确切的匹配vlookup vs.近似匹配vlookup。

IFS语句作为嵌套的替代

在Excel 2016及以后的版本中,Microsoft引入了一个特殊功能,以评估多种条件 - IFS功能。

一个IFS公式最多可以处理127个逻辑_test / value_if_true对,以及第一个评估对true“ wins”的逻辑测试:

ifs(logical_test1,value_if_true1,[logical_test2,value_if_true2] ...)...)

根据上述语法,如果可以以这种方式重建公式,则我们的嵌套是:

=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)

请注意,如果未满足指定条件,则IFS功能将返回#N/A错误。为了避免这种情况,您可以在公式的末尾添加一个logical_test / value_true ,它将返回0或空字符串(“”)或您想要的任何值,如果以前的逻辑测试都不是正确的:

=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")

结果,如果B列中的相应单元格为空或包含文本或负数,则我们的公式将返回一个空字符串(空白单元),而不是#N/A错误。

excel嵌套if语句 - 示例,最佳实践和替代方案

笔记。像嵌套IF一样,Excel的IFS函数返回与评估为true的第一个条件相对应的值,这就是为什么IFS公式中逻辑测试的顺序很重要的原因。

有关更多信息,请参阅Excel IFS功能而不是嵌套IF。

选择代替嵌套如果在Excel中的公式

Excel中单个公式中测试多个条件的另一种方法是使用“选择函数”,该功能旨在根据该值的位置从列表中返回值。

应用于我们的样本数据集,该公式采用以下形状:

=CHOOSE((B2>=1) (B2>=51) (B2>=101) (B2>150), 3%, 5%, 7%, 10%)

在第一个参数( index_num )中,您可以评估所有条件并添加结果。鉴于True等于1,然后false为0,因此您可以计算返回值的位置。

例如,B2中的值为$ 150。对于此值,前三个条件是正确的,最后一个条件(B2> 150)为假。因此, index_num等于3,这意味着返回第三个值,为7%。

excel嵌套if语句 - 示例,最佳实践和替代方案

提示。如果逻辑测试都不是正确的,则index_num等于0,公式将返回#value!错误。一个简单的修复程序是在IFERROR函数中包装选择:

=IFERROR(CHOOSE((B2>=1) (B2>=51) (B2>=101) (B2>150), 3%, 5%, 7%, 10%), "")

有关更多信息,请参阅Excel选择具有公式示例的功能。

如果在Excel中,开关功能是嵌套的简洁形式

在处理固定的预定义值的情况下,而不是比例时,开关函数可以是if语句的复杂嵌套的紧凑型替代方案:

switch(expression,value1,result1,value2,result2,…,[默认])

开关函数可根据列表评估表达式,并返回对应于第一个发现匹配的结果

如果您想根据以下等级而不是销售量来计算佣金,则可以在Excel中使用此紧凑版的嵌套版本:

=SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")

或者,您可以制作一个参考表,如下面的屏幕截图中所示,并使用单元格引用而不是硬编码值:

=SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")

请注意,除了第一个带有$符号的引用以外,我们锁定所有参考,以防止它们在将公式复制到其他单元格时更改:

excel嵌套if语句 - 示例,最佳实践和替代方案

笔记。 Switch功能仅在Excel 2016及更高版本中可用。

有关更多信息,请参阅Switch功能 - 嵌套IF语句的紧凑形式。

在Excel中函数串联多个

如上一个示例中所述,仅在Excel 2016中引入了开关功能。要处理较旧的Excel版本中的类似任务,您可以通过使用Convatenate Operator(&)或CondateNate功能组合两个或更多IF语句。

例如:

=(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

或者

=CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

excel嵌套if语句 - 示例,最佳实践和替代方案

您可能已经注意到,我们在两个公式中将结果乘以1。这样做是为了将Concatenate公式返回的字符串转换为一个数字。如果您的预期输出是文本,则不需要乘法操作。

有关更多信息,请参阅Excel中的Concatenate功能。

您会看到Microsoft Excel提供了一些嵌套的好替代方案,如果公式,希望本教程为您提供了一些有关如何在工作表中利用它们的线索。要仔细查看本教程中讨论的示例,欢迎您下面下载我们的示例工作簿。我感谢您阅读,并希望下周在我们的博客上见到您!

练习工作簿下载

excel嵌套if语句 - 示例(.xlsx文件)

以上是excel嵌套if语句 - 示例,最佳实践和替代方案的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Excel中的中位公式 - 实际示例Excel中的中位公式 - 实际示例Apr 11, 2025 pm 12:08 PM

本教程解释了如何使用中位功能计算Excel中数值数据中位数。 中位数是中心趋势的关键度量

Google电子表格Countif函数带有公式示例Google电子表格Countif函数带有公式示例Apr 11, 2025 pm 12:03 PM

Google主张Countif:综合指南 本指南探讨了Google表中的多功能Countif函数,展示了其超出简单单元格计数的应用程序。 我们将介绍从精确和部分比赛到Han的各种情况

Excel共享工作簿:如何为多个用户共享Excel文件Excel共享工作簿:如何为多个用户共享Excel文件Apr 11, 2025 am 11:58 AM

本教程提供了共享Excel工作簿,涵盖各种方法,访问控制和冲突解决方案的综合指南。 现代Excel版本(2010年,2013年,2016年及以后)简化了协作编辑,消除了M的需求

如何将Excel转换为JPG-保存.xls或.xlsx作为图像文件如何将Excel转换为JPG-保存.xls或.xlsx作为图像文件Apr 11, 2025 am 11:31 AM

本教程探讨了将.xls文件转换为.jpg映像的各种方法,包括内置的Windows工具和免费的在线转换器。 需要创建演示文稿,安全共享电子表格数据或设计文档吗?转换哟

excel名称和命名范围:如何定义和使用公式excel名称和命名范围:如何定义和使用公式Apr 11, 2025 am 11:13 AM

本教程阐明了Excel名称的功能,并演示了如何定义单元格,范围,常数或公式的名称。 它还涵盖编辑,过滤和删除定义的名称。 Excel名称虽然非常有用,但通常是泛滥的

标准偏差Excel:功能和公式示例标准偏差Excel:功能和公式示例Apr 11, 2025 am 11:01 AM

本教程阐明了平均值的标准偏差和标准误差之间的区别,指导您掌握标准偏差计算的最佳Excel函数。 在描述性统计中,平均值和标准偏差为interinsi

Excel中的平方根:SQRT功能和其他方式Excel中的平方根:SQRT功能和其他方式Apr 11, 2025 am 10:34 AM

该Excel教程演示了如何计算正方根和n根。 找到平方根是常见的数学操作,Excel提供了几种方法。 计算Excel中正方根的方法: 使用SQRT函数:

Google表基础知识:了解如何使用Google电子表格Google表基础知识:了解如何使用Google电子表格Apr 11, 2025 am 10:23 AM

解锁Google表的力量:初学者指南 本教程介绍了Google Sheets的基础,这是MS Excel的强大而多才多艺的替代品。 了解如何轻松管理电子表格,利用关键功能并协作

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境