Excel过滤时间范围列和总和值中的项目

时间:2013-05-23 17:11:56

标签: excel worksheet-function

实施例

time     Type  Total      
8:00:00  B       2
8:03:00  S       3
8:07:00  S       10
8:10:00  B       5
8:17:00  B       7  
8:21:00  S       8
8:28:00  B       12

结果 每15分钟

8:00-8:15    B=7  S=13    
8:15-8:30    B=19 S=8 

2 个答案:

答案 0 :(得分:1)

如果您给出的示例表位于A1,则可以创建如下行:

8:00:00    8:15:00   B=    =SUMIFS(C2:C8,A2:A8,">="&F2,A2:A8,"<"&G2,B2:B8,"B")    S=    =SUMIFS(C2:C8,A2:A8,">="&F2,A2:A8,"<"&G2,B2:B8,"S")

输出:

  

8:00:00 8:15:00 B = 7 S = 13

还有很多其他方法可以实现这一点,但这很快捷,只需放入时间栏的下一行

 =F2+TIME(0,15,0)    =G2+TIME(0,15,0)

然后向下拖动(F2&amp; G2保存第一次值)。

答案 1 :(得分:1)

你的意思是怎么做?

你有间隔吗?如果是这样,您可以使用SUMIFS

=SUMIFS($C$2:$C$8,$B$2:$B$8,B$10,$A$2:$A$8,">="&LEFT($A11,FIND("-",$A11)),$A$2:$A$8,"<"&MID($A11,FIND("-",$A11)+1,99))

有点长,但如果您的格式为hh:mm而不是h:mmhh:mm,则可以将其缩短为:

=SUMIFS($C$2:$C$8,$B$2:$B$8,B$10,$A$2:$A$8,">="&LEFT($A11,5),$A$2:$A$8,"<"&RIGHT($A11,5))

第一个公式的内容是,您的范围是列为08:00-08:15还是08:00:00-08:15:00还是9:45-10:00并不重要,它会花费正确的时间。此外,您可以输入一次公式,然后左右上下拖动以获取表格的格式,请参见屏幕截图:

enter image description here

我在单元格B11中放入一个公式并将其拖动到其他单元格中。