善于在工作中使用函数、公式可以提高工作效率,结合近期学员们遇到的问题,老菜鸟总结了三个非常实用的公式,每个公式都可以解决一类问题。学会这三个公式套路,就能解决日常遇到的很多麻烦事。
第一类问题:对指定时间段的数据进行汇总
例如在一组销售数据中,需计算出2018年4月1日至2018年6月30日期间的销售额合计。可以使用公式=SUMIFS(B:B,A:A,">=2018-4-1",A:A,"<=2018-6-30")得到所需要的结果。
在这个公式中,用到了SUMIFS函数进行汇总。SUMIFS是一个多条件求和的函数,基本格式为SUMIFS(要求和的区域,条件区域1,条件1,条件区域2,条件2,……)。
本例中要求和的区域是销售额所在的B列,条件区域是销售日期所在的A列,具体的条件有两个:
条件1:大于等于开始日期2018年4月1日。
条件2:小于等于结束日期2018年6月30日。
需要注意的是:公式中使用日期作为条件时,一定要在表示日期的字符串两端加上英文状态下的半角引号。如果需要用到比较符号,则需要将符号与日期同时放在引号中间。
掌握这个套路之后,再遇到按日期区间求和的问题时,只需要选择对应的求和区域、条件区域和起止日期就能完成统计。
第二类问题:按照多个指定的数据区间统计人数
例如需要按照成绩划分为四个区间,并统计出每个区间内的人数。可以使用公式=FREQUENCY($B$2:$B$17,{60,75,90}-0.01)得到所需结果。
通常遇到这类问题我们首先想到的是COUNTIF或是COUNTIFS函数,但它们都需要对每个区间进行设置,比较繁琐。
实际上在Excel的函数中,有个专门统计区间内数据个数的函数——FREQUENCY。
函数的基本格式为FREQUENCY(数据区域,临界点)。在本例中,数据区域是成绩所在的单元格区域B2:B17。统计结果划分了四个区间,相当于有了三个临界点60、75和90。
由于这个函数得到的是一个数组结果,所以必须同时按Ctrl+Shift+回车键完成数组公式的输入。
如果统计数据中正好存在与临界点相同的数据,则该数据会计入靠前的区间。例如成绩中有90分的话,会计入第三个区间“大于等于75且小于90”:
这与本例的统计需求不符,因此将第二参数-0.01,对临界点进行修正。
掌握FREQUENCY的用法需要注意两点:
1、这是一个数组函数,需要先选中统计结果所在的单元格区域,在再编辑栏输入公式。公式输入完毕后按住Ctrl+Shift+回车键,一次得到全部统计结果;
2、临界值(FREQUENCY函数的第二参数)可以是单元格区域,也可以是常量数组的方式存在。同时还需要根据具体情况对临界值进行修正以确保统计结果的正确性。
第三类问题:工龄工资的计算问题
最后一类问题是工龄工资的计算。例如企业规定员工每满一年加100元工龄工资,15年封顶。可以使用公式=100*MIN(15,DATEDIF(B2,C2,"y"))计算出每个人的工龄工资。
在这个公式中,用到了MIN和DATEDIF函数。
DATEDIF函数的功能是计算员工的工龄,函数格式为DATEDIF(开始日期,结束日期,统计方式)。本例中开始日期就是每个人的入职日期,结束日期为计算日期(也可以使用TODAY()函数作为结束日期),统计方式“y”表示以年为单位进行计算。
MIN函数的功能是得到一组数据中的最小值,函数格式为MIN(数据区域)或MIN(数据1,数据2,……)。本例使用的是第二种用法,作用是得到工龄与15中的较小值。这就可以实现当工龄超过15年时,还是以15年来计算。
在计算上限时往往可以使用MIN函数代替IF函数,同理计算下限时可以使用MAX函数代替IF函数,公式会更加简洁。
最后使用100乘上有效工龄就得到了所需的结果。
本例给了大家一个非常重要的启示就是MIN函数在限制上限时的用法,可以借鉴到一些绩效计算,提成计算等方面。
************
今天分享的三个公式涉及到三类完全不相干但是非常有代表性的统计问题,如果能够做到举一反三,那就能解决日常遇到的很大一部分问题了,而这也是学习Excel函数、公式的目的所在。