1、首先,观察一下现有的数据,看时间是否是Excel认可的时间格式,如果是默认左对齐,那么很可能是文本格式,当然通过设置单元格格式为”常规“,看时间是否变成了小数,如果变成了小数,就是时间格式,而如果没有发生变化,则是文本格式,如下图所示,这就是文本格式的时间,需要先进行处理:
2、选择时间所在的列,点击”数据“选项卡中的”分列“。
3、经过分列之后,时间由右对齐变成了左对齐,也就是系统认可的时间格式了,这样才能够正常进行下面的操作。选择数据区域中的任意一个单元(系统会自动将相邻区域选中,如果仅对部分区域数据进行透视,则务必选择这部分区域),点击”插入“,“数据透视表”。
4、确认下数据区域选择是否正确,然后点选数据透视表放置于本工作表中,选择一个单元格用于放置数据透视表。
5、在弹出的“分组”对话框中,取消选择默认的“月”,选择“小时”,其中的起始时间和结束时间系统会自动填充,也可以根据需要自行设置。
6、至此,就利用数据透视表轻松求得了各个小时段中数据的和。
可以利用数据透视表快速统计各时间段人数。
工具:Office2007
方法如下:
将数据制作数据透视表:
将时间放到“行标签”中,将人数放到数值中:
选择数据透视表,点击“选项”中的“将所选内容分组”:
分组中步长选择“小时”后点击确定:
这样就得到了各个小时段的人数:
这个取决于你的数据是怎样的。
假设你每一条时间记录代表一个人打卡的记录,可以使用使用Frequency函数
你的时间记录是图中F列
你的时间分割是图中G列
H列是统计结果
说明:
统计区间是可以自由设置的,其统计的界限是,当前值与上一个值之间的值出现的频次(包括当前值)
第一个区间统计的是小于该界限的频次
最后一个区间统计的大于该界限的频次
输入公式的时候,必须像图中一样,先选中H列的部分单元格(数量从区间开始到区间结束+1个单元格的位置),然后按CTRL+SHIFT+ENTER结束
2. 假设你的数据源是,时间对应人数的,那么用数据透视表即可。
在行标签上(时间),右键选择创建组,选中小时应该就能满足你的要求
3. 其他方法(更灵活)
你可能需要自定义时间区间,然后通过countif函数(针对情况1的数据)或者sumif函数(针对情况2的数据),进行统计
通过VBA创建自定义函数(略)
既然是时间, 就可以直接用时间来判断并统计人数
当然, 你得保证是标准的时间格式, 而不是文本格式
如图公式
=SUMPRODUCT((A2:A20>=--"9:00")*(A2:A20<=--"9:30")*B2:B20)
EXCEL可识别的时间格式是可以直接做加减法的,也可以用来比较大小,所以用countif就可以解决了