excel中if函数的详解,易犯错误及进阶使用

褶-PLEATS 工作室 2024-05-28 10:25:32
最佳回答
1excel是非常强大的工具,通过一定的设定可以实现判断功能,减轻人为判断的工作量和防止出现低级的失误。if是英文“如果”的意思,通过if可以返回true(对)或者false(错),或者可以返回为空。if 语句非常强大,其构成了许多电子表格模型的基础,但也是导致许多电子表格问题的根本原因。理想情况下,if 语句应适用于最小条件(例如 male/female 和 yes/no/maybe),但是对更复杂情况求值时则需要同时嵌套几个以上的 if 函数。(excel新版本允许嵌套最多 64 个不同的 if 函数,但要正确地构建多个 if 语句需要花大量心思,并要确保其逻辑在直至结尾的每个条件下都能计算正确。还要反复检查是否出现漏洞,造成阅读不适。)现在我们来了解一下如何使用多个 if 正确创建一个复杂的嵌套 if 语句,首先我们已比较常见的学生评分标准为例,简单的判断逻辑为:1.如果 test score(单元格 d2)大于 89,则学生获得 a2.如果 test score 大于 79,则学生获得 b3.如果 test score 大于 69,则学生获得 c4.如果 test score 大于 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。2此文章非法爬取自百度经验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)=vlookup(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 语句和括号带来的麻烦。end 20210311
汇率兑换计算器

类似问答
  • excel函数公式:excel2016 超级实用功能详解
    • 2024-05-28 00:37:30
    • 提问者: 未知
    1一、快速将二维表转置为一维表。1、效果对比图。要达到上述目的,我们可以使用excel2016的新增的“转置功能”。方法:1、选定数据源。2、【数据】-【从表格】-【确定】(如果数据源范围不合理,可在【确定】前进行调整。)。3、在打开的编辑器中,【转换】,单击【逆透视列】下的【逆透视其他列】。4、【开始】-【关闭并上载】。5、调整并美化表格。2二、利用逆透视快速拆分数据。1、效果对比图。 ...
  • excel公式函数详解:[10]abs函数介绍
    • 2024-05-28 14:34:50
    • 提问者: 未知
    1abs函数介绍。此函数非常简单,就是返回任意数值的绝对值。它的函数形式是abs(num),也就是只有一个参数。2abs函数中的那一个参数必须是实数,否则将会报错。这点很好理解,根据绝对值的定义也可以知道。如下图所示3注意事项。abs函数的参数可以是一个单元格的形式,也可以是一个具体数值的形式,其实折处理结果都是一样的。end
  • excel中的date函数如何使用?
    • 2024-05-28 23:34:08
    • 提问者: 未知
    date:返回代表特定日期的序列号。如果在输入函数前,单元格的格式为“常规”,则结果将设为日期格式。语法:date(year,month,day)year 参数 year 可以为一到四位数字。...
  • excel中if函数求**最长免息期,我写的函数哪里有问题?
    • 2024-05-28 06:16:15
    • 提问者: 未知
    提示拼写错误,可能是括号之类没对应上。系统自动纠错=if(j2>=0,day(date(year(today()),month(today())+1,0))+day(date(year(today()),month(today())+2,0))-e2+f2,day(date(year(today()),month(today())+1,0))-e2+f2)
  • 怎么使用excel公式中的lower函数
    • 2024-05-28 22:37:45
    • 提问者: 未知
    1首先打开一个excel或者wps表格,选中一个单元格并双击,输入“=lower”然后双击第一个提示lower2系统会自动输入函数名称lower和一个括号”(“3这时候还会提示现在需要输入的参数是什么,lower的参数是一个文本4我们只需要文本内容可以直接输入5转小写函数的作用就是:将文本中大写英文转小写end
  • 请教excel表格if条件函数的应用问题
    • 2024-05-28 16:12:50
    • 提问者: 未知
    你公式的的每个判断放的位置反了,excel要按照大小顺序依次判定,所以公式应该是=if(a3<100,"iic类",if(a3<300,"iib类",if(a3<800,"iia类","i类")))
  • 怎么使用excel公式中的atan函数
    • 2024-05-28 12:15:23
    • 提问者: 未知
    1首先打开一个excel或者wps表格,选中一个单元格并双击,输入“=atan”然后双击第一个提示atan2系统会自动输入函数名称atan和一个括号”(“3这时候还会提示现在需要输入的参数是什么,atan的参数是一个数值4我们只需要输入所求角度的正切值5反正切函数的作用就是:返回数字的反正切值end
  • excel fv函数的使用方法
    • 2024-05-28 13:21:42
    • 提问者: 未知
    1fv函数的功能fv 是一个财务函数,用于根据固定利率计算投资的未来值。 可以将 fv 与定期付款、固定付款或一次付清总额付款结合使用。2fv函数的语法结构fv(rate,nper,pmt,[pv],[type])参数说明:rate 各期利率nper 付款总期数pmt 各期所应支付的金额,在整个年金期间保持不变。 通常 pmt 包括本金和利息,但不包括其他费用或税款。 如果省...
  • excel中hlookup函数的使用方法
    • 2024-05-28 00:17:53
    • 提问者: 未知
    11.hlookup函数的含义当查找的值位于查找范围的首行,并且返回的值在查找范围的第几行,可以使用hlookup函数。hlookup函数vlookup函数查找的方式hlookup函数——按行查找。vlookup函数——按列查找。end
  • excel表格if函数多层嵌套的
    • 2024-05-28 11:18:29
    • 提问者: 未知
    在excel中函数套不过7级,但可以用定义的方法层的公式层级命名为名称,这可以解决函数的超过七层嵌套了。具体方法是:按"ctrl+f3"弹出定义名称对话框,将里层满足不超过七层嵌套的公式层级复制到"引用位置",并将其定义为a(当然名称楼主可以任选),然后就可以在用公式中用a替换原来的公式层级了。
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。