EXCEL中嵌套函数的设计思路
1. 嵌套函数的层级限制
在EXCEL中,有400多个函数可供使用。有些需求可以通过单一函数完成,比如求和可以使用SUM函数。然而,对于大多数需求来说,单一函数是无法满足的,需要将多个函数组合起来使用才能实现目标。
在EXCEL中,为了达到某种目的,常常需要多个函数一起使用,其中某个或一些函数的结果作为另一个函数的参数,并且这个函数又可能作为其他函数的参数,就这样一层一层地设计出公式,这种用法称为嵌套。
根据EXCEL版本不同,嵌套函数的允许层数也不同。在2003版及以前,最多只能嵌套7层;而之后的版本允许最多64层嵌套。超过7层嵌套的公式相对较常见,但达到64层嵌套的几乎看不到,一般嵌套得比较多的情况也只有十几层。
2. 嵌套函数的参数匹配
嵌套函数是以某个函数的结果作为另一个函数的参数,因此这个结果必须满足另一个函数的参数类型,否则会出错。例如,如果要返回单价,VLOOKUP函数的第三个参数应该使用2,但如果使用COLUMN(A:A)作为参数时,结果为1,与预期的单价不符。
要解决这个问题,可以将第三个参数改为COLUMN(B:B),即将公式修改为:VLOOKUP(D2,A:B,COLUMN(B:B),0),这样就可以得到正确的结果。
3. 嵌套函数的编辑方式
编辑嵌套函数可以从外向内或者从内向外进行,也可以结合两种方式。最常见和简单的嵌套函数之一是IF函数的嵌套。例如,如果要将A列的分数改成等级,当分数小于60时返回"不及格",大于等于60小于80时返回"及格",大于等于80小于90时返回"良",大于等于90时返回"优",可以使用IF函数来实现。
首先判断第一层条件,即分数是否小于60,小于60则返回"不及格",否则继续判断下一层条件,即分数是否小于80,在此范围内返回"及格",否则继续判断下一层条件,以此类推。公式如下:
IF(A2<60,"不及格",IF(A2<80,"及格",IF(A2<90,"良","优")))
利用多层嵌套函数完成公式的设计,并且可以向下填充应用于其他单元格。
4. 提取特定数据的嵌套函数
举例来说,假设现在的销售记录是记在一个单元格内,需要将每种水果的销售数量提取出来,这里以"香蕉"为例。
由于在表中每天的销售中,各种水果的销售量和销售品种都不固定,无法统一从某个字符开始提取。因此,我们首先需要判断当天销售中是否有"香蕉"这个品种,如果有再提取数量,没有则返回空值或0。因此,首先判断是否有"香蕉",可以使用FIND函数来实现:
FIND(C$1,$B2)
为了方便提取其他水果的数量,在公式中使用了绝对引用符"$"进行限定,公式可以向右向下填充。
如果无法找到"香蕉",公式会返回错误值。为了顺利编写公式,可以先选择一个已知包含"香蕉"的单元格编写公式,暂时忽略错误值。然后再完善公式,确定从哪个位置开始提取字符。
例如,公式中的5是一个临时数字代用的:
MID(B2,FIND(C$1,$B2) 3,5)
然后根据实际情况确定需要提取多少个字符。在表中可以看到,需要提取的数量位于":"和","之间的数字。因此,需要先判断","的位置才能确定要提取多少个字符。为了不影响原公式,我们可以在旁边的辅助列中先进行判断,然后将这部分公式复制到原公式中。
使用FIND函数来查找","的位置并得到结果。由于单元格中可能有多个",",这里返回的是第一个","出现的位置。因此,需要从"香蕉"后面开始查找,这就需要嵌套F
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。