从本质上讲,逻辑函数是进行逻辑判断并作出响应的函数。因此,逻辑函数大多应用于以下几种情况:(1)基于数据表中的某个值,返回另一个值的选择;(2)多条件判断的连接(AND,OR,NOT);(3)错误处理。
1.AND( )、OR( )和NOT( )函数
用途:Excel用AND( )函数、OR( )函数和NOT( )函数可以实现基本的逻辑判断。AND( )函数和OR( )函数的参数为多个布尔值,可以获得“与”和“或”运算;NOT( )函数对某一布尔值求“非”。
用法:AND(logical1, [logical2], ...); OR(logical1, [logical2], ...); NOT(logical)
说明:
图15-42 AND( )、OR( )和NOT( )函数操作示例
Excel以0(阿拉伯数字零)为逻辑不成立(显示为“FALSE”),以1为逻辑成立(显示为“TRUE”)。因此,图15-42示例中的所有“FALSE”都可替换为0,所有“TRUE”都可替换为1。如果把数值转化为布尔值,则所有的非零数值都表示“TRUE”。
图15-42示例中的所有单元格的格式都为“常规”。
2.IF( )、IFS( )函数
图15-43 IF( )函数示例
用途:用于根据不同的条件,返回不同的值。IFS( )函数为Excel 2016及以后的版本引入的函数。
一般而言,根据某种条件作出某种选择是日常工作的常态,也是计算机程序要处理的最重要的任务之一。利用对某一条件进行的判断来获得不同的值,是一种最基本的选择性操作。Excel中的IF( )函数和IFS( )函数正是执行这种操作的实用工具。因此,IF( )函数和IFS( )函数在Excel函数应用中非常重要。
用法:IF(logical_test, [value_if_true], [value_if_false]); IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
说明:
IF( )函数当条件为真时,返回第二个参数;当条件为假时,返回第三个参数。两个返回值选填,不填时即不返回值。
图15-44 IF( )函数的嵌套
IF( )函数可以嵌套,进行“多段判断—返回赋值”,例如:
=IF(C3<60,"不及格",IF(C3<80,"中等",IF(C3<90,"良好",IF(C3>=90,"优秀"))))
其代码的逻辑并不复杂,即“成绩—结果”,其判断依据如表15-7所示:(www.xing528.com)
表15-7 “成绩—结果”判断依据
“成绩”作为判断值被放在C列的各单元格中,而“结果”作为返回的赋值被放在D列的对应单元格中。IF( )函数对C列各单元格的成绩进行判断,然后基于不同的成绩返回不同的结果,给D列的对应单元格赋值。
在Excel中,要正确录入这样的长公式需要一点的技巧:可以在公式中间插入换行符。即编写到适当位置时,只需按快捷组合键“Alt+Enter”,公式即可换行。换行后的公式更加容易对齐和阅读,而且这样编辑出来的公式也能够正常运行。
实 用 技 巧
Excel编辑框的大小(指高低)是可调的:只需用鼠标指针接触编辑框的下沿,等到鼠标指针变为可调整的上下空心箭头后,按住鼠标进行拖拉即可。调高以后的编辑框,可以在其中方便地录入可插入换行符的长公式。
IF( )函数“多段判断—返回赋值”的模式被广泛用于佣金控制、折扣比例控制等实际应用之中。实际上,这些应用需求也可用VLOOKUP( )函数的近似匹配来实现。
IF( )函数与其他函数联合使用的情况,大都被融合进了其他函数的“*IF”或“*IFS”形式之中,例如SUMIF( )函数和SUMIFS( )函数等。
Excel 2019及Microsoft 365引入了IFS( )函数。一方面,是为了简化IF( )函数的多层嵌套;另一方面,也可以获得多条件的应用。如果运用IFS( )函数,上文的公式则变为:
=IFS(C3<60,"不及格",C3<80,"中等",C3<90,"良好",C3>=90,"优秀")
3.IFERROR( )、IFNA( )函数
用途:用于截获并处理函数(公式)错误。
IFERROR( )函数截获并处理各种错误,IFNA( )函数只截获处理“#N/A”错误。IFNA( )函数为Office 2016以后的版本引入的函数。
用法:IFERROR(value, value_if_error); IFNA(value, value_if_na)
说明:
图15-45 IFERROR( )函数示例
在Excel公式中,主要的错误类型包括:“#N/A”“#VALUE!”“#REF!”“#DIV/0!”“#NUM!”“#NAME?”以及“#NULL!”,分别代表的错误为:未找到数据、数据类型错误、引用错误、被零除错误、公式或函数中包含无效数值、函数名称错误(无此函数)以及单元格区域不正确。
Excel的这种“预先”式的错误捕捉方法实属无奈,因为Excel本身是操作型的办公软件。公式在计算后即使有错,Excel也只是会给出错误提示并与操作者进行交互。例如,在发生引用错误时,Excel会及时提示操作者。这种错误处理方式导致操作者不可能在通过获得错误代码后主动处理错误,更何况在工作中更不可能给所有的函数都加一个IFERROR的“外衣”。所以,Excel的错误截获函数并不像编程系统中的错误截获机制与处理那么重要。Excel在给出错误提示时就已经进行了错误处理,例如,即使遇到了被零除的情况,Excel在给出报告后仍然正常运行。因此,在计算中如果出现系统报错,我们只要循着错误代码去做适当调整即可。
IFNA( )函数与IFERROR( )函数的功能类似,因此不再赘述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。