excel 任意时间段内数据求和

A列是7月1日,需要求7月1日~7月7日的合计A列是7月2日,需要求7月2日~7月8日的合计已此类推
A列日期是随机没有规律的,并且行1的日期是每日延续的。

第1个回答  推荐于2017-12-16
A列是7月1日,需要求7月1日~7月7日的合计
=SUMPRODUCT((A$3:A$1000-"2016/7/1">=0)*(A$3:A$1000-"2016/7/7"<=0)*C$3:K$1000)


=SUMPRODUCT((A$3:A$1000-"2016/6/30">0)*(A$3:A$1000-"2016/7/8"<0)*C$3:K$1000)
其他情况,依此类推。追问

有个问题,这样求出来的是整个区域的求和,而我要的是每一行的。
例如,
第3行 初始日期 7月1日 7/1~7 合计5300
第11行 初始日期 7月3日 7/3~10 合计1085
这个有没有办法

追答

不考虑A列的上架日期,只考虑右侧的销售日期,也可以
在L3中输入或复制粘贴下列公式
=SUMPRODUCT((C$1:K$1-"2016/7/1">=0)*(C$1:K$1-"2016/7/7"<=0)*C3:K3)
下拉填充

本回答被提问者和网友采纳
第2个回答  2016-07-14
用函数=sum,然后选择要求和的区域就可以了追问

A列的日期是没有规律的,几千行的数据不可能一个个手动去合计,最好有公式可以一次去完成。

追答

不用一个个去求和啊,用sum然后选择你要计算求和的全部区域,一次性选择,电脑会自动求和的

第3个回答  2016-07-14
在L3输入公式:
=SUM(OFFSET(B3,0,DAY(A3)):OFFSET(B3,0,DAY(A3)+6))
请务必保证第一行的最大日期大于等于A列最大日期+6追问

你好,这个结果是我想要的,但是能不能稍微解释下,如果我的表格行列位子发生了变话,我该怎调整?

追答

DAY(A3)意思就是取A3单元格的日期值,7月1日就是1,7月15日就是15,OFFSET这个函数的意思是从所给定的单元格向下,向右移动指定的单元格数,所以这个公式最后的意思就是从B3单元格开始,向下移动0格(其实就是列方向上不移动),向右移动A3单元格相应的日期的格数。

第4个回答  2016-07-14
先按A列排序,然后再用sum公式不就可以了么
相似回答