IF嵌套函数的使用

时间:2022-10-24 08:31:18

IF嵌套函数的使用

如果你拥有一个Excel电子表格,该表格记载着某个少年乒乓球俱乐部的球员信息,表格中的一列是这些球员的生日,另一列是所在的年龄组:13岁以下、13到14岁、15到16岁或17岁以上。根据各自的生日可以很容易地计算出所在的年龄组。不过,现在要以2005年9月1日作为截止日期计算合适的年龄组,如何计算每个球员所在的适宜年龄组呢?

一个解决办法是使用IF嵌套函数。如图1那样录入表格,球员的姓名位于A列,B列是他们的出生日期,分组参数见单元格F4到F7。E列空出来以使Excel将A列到D列识别为一个表格。在B1中输入截止日期,在本例中为2005年9月1日。

在“工具”菜单中单击“加载宏”并选中“分析工具库”,这将使YEARFRAC等外部函数可用。在单元格C4中输入:

=YEARFRAC(B4,$B$1,1)

然后将该公式向下拖拽到整个C列,则每个球员的年龄将在C列中,保留小数点后三位有效数字。这样你就可以对Excel的分类结果进行核对,以确保每个球员都分在合适的分组中。在单元格D4中键入:

=IF(C4>=17,$F$7,IF(C4>=15, $F$6,IF(C4>=13,$F$5,IF(C4

该公式的意思是:如果单元格C4中的年龄值大于或等于17,则该单元格显示F7中的内容为“17 and over”;如果该值小于17且大于或等于15,则该单元格显示F6中的内容为“15 and 16”;如果该值小于15且大于或等于13,则该单元格显示F5中的内容为“13 and 14”;最后,如果该值小于13,则该单元格显示F4中的内容为“Under 13”。

IF函数公式按照分组规则进行层层筛选,每一步都过滤出属于较大年龄组的队员,然后继续对剩余的球员划分档次。这里的球员姓名是按照字母顺序输入的,Excel能将这些球员按照年龄分组重新排列并计算出每个分组中有多少名球员。

点击表格中的任意位置,在“数据”菜单中选择“排序”功能,在弹出的对话框中选择以“D O B”为关键字“降序”排列,将球员按照出生日期进行排列。在“数据”菜单中单击“分类汇总”,在弹出对话框的“分类字段”栏选择“Group”,“汇总方式”选择“计数”,“选定汇总项”选择“Group”,然后选中“替换当前分类汇总”和“汇总结果显示在数据下方”两项,如图2。单击“确定”领略一下这样处理后的格式。现在你就可以生成摘要了,再次点击数据表的任意位置,执行“数据”菜单中的“组及分级显示”下的“自动建立分级显示”功能,将会得到一个整洁且可打印的结果。在左上角处有一组视图选项:1、2和3,选择视图1只显示总和;选择视图2显示每个组的分类汇总;选择视图3显示整个表格的内容,如图3。

分类信夹

假设有这样一个数据表格,该表格记录着某人曾发出过的信件的日期和数量。表格的A列是日期,该列的格式设置为简单的日期格式,例如2006-1-1。该列数据递增但不连续,因为这个人可能只在1月份的1日、12日、22日和23日发过邮件,而在下一个月份可能只在3日和17日发过邮件。

紧挨着这些日期的C列中是他所发出的第一类信件的数量,而D列和E列分别为他所发出的第二类信件和第三类信件的数量。

现在我们想制作一个小表格以显示他每个月曾发出的各类信件的总数量。如果试图使用SUMIF函数来检出属于某个月份,比如一月份的日期序列,然后对这些接近的单元格做加和计算,但这样做的结果总是返回一个零值。

Excel提供了多种方法可以完成这项任务,这里介绍其中一个合适的方法。首先制成一个像图4那样的表格,其中1月4日所发的一类信件为143封,1月5日所发的二类信件为89封、三类信件为100封等等,在单元格B2中输入:

=MONTH(A2)

并将其拖拽到整列。如果想把B列隐藏,可选择B列、点击鼠标右键并执行“隐藏”功能来实现。

在G3、G5和G7三个单元格中键入月份标签“Jan”、“Feb”和“Mar”,按住Shift键同时点击单元格B2和最后日期对应的单元格,从菜单中执行“插入”|“名称”|“定义”,命名该列为“Mth”,用同样的方法对C列、D列和E列相应地命名为:“Letter_1”、“Letter_2”和“Letter_3”。

在单元格H3中键入:

=SUMIF(Mth,1,Letter_1)

意思是对属于一月份各日期的一类信件做求和计算,将该单元格格式拖拽复制直至单元格J3。编辑单元格I3的内容为:

=SUMIF(Mth,1,Letter_2)

=SUMIF(Mth,1,Letter_3)

接下来做二月份的信件求和计算,在单元格H5中键入:

=SUMIF(Mth,2,Letter_3)

=SUMIF(Mth,3,Letter_1)

依次类推。

也可以利用Excel软件的求和、分类汇总和大纲特性。

表演记录

Excel的特别之处在于它可提供多种方法以实现数据求和。我曾在一位摄影师朋友那里见到过一种他自创的求和表格。这位朋友在他的表格中使用一个用下拉列表控制的表格统计他负责的时尚模特的演出守约程度,如图5。这种方法主要依赖单元格名称定义功能的运用,当序列以这种方式引用时,其内容可存放在同一Excel工作表文件中任意一标签页中。只需从下拉列表中点击某一模特的名字,然后该模特的出场记录的相应数据就显示在邻近的表格中了。

每个模特出工的情况都被保存下来,包括该模特的正常上班、迟到、病假、加班或请假。将记录着Candy在2004年工作情况的一列命名为“Candy4”,而Charlie在2005年的工作记录命名为“Charlie5”,依次类推。包含模特名字的单元格按逻辑应以“Models”命名。

接下来点击单元格B3,在“数据”菜单中选择“有效性”,在弹出的对话框中的“设置”标签下选择“序列”为有效性条件。

在“来源”框中键入如下内容:

=Models

选中“提供下拉箭头”,这时第一个模特的名字显示在单元格B3中。

在单元格A14中键入:

=MATCH(B3,Models,0)

MATCH函数有三个参数:第一个参数是要查找的数值;第二个参数是表示从哪个阵列中选择该值;第三个参数,在本例中是规定需要精确匹配,且查找的阵列按照任何顺序排列。因此当选择“Candy”时该单元格会显示为“1”,当选择“Charlie”时则显示为“2”。

相邻的表格使用阵列公式。选中单元格D6到D10,键入如下规则程式:

=IF(A14=1,Candy6,IF(A14=2, Charlie6,IF(A14=3,Demmi6)))

然后按Ctrl+Shift+Enter,Excel将自动加入大括号“{ }”,在上式中只包含Candy、Charlie和Demmi,如果要增加第四个模型,则程式应为:

=IF(A14=1,Candy6,IF(A14=2, Charlie6,IF(A14=3,Demmi6, IF(A14=4,Emma6))))

依次类推。该程式最多可做七层嵌套,但其中的每项都可以引用其他单元格,而被引用的单元格可以继续做IF函数嵌套。

接下去将E6到E10成为突出显示部分,键入如下规则程式:

=IF(A14=1,Candy5,IF(A14=2, Charlie5,IF(A14=3,Demmi5,IF (A14=4,Emma5))))

对于F6到F10,键入如下规则程式:

=IF(A14=1,Candy4,IF(A14=2, Charlie4,IF(A14=3,Demmi4, IF(A14=4,Emma4))))

第十一行是对各模型每年所记录的内容使用SUM函数求和得出的总数量。

上一篇:Netgear HDX101 下一篇:Guy Kewney――胳膊拧不过大腿

文档上传者