服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

手把手教你,学会其他常用统计函数

日期: 来源:VBA编程学习与实践收集编辑:
使用COUNTBLANK函数统计空白单元格个数
COUNTBLANK函数是计算指定单元格区域中空白单元格的个数,基本语法如下。
range:需要计算其中空白单元格个数的区域。如果单元格中包含“""”(空文本),函数会计算在内,但包含零值的单元格不计算在内。
示例15-5    COUNTBLANK函数应用及对比
如图15-6所示,A列为基础数据,其中A5单元格是真正的空白,A6单元格是通过函数与公式“=IF(TRUE,"")”计算得到的空文本,A10单元格是文本型的数字。
C2单元格的公式如下。
=COUNTBLANK(A2:A10)
计算结果为2,统计的是A5和A6共两个空白单元格,即无论是真正的空白单元格还是由公式计算得到的空文本,都统计在内。
C3单元格的公式如下。
=COUNTA(A2:A10)
A2:A10单元格区域共有9个单元格,其中只有A5单元格为真正的空白,不在COUNTA统计范围内,所以结果返回为8。
C4单元格的公式如下。
=COUNT(A2:A10)
COUNT的参数是一个数组或引用,所以只计算其中的数字,数组或引用中的空白单元格、逻辑值、文本或错误值将不计算在内。此处COUNT统计的是A2单元格中的数字“123”、A7单元格的数字“0”和A9单元格的“9E+307”共3个数字,所以结果返回为3。A10单元格为文本型数字“123”,不在COUNT函数的统计范围内。
众数函数MODE.SNGL与MODE.MULT
计算众数的函数有两个,分别是MODE.SNGL函数与MODE.MULT函数,它们的语法和功能分别如下。
返回在某一数组或数据区域中出现频率最多的数值。
返回一组数据或数据区域中出现频率最高或重复出现的数值的垂直数组。如果有多个众数,则将返回多个结果。因为此函数返回数值数组,所以必须以数组公式的形式输入。
number1为必需参数,要计算其众数的第一个数字参数。
number2, …为可选参数,要计算其众数的2~254个数字参数。参数可以是数字或是包含数字的名称、数组或引用。
如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略;但包含零值的单元格将被计算在内。如果参数为错误值或是不能转换为数字的文本,将会导致错误。如果数据集不包含重复的数据点,则MODE.MULT返回错误值#N/A。
示例15-6    众数函数基础应用
如图15-7所示,在C2单元格中输入以下公式,得到A2:A10单元格区域出现次数最多的数字6。
=MODE.SNGL(A2:A10)
当多个数字出现次数相同且均为最高时,MODE.SNGL函数会计算得到第一个出现的数字。
选中C4:C7单元格区域,输入以下数组公式,按<Ctrl+Shift+Enter>组合键。
{=MODE.MULT(A2:A10)}
A2:A10单元格区域的数字6和7均为最多次数,所以MODE.MULT函数的结果为一个数组{6;7}。由于所选区域的范围大于出现最高次数的数据个数,因此C6和C7单元格返回错误值。
示例15-7    校园最受欢迎歌手大赛投票数据及统计
如图15-8所示,某学校组织校园歌手大赛,共有1-8号8名选手参加,现场有80位同学投票,每人最多可以投3票。在F2单元格中输入以下公式,向下复制到单元格显示空白为止,依次统计出最受欢迎歌手的号码。
=IFERROR(INDEX(MODE.MULT($B$2:$D$81),ROW(1:1)),"")
“MODE.MULT($B$2:$D$81)”部分表示计算得到B2:D81单元格区域中出现最多的数字,返回结果为{7;8}。
然后使用 INDEX 函数将数组{7;8}中的每一个数字提取到单元格中,最后使用 IFERROR函数屏蔽错误值#N/A。
此次歌手大赛7、8号两位选手最受欢迎。
中位数函数MEDIAN
MEDIAN函数返回一组已知数字的中值。中值是一组数的中间数,基本语法如下。
number1,number2,…其中number1是必需参数,后续数字为可选参数,是要计算中值的1~255个数字。
如果参数集合中包含奇数个数字,MEDIAN将返回位于中间的那一个数。
如果参数集合中包含偶数个数字,MEDIAN将返回位于中间的两个数的平均值。
参数可以是数字或是包含数字的名称、数组或引用。逻辑值和直接输入到参数列表中表示数字的文本被计算在内。
如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略,但包含零值的单元格将计算在内。如果参数为错误值或为不能转换为数字的文本,将会导致错误。
示例15-8    中位数函数基础应用
如图15-9所示,在H2单元格中输入以下公式,计算A2:E2单元格区域的中位数。
=MEDIAN(A2:E2)
A2:E2单元格区域中共有5个数字,数字个数为奇数,所以返回结果为中间值,即数字5。
在H3单元格中输入以下公式,计算A3:F3单元格区域的中位数。
=MEDIAN(A3:F3)
A3:F3单元格区域中共有6个数字,数字个数为偶数,所以返回结果为中间两个数的平均值,即3和5的平均值,结果为数字4。
在H4单元格中输入以下公式,计算A4:F4单元格区域的中位数。
=MEDIAN(A4:F4)
A4:F4单元格区域共有6个值,但C4单元格的值为文本“空缺”,数据区域内只有5个数字,所以最终结果为这5个数字的中间值,返回结果为数字3。
示例15-9    计算员工工资的平均水平
如图15-10所示,A2:B21单元格区域为某公司员工的工资,现在计算该公司员工工资的平均水平。
在D2单元格中输入以下公式,计算员工工资的中位数,返回结果为7 150。
=MEDIAN(B2:B21)
在D3单元格中输入以下公式,计算员工工资的平均值,返回结果为21 510。
=AVERAGE(B2:B21)
示例15-10    设置上下限
某公司计算销售提成,其中提成系数与当月销售计划完成率相关。如果销售完成率超过150%,最高按照150%统计。如果销售完成率低于70%,则最低按照70%统计。其他部分按实际值统计。
如图15-11所示,B列是各员工的销售完成率,需要根据以上规则在C列计算出提成系数。在C2单元格中输入以下公式,并向下复制到C11单元格。
=MEDIAN(B2,70%,150%)
将B2单元格的数字与70%、150%组成3个数的序列,从中提取中位数,即完成上下限的设置。
本例也可以使用MAX结合MIN函数完成。
=MAX(MIN(B2,150%),70%)
“MIN(B2,150%)”部分表示取B2单元格的值与150%比较,二者取最小值,即达到设置上限的目的。
“MAX(MIN(B2,150%),70%)”部分表示用MIN函数取出的最小值与70%比较,二者取最大值,即达到设置下限的目的。
MAX和MIN函数的顺序可以交换,并修改相应的参数,得到的结果完全一致。
=MIN(MAX(B2,70%),150%)
四分位函数QUARTILE
四分位点通常用于销售和调查数据,以对总体进行分组。QUARTILE函数能够返回一组数据的四分位点,基本语法如下。
array为必需参数,要求得四分位数值的数组或数字型单元格区域。
quart为必需参数,指定返回哪一个值,具体说明如表15-2所示。
如果array为空,则QUARTILE函数返回错误值#NUM!。
如果quart不为整数,则将被截尾取整。
如果quart<0或quart>4,则QUARTILE函数返回错误值#NUM!。
示例15-11    四分位数函数基础应用
如图15-12所示,A2:A13单元格区域为12个任意数字,在C2:C6单元格区域依次写下四分位数公式。
在C3单元格中输入以下公式,返回结果为17。
=QUARTILE($A$2:$A$13,1)
quart参数为1,返回第1个四分位数,此数字的位置如下。
1+(12-1)*0.25=3.75
所以此结果由第3小的数字14与第4小的数字18组成。
(18-14)*(3.75-3)+14=17
在C5单元格中输入以下公式,返回结果为36。
=QUARTILE($A$2:$A$13,3)
quart参数为3,返回第3个四分位数,此数字的位置如下。
1+(12-1)*0.75=9.25
所以此结果由第9小的数字35与第10小的数字39组成。
(39-35)*(9.25-9)+35=36
示例15-12    员工工资的四分位分布
如图15-13所示,A2:B21单元格区域为某公司员工的工资,现在计算该公司员工工资的四分位分布。
在D2单元格中输入以下公式,返回结果为5 600。
=QUARTILE(B2:B21,1)
在D3单元格中输入以下公式,返回结果为7 925。
=QUARTILE(B2:B21,3)说明此公司有1/4的员工工资在5 600元以下,有1/4的员工工资在7 925元以上,一半的员工工资在5 600~7 925元之间。
使用LARGE与SMALL函数计算第 k 个最大或最小值
LARGE函数和SMALL函数分别返回数据集中第 k 个最大值和第 k 个最小值,基本语法分别如下:
array参数:需要找到第 k 个最大/小值的数组或数字型数据区域。
k 参数:要返回的数据在数组或数据区域中的位置。
示例15-13    列出前三笔销量
图15-14所示的是某公司销售记录的部分内容,A列是日期,B列是每天的销量。需要统计最大的三笔销量和最小的三笔销量各是多少,并且按照降序排列。
在D2单元格中输入以下公式,并向下复制到D4单元格。
=LARGE($B$2:$B$16,ROW(1:1))
通过ROW函数生成连续的序列1,2,3,LARGE函数依次提取出数据区域中对应的第1、2、3个最大值。
在D8单元格中输入以下公式,并向下复制到D10单元格。
=SMALL($B$2:$B$16,4-ROW(1:1))
由于需要降序排列,因此,使用“4-ROW(1:1)”公式向下复制时,得到结果依次为3、2、1。SMALL函数依次提取出数据区域中对应的第3、2、1个最小值。
示例15-14    列出前三笔销量对应的日期
如图15-15所示,需要在销售记录表中提取出最大的三笔销量和最小的三笔销量所对应的日期,并且按销量降序排列。
在D2单元格中输入以下数组公式,按<Ctrl+Shift+
Enter>组合键,并向下复制到D4单元格,依次返回最大三笔销量对应的日期。
{=INDEX(A:A,MOD(LARGE($B$2:$B$16+ROW($B$2:$B$16)%,ROW(1:1)),1)/1%)}
由于销量全部为整数,“$B$2:$B$16+ROW($B$2:
$B$16)%”部分表示得到含有销量和相应行号的数组,因此其中整数部分为B列的销量,小数部分为相应的行
号,返回结果如下。
{2600.02;2800.03;1600.04;7000.05;2200.06;…;1800.14;2500.15;2200.16}
使用LARGE函数提取出此数组中的最大值,返回结果为9 000.1。
“MOD(9000.1,1)/1%”部分先使用MOD函数计算9000.1除以1的余数,得到此数字的小数部分0.1。再将它除以1%,即扩大100倍,返回结果10,即最大销量对应的行号为10。
最后使用“INDEX(A:A,10)”从A列中提取第10个元素,得到对应的日期为2018/2/14。
将公式复制到D3、D4单元格,依次提取第二大销量、第三大销量对应的日期。
在D8单元格中输入以下数组公式,按<Ctrl+Shift+Enter>组合键,向下复制到D10单元格,依次返回最小的三笔销量对应的日期。
{=INDEX(A:A,MOD(SMALL($B$2:$B$16+ROW($B$2:$B$16)%,4-ROW(1:1)),1)/1%)}
计算原理与提取前三大销量对应的日期基本一致。


---------------------------------------------------------------------

推荐图书

北京大学出版社
Excel 2016函数与公式大全



相关阅读

  • 即将下线,快去退款!

  • 日前,腾讯旗下数字藏品平台幻核APP宣布,基于业务调整的安排,将于2023年6月30日24时下线。幻核APP下线后,持有藏品的用户将无法在APP中查询、下载、展示及分享已购数字藏品,且不能
  • 为人人享有数字化全力抗争

  • 2023国际妇女节刚刚过去,在“数字包容:创新和技术推动性别平等”主题下,联合国妇女署中国办公室组织了科研机构参访、妇女节特别研讨会等活动并发布了“数字包容”相关内容,倡导
  • 突发,重磅声明!

  • 本周大A五连跌,走的大失所望。尤其今天这个日子,还收在几乎最低点,可见空头是多么嚣张!外资跑了53亿,内资砸盘近500亿,这帮资金真靠不住。个股更是惨烈,只有700多上涨,下跌4000多家,
  • 数字中国建设峰会招商招展路演活动在深圳举办

  • 福州市推介投资环境和配套政策。记者 郑帅 摄结束了在广州的行程,第六届数字中国建设峰会路演分队马不停蹄赶往深圳。10日,峰会招商招展路演活动在深圳举办,省数字办带队,福州、
  • 为什么Python没有main函数?

  • 来源:网络,如侵,请联系删除今天的文章中,我们来讨论一下为什么有的编程语言有main函数,而Python为什么没有main函数。众所周知,Python中没有所谓的main函数,但是网上经常有文章提到

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 河北吴桥:春花烂漫扮靓社区

  • 人间三月芳菲始,又是一年花开时。在吴桥县百度社区,一树树浪漫杏花扮靓春天。来源:河北广播电视台冀时客户端
  • 合并工作簿?有我很简单!

  • 前导语:在指定文件夹里,将各工作簿的工作表合并到一个新的工作簿中。操作方法:步骤1 依次单击【工作簿与工作表】组的【工作簿管理】→【合并工作簿】,打开【合并工作簿】对话
  • 连代码调试都一窍不通,还谈啥会VBA?

  • HI,大家好,我是星光。有句俗话说的好,一段优秀的代码,三分靠编写七分靠调试。今天我就给大家聊一下VBA代码调试的问题:一段代码写完了,运算结果却不对,到底应该如何发现并改正错误?
  • 手把手教你,学会其他常用统计函数

  • 使用COUNTBLANK函数统计空白单元格个数COUNTBLANK函数是计算指定单元格区域中空白单元格的个数,基本语法如下。range:需要计算其中空白单元格个数的区域。如果单元格中包含“"
  • 太爽了!什么都能搜到!10000TB资源!

  • 这里是一路软件,一个简洁 · 高效的公众号 前言: 昨天给大家分享电脑端的WPS无限制ZG邮政版,大家反响不错。肯定也有很多错过阅读的朋友们,大家可以点击黄色字体进行跳