把你的时间区间分成两个数据,开始时间和结束时间。
这样你就可以用sumifs函数去直接求和了。
如下图(非你的数据):
本问题除了公式,其实比较好的方法还是数据透视表。先在数据源中增加一个辅助列,在辅助列中用公式计算出时间段。如图:
A4=TEXT(TIME(9,FLOOR(((B4*24-9)*60-1)/30,1)*30,0),"hh:mm")&"-"&TEXT(TIME(9,FLOOR(((B4*24-9)*60-1)/30,1)*30+30,0),"hh:mm")
双击填充柄,将公式向下填充。不过题主把9:25到10:00计算一个时间段里,而其他均为半个小时为一个时间段,不知是何原因。
数据透视表,就很容易得到结果了。
I4=SUMPRODUCT(($A$4:$A$100>=--LEFT($H4,FIND("-",$H4)-1))*($A$4:$A$100<=--RIGHT($H4,LEN($H4)-FIND("-",$H4)))*(C$4:C$100))
下拉
J4=SUMPRODUCT(($A$4:$A$100>=--LEFT($H4,FIND("-",$H4)-1))*($A$4:$A$100<=--RIGHT($H4,LEN($H4)-FIND("-",$H4)))*(F$4:F$100))
下拉
一、在I4单元格输入公式:
=SUMIFS(C:C,A:A,">="&1*LEFT(H4,FIND("—",H4)-1),A:A,"<="&1*REPLACE(H4,1,FIND("—",H4),""))
二、在J4单元格输入公式:
=SUMIFS(F:F,A:A,">="&1*LEFT(H4,FIND("—",H4)-1),A:A,"<="&1*REPLACE(H4,1,FIND("—",H4),""))
三、选择I4:J4单元格,复制并下拉,即可。