EXCEL求某一段时间对应值的和

如图

    把你的时间区间分成两个数据,开始时间和结束时间。

    这样你就可以用sumifs函数去直接求和了。

    如下图(非你的数据):

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-17

本问题除了公式,其实比较好的方法还是数据透视表。先在数据源中增加一个辅助列,在辅助列中用公式计算出时间段。如图:
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计算一个时间段里,而其他均为半个小时为一个时间段,不知是何原因。


数据透视表,就很容易得到结果了。

追答

不用辅助列的话,可用sql语句来处理。假设工作表名称叫“时间组合”(下面的sql语句中要引用工作表名称,并在后面加上符号$:

select choose(hour(时间-8/24-1/24/60)*2+INT(MINUTE(时间-1/60/24)/30)+1,'08:01-08:30','08:31-09:00','09:01-09:30','09:31-10:00','10:01-10:30','10:31-11:00','11:01-11:30','11:31-12:00','12:01-12:30','12:31-13:00','13:01-13:30','13:31-14:00','14:01-14:30','14:31-15:00','15:31-16:00','16:01-16:30','16:31-17:00','17:01-17:30','17:31-18:00','18:01-18:30','18:31-19:00','19:01-19:30','19:31-20:00','20:01-20:30','20:31-21:00','21:01-21:30','21:31-22:00') as 时间段,成交,金额 from [时间组合$]

以上语句统计时间从8:01到22:00的数据。

第2个回答  2019-04-17

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))

下拉

第3个回答  2019-04-17
一、在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单元格,复制并下拉,即可。
相似回答