excel中iF语句判断相应的值,及在嵌套条件过多下,更好的利用VLOOKUP和IFS简化if判断语句的办法。
工具/原料
excel
方法/步骤
1、excel是霹葺檠溥非常强大的工具,通过一定的设定可以实现判断功能,减轻人为判断的工作量和防止出现低级的失误。if是英文“如果”的意思芟坳葩津,通过if可以返回true(对)或者false(错),或者可以返回为空。IF语句非常强大,其构成了许多电子表格模型的基础,但也是导致许多电子表格问题的根本原因。理想情况下,IF语句应适用于最小条件(例如Male/Female和Yes/No/Maybe),但是对更复杂情况求值时则需要同时嵌套几个以上的IF函数。(Excel新版本允许嵌套最多64个不同的IF函数,但要正确地构建多个IF语句需要花大量心思,并要确保其逻辑在直至结尾的每个条件下都能计算正确。还要反复检查是否出现漏洞,造成阅读不适。)现在我们来了解一下如何使用多个IF正确创建一个复杂的嵌套IF语句,首先我们已比较常见的学生评分标准为例,简单的判断逻辑为:1.如果TestScore(单元格D2)大于89,则学生获得A2.如果TestScore大于79,则学生获得B3.如果TestScore大于69,则学生获得C4.如果TestScore大于59,则学生获得D5.否则,学生获得F则IF语句为:=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))这个具体示例比较安全,因为考试成绩和字母等级之间的相关性不可能改变,所以不需要太多维护。但想想-如果需要在A+、A和A-等等之间划分成绩应该怎么办?现在IF语句包含4个条件,需要将其重写为包含12个条件!公式如下所示:=IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-",IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))该公式仍具有准确的功能并按预期工作,但需要花很长时间编写并花更长时间进行测试,才能确保该公式可完成所需操作。另一个明显的问题是必须手动输入分数和等效字母等级。不小心输错字的几率是多少?想象一下,需要使用更复杂的条件64次!当然这是可能实现的,但你真的想给自己带来这种麻烦和难以察觉的可能错误吗?
2、下面再举一个十分常见的示例:根据销售额等级计算销售佣金如果业绩大于15,000则返回20%,如果业绩大于12,500则返回17.5%等等…=IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))虽然该公式与前面的“成绩”示例非常相似,但它很好地说明了维护大型IF语句的难度-如果组织决定增加新的薪酬等级,甚至改变现有美元或百分比值,那么你需要做些什么?必须手动完成大量工作!提示:为了使长公式更易于阅读,可在编辑栏中插入换行符。只需在将文本换到新行前按Alt+Enter。
3、下面是一个包含混乱逻辑造成错误的佣金方案示例:D9中的公式顺序颠倒,变为=IF(C9>5000,10%,IF(C9>7500,12.5%,IF(C9>10000,15%,IF(C9>12500,17.5%,IF(C9>15000,20%,0)))))发现问题了吗?此示例采用自下而上(从5,000美元到15,000美元)因为公式无法通过对任何超过5,000美元的值的第一次求值。假设销售额为12,500美元-IF语句将返回10%,因为该值大于5,000美元,所以公式将在第一次判断后停止。
4、此类问题很严重,因为在许多情况下,此类错误容易被忽视,直到产生负面影响才会被发现。既然知道复杂嵌套IF语句具有严重缺陷,你能做些什么?在大多数情况下,可使用VLOOKUP函数,而不是使用IF函数构建复杂公式。若要使用VLOOKUP,首先需要创建一个引用表:=VLOOKUP(C2,C5:D17,2,TRUE)
5、此公式表示在C5:C17区域中查找C2的值。如果找到值,则从D谱驸扌溺列的同一行返回相应值。单元格C9中的公式为=VLOOKUP(B9,B2:C6,2,TRUE)=V讣嘬铮篌LOOKUP(B9,B2:C6,2,TRUE)类似地,此公式将在B2:B22区域中查找单元格B9的值。如果找到值,则从C列的同一行返回相应值。注意:这两个VLOOKUP公式在公式末尾使用TRUE参数,这表示需要它们查找适当的匹配项。也就是说,它将匹配查找表中的精确值以及范围内的任何值。在这种情况下,查找表需要按升序排序(从小到大)。此处介绍了VLOOKUP的更多详细信息,VLOOKUP肯定比一个12级的复杂嵌套IF语句简单得多!还有其他一些不太明显的优点:VLOOKUP引用表是开放的,易于查看。条件更改后,可轻松更新表值,无需更改公式。如果不希望他人查看或更改引用表,只需将其置于其他工作表。
6、最后,新版本的excel支持更简单的IFS语句,可以大大简化IF判断,方式如下:对于最初的包含4个嵌套IF函数的成绩示例:=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))可使用单个IFS函数使其变得更简洁:=IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")IFS函数十分有用,因为无需担心所有这些IF语句和括号带来的麻烦。