Excel列中基于一定条件的数据出现频率

时间:2014-12-06 23:33:06

标签: excel if-statement excel-formula worksheet-function countif

我有一个专栏(下面的表1),24小时格式的时间数据保存为文本。我希望表格2按小时填充并添加小时的所有匹配项。

所以一次发生在0102.这是在上午12:30到下午01:30的范围内。我希望01:00的计数为1。 如果发生在01:30到02:30之间,我希望计数在02:00为1。 此外,如果时间是04:55,它应该将05:00的计数显示为1.基本上舍入到最近的时间并显示该计数。它应该舍入到最近的时间并添加出现次数。这就是为什么06:00是2.以占到0622和0614。

例如:

TABLE 1                   TABLE2 (Expected results)
Column A                  Column A     Column B
0102                      01:00        1 
0222                      02:00        2
0223                      03:00        0
0455                      04:00        0
0622                      05:00        1
0614                      06:00        2

注意 B1 中,我们得到 1 ,因为 A1 中的值< strong> TABLE1 0102 ,介于12:30和01:30之间,由 01:00 表示 表2 中的 A1 。我们在01:30和02:30之间的 Table1 中有两个值:一个在 A2 ,第二个在 A3 ,所以我们期待 B2 表2 中的 2 A2 中02:00表示的时间范围。我们将 0 归因于 Table2 中的单元格 B3 B4 ,因为中没有任何数据>表1 在02:30-03:30和03:30-04:30之间,因此它们在 Table2 中的相应单元格中得到 0 。但是,我们在 Table1 中有两个数据实例 0622 0612 ,这些数据介于05:30和06:30之间,因此值 2 归因于 B6

如何使用公式执行此操作?

请帮忙。

1 个答案:

答案 0 :(得分:1)

因此,在努力了解正在发生的事情之后,这是一个简单的解决方案:

首先让我再说一遍:
A列:但最初以 hhmm 格式粘贴为文本,但您需要将它们重新格式化为简单数字,所以你会在某些数据的开头失去那些 0
B栏:正如你所说,我们放下时间范围,从上午12:30开始,所以我把它作为 0030 放下来,其中零点不再可见数字格式。此范围从 30 开始并递增100,直到它停在 2330 而不是转到2430.这将反映在中最后一个单元格的公式中D栏
C栏:我们对 A 中的数据进行舍入和计数的小时范围。
D栏:我们在 D2 中记下以下公式:

=COUNTIFS(A:A,">"&$B2,A:A,"<"&$B3)

并拖动并填充,直到最后一个单元格。 对于最后一个单元格 D25 ,我们更改大于/小于符号,并使用以下公式(仅适用于此单元格):

=COUNTIFS(A:A,"<"&$B25,A:A,"<"&$B2)



enter image description here

尝试使用这些公式,如果不起作用,请下载示例表, 这是我为此目的创建的示例表,downloadable from here
 如果你还有疑问,请不要犹豫,将它们放在评论中。