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

示例:列A(时间格式)列B00:00:00101:00:00515:17:409要求:1、统计列B中每个时段(24小时按每2小时一个时段,即00:00:00至01:59:... 示例:
列A(时间格式) 列B
00:00:00 1
01:00:00 5
15:17:40 9
要求:
1、统计列B中每个时段(24小时按每2小时一个时段,即00:00:00至01:59:59为一个时段)列B的出现次数(即00:00:00至01:59:59中列B共出现2次)。
2、同上,列B的数字总和(即00:00:00至01:59:59中列B的总值为6)
展开
 我来答
人人哦哦哦课
高粉答主

2019-03-31 · 醉心答题,欢迎关注
知道答主
回答量:2241
采纳率:0%
帮助的人:38.1万
展开全部

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

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

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

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

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

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

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

香格里拉稻草人
2013-02-27 · TA获得超过385个赞
知道小有建树答主
回答量:494
采纳率:66%
帮助的人:379万
展开全部

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

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

追问
怎么才能做出这个按钮?把你的代码贴到单元格里?
追答
看来你对VBA不太熟悉,这个在这里一下子说不清楚,我编写了二个程序,一个是按正点时间来判断,一个是按单元格数据的时间判断,愿以的话请联系 扣二二五二八零九二三八,我可以把工作簿发给你,这样你就明白了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1975qjm
高粉答主

2013-02-27 · 关注我不会让你失望
知道大有可为答主
回答量:2万
采纳率:74%
帮助的人:7517万
展开全部
假设数据在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<ROW(A1)*1/12)*(B$1:B$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<ROW(A1)/12)*B$1:B$100)
下拉至D12单元格即可求出一天12个时段每个时段的B列数据之和
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bladeoffice
推荐于2017-12-16 · TA获得超过417个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:262万
展开全部
使用数据透视表,把列A放行标签,右键组合按2小时,列B放到数值,右键设置值字段属性,改成计数
更多追问追答
追问
右键组合怎么做?点右键没反应(Ctrl+右键),双击左键出来的选项里面没有设置2小时的选项。
追答
在透视表第一列右键点击点创建组
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TAT萝卜
2013-02-27 · TA获得超过4972个赞
知道大有可为答主
回答量:3084
采纳率:66%
帮助的人:1112万
展开全部
假如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根据实际范围调整
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式