Excel中的条件统计如何实现按时间段统计?

2024-11-16 07:52:40
推荐回答(5个)
回答(1):

1、选择时间所在的列,点击”数据“选项卡中的”分列“

2、经过分列之后,时间由右对齐变成了左对齐,也就是系统认可的时间格式了,这样才能够正常进行下面的操作。选择数据区域中的任意一个单元(系统会自动将相邻区域选中,如果仅对部分区域数据进行透视,则务必选择这部分区域),点击”插入“,“数据透视表”

3、确认下数据区域选择是否正确,然后点选数据透视表放置于本工作表中,选择一个单元格用于放置数据透视表

4、然后在右侧新出的界面中,将时间拖动到“行标签”中,将数量拖动到“数值”中

5、此时,选择数据透视表已经出现的行标签下的任意一个单元格,点击“选项”中的“将所选内容分组”

6、在弹出的“分组”对话框中,取消选择默认的“月”,选择“小时”,其中的起始时间和结束时间系统会自动填充,也可以根据需要自行设置

7、至此,就利用数据透视表轻松求得了各个小时段中数据的和

回答(2):

用程序解决你的问题应该能够符合要求

Sub abcd()
For i = 1 To [A65536].End(xlUp).Row
a = Cells(i, 1)
If i = 1 Then b = a
   If a - b > 8.33333333333334E-02 Then
      Cells(i - 1, 3) = b: Cells(i - 1, 4) = Cells(i - 1, 1)
      Cells(i - 1, 5) = t: Cells(i - 1, 6) = c
      Range(Cells(i - 1, 3), Cells(i - 1, 4)).NumberFormatLocal = "h:mm:ss;@"
      b = Cells(i, 1): i = i - 1: t = 0: c = 0
   Else
      t = t + 1
      c = c + Cells(i, 2)
      d = a - b
  End If
Next
         Cells(i - 1, 3) = b: Cells(i - 1, 4) = Cells(i - 1, 1)
         Cells(i - 1, 5) = t: Cells(i - 1, 6) = c
         Range(Cells(i - 1, 3), Cells(i - 1, 4)).NumberFormatLocal = "h:mm:ss;@"
         b = Cells(i, 1)
End Sub

回答(3):

假设数据在A1至B100单元格区域

1、统计列B中每个时段(24小时按每2小时一个时段,即00:00:00至01:59:59为一个时段)列B的出现次数(即00:00:00至01:59:59中列B共出现2次)。

C1单元格输入公式
=SUMPRODUCT((A$1:A$100<>"")*(A$1:A$100>=(ROW(A1)-1)/12)*(A$1:A$100""))
下拉至C12单元格即可求出一天12个时段每个时段的B列数据个数

2、同上,列B的数字总和(即00:00:00至01:59:59中列B的总值为6)

D1单元格输入公式
=SUMPRODUCT((A$1:A$100<>"")*(A$1:A$100>=(ROW(A1)-1)/12)*(A$1:A$100下拉至D12单元格即可求出一天12个时段每个时段的B列数据之和

回答(4):

使用数据透视表,把列A放行标签,右键组合按2小时,列B放到数值,右键设置值字段属性,改成计数

回答(5):

假如C列为时间段,即C1:00:00:00,C2:02:00:00.....
统计次数:
=SUMPRODUCT((A$1:A$100<>"")*((A$1:A$100-C$1)*24>=0)*((A$1:A$100-C$1)*24<2))

统计总和:
=SUMPRODUCT((A$1:A$100<>"")*((A$1:A$100-C$1)*24>=0)*((A$1:A$100-C$1)*24<2)*B$1:B$100)

公式下拉复制

A$100根据实际范围调整