COUNTIFSdate之间的事件也是时间

对于报告,我从CSV中以pbx格式导出原始数据。 有很多数据列。 有关这种情况是:

  • A栏:事件的date(同一天有很多事件)
  • B列:以秒为单位的事件的长度
  • C列:每个事件的date+时间戳

我过滤掉所有短于或等于90秒的事件,

我可以通过更改我为这种场合创build的2个单元格中的date(开始date在D1,结束date在单元格D2中)来调整范围。 没有整合的时间我使用:

= COUNTIFS(B:B; “> = 90”; A:A; “> =” &D1; A:A; “= <” &D2)

它像一个魅力。 我select单元格D1和D2中的一个范围,并自动获取这些date之间的所有事件,排除事件时间较短或= 90秒。

除此之外,我需要知道在某些时间戳之间会发生多less事件/事件。 比如从11月1日到11月7日,我需要知道12:00-13:00之间人事事件是怎么发生的,15:00-18:00之间发生了多less事件等等。

从逻辑上讲,我认为只是添加另一个criteria_range条件 (在这个例子列C)会做的伎俩。 唉,添加列C似乎并没有工作,我已经spinned了很多方法。

我的直觉是DATE + TIME格式不够,对我来说是不合适的。

C列看起来像这样:02/11/2015 21:59:47

作为欧洲人,我对DD / MM / YYY表示满意,但似乎没有公式可以考虑到TIME,忽略了DATE。 请记住,我已经在date中使用了A列。 这里的CI列对TIMESTAMP感兴趣。

任何的aideas或build议是受欢迎的。

非常感谢你提前。

PS:我总是可以把时间从使用文本的date分割成列的特征。 然而,这意味着我将格式化原始出口,我想不惜一切代价,以便我可以复制粘贴新的出口在我的控制表,而不必做各种格式。

如果没有样本数据,很难判断是否将经过时间视为90秒(整数)或00:01:30 (如真秒,小数部分为1)。 你的公式似乎表示经过的时间为一个整数,但在其他地方也是错误的(例如=<而不是<= ),所以唯一确定的是它不是一个工作公式。 确定时间窗口也是一样。 你是把它作为整数比较1213 ,还是把比较时间是12:00:0013:00:00 ? 他们决不是一回事。

SUMPRODUCT函数可以提供将date时间仅作为时间处理(例如, MOD(C2:C12, 1) )或作为表示一天中小时(例如HOUR(C$2:C$12) )的整数的循环处理。

TIME在COUNTIFS之上

F2,F5和F7中的公式是,

 =COUNTIFS(B:B; ">="&E2; A:A; ">="&E3; A:A; "<="&E4) =SUMPRODUCT((A$2:A$12>=E$3)*(A$2:A$12<=E$4)*(MOD(C$2:C$12; 1)>=E5)*(MOD(C$2:C$12; 1)<=E6)*(B$2:B$12>=E$2)) =SUMPRODUCT((A$2:A$12>=E$3)*(A$2:A$12<=E$4)*(MOD(C$2:C$12; 1)>=E7)*(MOD(C$2:C$12; 1)<=E8)*(B$2:B$12>=E$2)) 

如果E5和E6分别是1213而不是12:00:0013:00:00那么F5中的公式就是,

 =SUMPRODUCT((A$2:A$12>=E$3)*(A$2:A$12<=E$4)*(HOUR(C$2:C$12)>=E5)*(HOUR(C$2:C$12)<=E6)*(B$2:B$12>=E$2))