ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 832|回复: 3

[原创] IF函数多层嵌套使用中的“假值替换法”

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-3-22 16:02 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
下面我们用一个IF函数多层嵌套的成绩判断案例来讲解传统方法和“假值替换法”之间的区别和优缺点。案例如下:请根据某班英语成绩表和等级说明表,判断该班同学的英语分数并返回对应的成绩等级。表内容(图1)如下:

图片1

图片1
图1
1题目分析
通过对成绩表和登记说明表的分析,我们初步得出本题需要用到三层的IF函数进行嵌套使用,简单的说我们需要在公式中使用三个IF函数。
2传统方法
这里,我们先用传统的手写方法来操作。以下是一种比较便捷的传统方法(结构搭建):切换到英文输入法,先按照用法结构手写(或调用函数窗口)第一层IF函数,然后在假值参数处手写第二层IF函数结构,第二层IF完成以后继续在假值处手写第三层IF结构,如:=IF(E3>=90,"A",IF(,,IF(,,))),结构搭建完成后再按说明要求依次书写表达式和返回值。其中,公式涉及的符号内容均手写完成,包括“IF”、逗号“,”、大于等于符号“>=”和括号“()”,以及英文双引号“"”。

图片2

图片2
2
正如前文说的,传统方法嵌套操作书写完成后特别容易出现错误的情况,因为涉及手动输入的符号太多。如果完成后显示错误,还要重新检查修改。这对使用人员的函数水平要求较高,使用人员必须熟悉IF函数结构及各种符号的输入。所以,IF函数嵌套对于一般人来说很难掌握,即使是先搭建嵌套结构,也是很困难的。
3假值替换法
传统方法讲完,我们进入正题:假值替换法。所谓“假值替换法”,不明思议就是将假值参数替换的方法。以下是它的操作步骤。
1)调用函数窗口
在等级的第一个单元格调用IF函数参数窗口,完成第一层IF,其中假值参数用X代替,即:“=IF(E3>=90,"A","X")”。
2)假值替换
双击刚才完成的等级单元格,复制第一步中的“IF(E3>=90,"A","X")”,再选中假值参数“"X"”,执行粘贴操作,完成后为:“=IF(E3>=90,"A",IF(E3>=90,"A","X"))”。
3)修改条件及返回值
修改第二层IF中的条件和返回值(即分数和等级),完成第二个条件判断,即:“=IF(E3>=90,"A",IF(E3>=75,"B","X"))”。
重复前面的步骤继续将假值参数“"X"”替换成“IF(E3>=90,"A","X")”,修改分数及等级后最后完成的公式为:“=IF(E3>=90,"A",IF(E3>=75,"B",IF(E3>=60,"C","D")))”。
用假值替换法完成嵌套后,你会发现它比传统方法难度要小很多。使用人员在整个过程中,不需要去手动输入那些复杂的符号,只需执行几个复制粘贴然后简单的修改一下条件和返回值就可以完成IF的多层嵌套操作。

TA的精华主题

TA的得分主题

发表于 2022-3-22 19:34 | 显示全部楼层
=TEXT(TEXT(B2,"[>=90]A;[<60]!D;0"),"[>=75]B;[>=60]C;D")

TA的精华主题

TA的得分主题

发表于 2022-3-22 19:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=TEXT(TEXT(B2,"[>=90]A;[<60]!D;0"),"[>=75]!B;[>=60]C;D")
刚才没验算,有错。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-3-24 11:43 | 显示全部楼层
博爱风雨同舟 发表于 2022-3-22 19:41
=TEXT(TEXT(B2,"[>=90]A;[=75]!B;[>=60]C;D")
刚才没验算,有错。

这个做法属于厉害选手了、其实我上面的目的是说:通过复制再修改参数的方法来操作比一般的手动输入来得更快
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 01:18 , Processed in 0.036067 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表