用单元格(EXCEL)计算IF与date和时间

我有一个电子表格,在同一个单元格中列出事件的date和时间( mm/dd/yy h:mm )。 我需要find一个方法来计算在小时基础上的特定时间范围内发生了多less事件。

我可以总结如果单元格只包含date,但单元格包含date,我无法获得值。

在这里输入图像说明

基本上,所有的数据在cell A ,所以我需要指出在上午6点,上午7点等发生了多less事件…按小时计算。

你的列A看起来像格式正确的date和时间值,所以它的操作很简单。 如果它不是(即不是date,但文本),你应该首先将其转换为date值。

 =DATE(MID(A2,7,4), MID(A2,4,2), LEFT(A2,2)) + TIME(MID(A2,12,2), MID(A2,15,2), RIGHT(A2,2)) 

说这是C2 。 现在C列是date和时间,设置$D$2到查询date(例如2017-03-26 ), E2开始时间(例如6:00 )和F2结束时间(例如7:00 ),然后你可以像这样从6:00到7:00计数事件:

 =COUNTIFS(C:C,">="&($D$2+E2), C:C,"<"&($D$2+F2)) 

示例文件在这里 ,其截图如下。

在这里输入图像说明

如果时间跨越不同的date,并且您仍然想要查看一天中特定小时内发生了多less事件,则需要使用数组types公式,例如,如果以小时为单位的开始时间(以正常数字input)在C2

 =SUMPRODUCT(--(HOUR($A$2:$A$10)=C2)) 

或者如果开始时间是作为时间input的话

 =SUMPRODUCT(--(HOUR($A$2:$A$10)=HOUR(C2)))