如图所示的销售流水中,每天都有一笔销售数量的记录,现在需要知道今天或某个指定日期所在周的总销售量,假设一周的起始日期为星期一。如要得到今天(2014-12-20)所在周(2014-12-15至2014-12-21)的“销量”和。
公式一:用周数对比
=SUMPRODUCT((INT((A2:A25-2)/7)=INT((NOW()-2)/7))*C2:C25)
INT((A2:A25-2)/7)返回A列日期自1900年以来以周一为起始的“周数”数组,与今天的“周数”对比后,用SUMPRODUCT函数返回本周销量和。
下面的公式使用WEEKNUM函数:
=SUMPRODUCT((WEEKNUM(--A2:A25,2)=WEEKNUM(NOW(),2))*C2:C25)
说明:用WEEKNUM函数取得日期在该年的周数,第二个参数为“2”设置一周的开始日期为周一。“WEEKNUM(--A2:A25,2)”返回A列日期在该年的周数数组。通常,WEEKNUM函数的第一个参数不能直接使用日期区域,如“WEEKNUM(A2:A25)”返回错误,但用“--日期区域”、“1*日期区域”、“0+日期区域”等形式;或套用TEXT、OFFSET等函数可以突破这一限制,返回一个包含周数的内存数组。公式中的“WEEKNUM(--A2:A25,2)”也可以换成“TEXT(A2:A25,"e-m-d")”或“OFFSET(A1,ROW(1:24),)”,如:
=SUMPRODUCT((WEEKNUM(TEXT(A2:A25,"e-m-d"),2)=WEEKNUM(NOW(),2))*C2:C25)
最后利用周数数组与今天的周数进行对比后得到本周的销量和。
公式二:先得到本周一的日期后,再用MATCH函数判断周一在A列的位置,最后用OFFSET返回7天的销量和。
=SUM(OFFSET(C1,MATCH(TODAY()-WEEKDAY(NOW(),2)+1,A2:A25,),,7))
或:
=SUM(OFFSET(C1,MATCH(CEILING(TODAY()-1,7)-5,A2:A25,),,7))
如果要得到指定日期所在周的销量,将上述公式中的TODAY或NOW函数换成指定日期即可。
(责任编辑:电脑入门到精通网 www.58116.cn)原文地址:http://www.58116.cn/a/bg/Excelbiaogexuexi/3098.html