视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sumif的用法
2025-09-23 10:32:01 责编:小OO
文档
运用Excel三大条件函数(if,sumif,countif)解决实际问题

秋尽冬至,又到一年年终时。在工作中,数据的运算量和汇总的操作一下比平时多了不少。众所周知,在Excel中可以对数据进行各种不同的运算和汇总,今天我向大家介绍与条件相关的函数三兄弟,分别是“COUNTIF”、“SUMIF”和“IF”函数。他们有一个共同的特点——都姓字符“IF”。 

大兄弟:COUNTIF函数(计数求和)

COUNT函数,顾名思义是用来计数的,统计所选择区域的数值型单元格个数。COUNTIF是COUNT函数的引伸与拓展,在计数时加上先前条件,只有符合计数的条件才进行统计计算。比如,从员工信息表中,计算出有多少人的年龄大于35岁。

下面我们来看一个典型的分类计数汇总的例子。这里有一张销售流水记录表,每名销售人员累计做了多少“销售订单个数”呢? 

大兄弟COUNTIF正常工作需要两个参数——条件区域(本例为左侧表中“销售人员”一列)和计数条件(本例为右侧表中的人员姓名)。要计算第一位销售人员的“订单数”,很简单,输入函数公式 “=COUNTIF($C$2:$C$16,E2)”即可(见图1)。

二兄弟:SUMIF函数(条件求和)

SUM函数的作用是对数据求和,而SUMIF对它进行了引伸和拓展,比如计算“金额”在1元以上的数据总和、按照人员或产品分类计算数据总和等等。它有3个参数,分别是条件区域、判断条件、实际的求和区域(如果它与“条件区域”是一个区域,就可省略)。

在上例中,计算每位“销售人员”的订单总金额,就要使用SUMIF函数来协助了。如果要计算每个人的销售订单总金额,把左侧表的“销售人员”一列当作“条件区域”,把右侧表的每个名单当作求和“条件”,把左侧表的每笔“订单金额”当作“实际求和区域”,在G2单元格中输入数据计算公式 “=SUMIF($C$2:$C$16,E2,$B$2:$B$16)”(见图2),第1名销售人员的“订单总额”就瞬间产生了。

小提示:

在本例的COUNTIF函数和SUMIF函数中,由于“销售人员”区域与“订单总额”区域都是固定的,所以在函数中引用这两列地址时,要使用“绝对地址”,也就是在地址前添加“$”符号。

三兄弟:IF函数

逻辑高手IF函数是一个条件函数,它可以通过设置的条件进行逻辑判断。

如果在刚才的数据汇总表中再添加一列“销售奖金”数据,“销售奖金”发放的方法是:如果某个人的订单总额大于¥1500,000,那么“奖金”数用总额×5%,否则“奖金”就用总额×3%。所以,第1位销售人员“销售奖金”的计算公式应为“=IF(G2>1500000,G2*0.05,G2*0.03)”,如图3所示。

结合刚才的知识,推测一下这个公式中3个参数的涵义吧。“G2>1500000”是IF函数的判断条件,“G2*0.05”是条件成立的操作,“G2*0.03”是条件不成立的操作。

名师点睛:

*数据的分类汇总是Excel最常见的应用。分类汇总的方法很多,包括使用函数和公式。设置的条件可看作是分类的依据,用“COUNTIF函数”进行分类计数汇总,用“SUMIF函数”进行分类求和汇总,非常方便。

*IF函数的作用是根据判断条件的真假,自动进行分支操作。比如根据身份证号码的奇偶来判断性别,根据绩效数据来填写成绩等等。在实际应用时,一个非常实用的应用是:把IF函数的“真”或“假”参数嵌套成另一个IF函数,实现多种分支操作。如2个IF函数的嵌套可写成“=IF(条件,真,IF(条件,真,假))”,这样一来就可以实现3个分支判断了(在Excel中,最多是7层函数嵌套)。

*重复数据的筛选问题常常让我们感到非常棘手。COUNTIF函数除了可以实现分类计数汇总外,它和IF函数配合,还可以实现对重复数据的标识与筛选,从而将1列中的重复数据删除。在如下图4所示的案例中,使用了公式“=IF(COUNTIF($C$1:C1,C1)>1,”1”,”0”)”为重复数据的后面添加了标识“1”,为不重复数的后面添加了标识“0”。在公式中,COUNTIF是条件计数,可利用它统计出从这列的第1个数据起,某个数出现了几次,再用IF函数判断,若出现2次以上就添加“1”,若出现1次则就添加“0”。最后用Excel中的自动筛选功能,将所有标识为“1”的数据行删除,就能把重复数据统统清理掉了。

与“IF”相关的函数三兄弟,不但为运算添加了“条件”,而且为我们打通了很多解决问题的道路,只要我们肯用心发掘,一定还能够找到更多的问题解决之道。

类别:函数引用 | | 添加到搜藏 | 分享到i贴吧 | 浏览(5217) | 评论 (0) 

 

上一篇:EXCEL中查找函数的妙用    下一篇:excel查询与引用函数:HLOOKUP、...

 excel查询与引用函数:HLOOKUP、LOOKUP、MATCH、VLOOKUP2

2010-02-20 17:00

excel查询与引用函数:HLOOKUP、LOOKUP、MATCH、VLOOKUP2

实例2、根据出勤和加班情况发放补贴,假设考勤分为三种情况,分别为“有加班”、“ div:eq(0) > div:eq(3) > table:eq(2) > tbody:eq(0) > tr:eq(0) > td:eq(0) > div:eq(0) > #content:eq(0) > br:eq(0)" offset="25">全勤”、“有缺勤”,其中上班日超过20天为“有加班”,20天的为“全勤”,剩下的为“有缺勤”。表格如图1所示,需要在“出勤类型”一列中显示出出勤状况。

  将 div:eq(0) > div:eq(3) > table:eq(2) > tbody:eq(0) > tr:eq(0) > td:eq(0) > div:eq(0) > #content:eq(0) > br:eq(3)" offset="3">鼠标指针定位到E4单元格,输入公式“=IF(D4>20,"有加班",IF(D4=20,"全勤

  小提示:

  1.公司中所用的符均为英文半角,所有的字符、符号之间没有任何空格。

  2.IF最多只支持七层嵌套,不过对付日常应用应该足够了。=if(a2<60,"不合格",if(a2<80,"合格",if(a2<90,"良好

    3.也可以结合其他函数使用,=if(a2>average($a$2:$a$9),"合格

   4.如果只有两种情况,只需要使用“插入”→“函数”命令,然后选择“IF”函数,最后输入相应的判别条件及判别结果就可以了。当然和文中一样直接输入IF函数也是可以的

 
然后,根据工资表创建各个员工的工资条,此工资条为应用Vlookup函数建立。以员工Sandy(编号A001)的工资条创建为例说明。 

第一步,拷贝标题栏 

第二步,在编号处(A21)写入A001 

第三步,在姓名(B21)创建公式 

=VLOOKUP($A21,$A$3:$H$12,2,FALSE) 

语法解释:在$A$3:$H$12范围内(即工资表中)精确找出与A21单元格相符的行,并将该行中第二列的内容计入单元格中。 

第四步,以此类推,在随后的单元格中写入相应的公式。 

                             图5                   

2) 近似的查找--根据定义区域最左列的值,对其它列数据进行不精确值的查找 

示例:按照项目总额不同提取相应比例的奖金 

Excel软件中的数据处理功能非常强大,很多人都用它来制作工资表,再打印出工资条。很多文章都介绍过如何把工资表制成工资条,但这些方法非常复杂,不利于操作。

  笔者经过研究,找到了两种用Excel制作工资条的非常简单的方法,希望能对有这方面要求的朋友有所帮助。

  方法一:排序法

  第一步:打开工资表→在工资表最后一空白列输入1,2,3……(注:输入的数字与工资表的行数相同)(图1)。

  第二步:在刚输入的数字下面向下输入1.1,2.1……,比上面的数据少一行,本列在K9中输入1.1(图2)。

  第三步:在K列任何一个单元格中单击左键→单击工具栏上的升序排列按钮→选择工资表→编辑→定位→定位条件选择“空值”→确定。

  第四步:在编辑栏中输入=A$1→按住Ctrl键不放敲回车键。

  第五步:在单元格K15下方输入1.01,2.01……一直输入到6.01→单击工具栏上的升序排列按钮→删除K列的数据。加一下边框便大功告成了(图3)。

  方法二:函数法

  第一步:打开工资表→单击Sheet2标签→在Sheet2工作表的A1单元格中输入=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))→向后拖到J1单元格(注:拖的长度应与原表长度相同)(图4)。

  第二步:选择A1:J1区域向下拖→拖到第20行即可(注:拖的时候可能拖多或拖少,这时要看一下原表)→加一下边框便成功了(图5)。

 

 

第一步,建立一个项目总额与奖金比例的对照表,如图6所示。项目总额的数字均为大于情况。即项目总额在0~5000元时,奖金比例为1%,以此类推。

                       图6

第二步 假定某项目的项目总额为13000元,在B11格中输入公式 

=VLOOKUP(A11,$A$4:$B$8,2,TRUE) 

即可求得具体的奖金比例为5%,如图7。

                          图7

4、 MATCH函数 

MATCH函数有两方面的功能,两种操作都返回一个位置值。 

一是确定区域中的一个值在一列中的准确位置,这种精确的查询与列表是否排序无关。 

二是确定一个给定值位于已排序列表中的位置,这不需要准确的匹配. 

语法结构为:MATCH(lookup_value,lookup_array,match_type)  

lookup_value为要搜索的值。 

lookup_array:要查找的区域(必须是一行或一列)。 

match_type:匹配形式,有0、1和-1三种选择:"0"表示一个准确的搜索。"1"表示搜索小于或等于查换值的最大值,查找区域必须为升序排列。"-1"表示搜索大于或等于查找值的最小值,查找区域必须降序排开。以上的搜索,如果没有匹配值,则返回#N/A。

2) 近似的查找--根据定义区域最左列的值,对其它列数据进行不精确值的查找 

示例:按照项目总额不同提取相应比例的奖金 

第一步,建立一个项目总额与奖金比例的对照表,如图6所示。项目总额的数字均为大于情况。即项目总额在0~5000元时,奖金比例为1%,以此类推。

                       图6

第二步 假定某项目的项目总额为13000元,在B11格中输入公式 

=VLOOKUP(A11,$A$4:$B$8,2,TRUE) 

即可求得具体的奖金比例为5%,如图7。

                          图7

4、 MATCH函数 

MATCH函数有两方面的功能,两种操作都返回一个位置值。 

一是确定区域中的一个值在一列中的准确位置,这种精确的查询与列表是否排序无关。 

二是确定一个给定值位于已排序列表中的位置,这不需要准确的匹配. 

语法结构为:MATCH(lookup_value,lookup_array,match_type)  

lookup_value为要搜索的值。 

lookup_array:要查找的区域(必须是一行或一列)。 

match_type:匹配形式,有0、1和-1三种选择:"0"表示一个准确的搜索。"1"表示搜索小于或等于查换值的最大值,查找区域必须为升序排列。"-1"表示搜索大于或等于查找值的最小值,查找区域必须降序排开。以上的搜索,如果没有匹配值,则返回#N/A。下载本文

显示全文
专题