设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[Excel技巧] Excel统计一列中连续相同值的几个数组公式

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-10 10:06:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
要在Excel工作表的某列中对连续相同值进行相关统计,可以用FREQUENCY函数组成的数组公式。例如在下图所示的A2:A20区域中,有一些“合格”和“不合格”数据,要对连续的“合格”数据进行如下统计:
   
    一、统计“合格”的最大的连续次数
    如本例A列中“合格”的连续次数有2次、7次等,最多的为7次。在D2中输入数组公式:
    =MAX(FREQUENCY(IF(A2:A20="合格",ROW(1:19)),IF(A2:A20<>"合格",ROW(1:19))))
    公式输入完毕后按Ctrl+Shift+Enter结束,下同。公式返回的结果为“7”。
    说明:本例只有19个数据,可根据实际情况将公式中的“19”改为其他数值。
    二、统计“合格”的各种连续次数出现的数量
    例如在本例中,连续两次“合格”共出现了2次,分别出现在A2:A3和A19:A20。在D5:D12区域中已给出各连续次数的情况下,在E5单元格中输入数组公式:
    =SUM(1*(FREQUENCY(IF($A$2:$A$20="合格",ROW($1:$19)),IF($A$2:$A$20<>"合格",ROW($1:$19)))=D5))
    然后拖动填充柄向下填充,即可得到各种连续次数对应出现的数量。
    三、依次列出连续“合格”的次数
    本例中,A列从上向下连续“合格”出现的次数分别为:2次、7次、3次、2次。要求在从D15开始的列中用公式得到这样的结果。为简化公式,可先定义一个名称,方法是:
    按快捷键Ctrl+F3,在Excel 2003中打开“定义名称”对话框;在Excel 2007/2010中打开“名称管理器”对话框,单击“新建”按钮,在“新建名称”对话框中的“名称”后的文本框中分别输入一个名称,如“hege”,在“引用位置”后输入:
    =FREQUENCY(IF($A$2:$A$20="合格",ROW($1:$19)),IF($A$2:$A$20<>"合格",ROW($1:$19)))
    单击“确定”。在D15单元格中输入数组公式:
    =INDEX(hege,SMALL(IF(hege>0,ROW(INDIRECT("1:"&COUNT(hege))),""),ROW(A1)))
    然后拖动填充柄向下填充公式,直到出现“#NUM!”为止。
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-14 03:54 , Processed in 0.170071 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表