Excel公式:每周与上个月的相应周比较

时间:2016-05-10 08:32:11

标签: google-sheets excel-formula

我试图在Google表格中创建一周一周的比较。

细微差别在于比较周需要动态填充为上个月的相应周。

因此,如果数据集是5月的第一周,比较周将是4月的第一周。同样地,5月的第2周将与4月的第2周等进行比较。

例如,如果A1是2016年5月1日,A2是2016年5月7日,则单元格B1和B2应分别填充为2016年4月3日和2016年4月9日(周日为第一天)本周)。

我已经建立了以下公式,我认为这个公式让我走了一半:

= WEEKNUM(A1)-WEEKNUM(DATE(YEAR(A1),MONTH(A1),1),1)+1

此公式返回给定日期的月份中的周数。例如,5/1/2016返回值' 1'因为日期发生在该月的第一周。 2016年5月8日将返回' 2'等

1 个答案:

答案 0 :(得分:0)

使用以下公式。它看起来很难看,但它应该像你的例子一样工作。

  

例如,如果A1是5/1/2016,A2是5/7/2016,则为B1和B2   应该分别填充2016年4月3日和2016年4月9日(周日是   一周的第一天)。

=DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)+IF(WEEKDAY(A1-DAY(A1)+1)=1,8,WEEKDAY(A1-DAY(A1)+1))-WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,1),1))

这是它的工作原理

=DATE(
   YEAR(A1),
   MONTH(A1)-1,

上个月的返回日期,计算日期如下:

DAY(A1) 

从当前日期开始

+IF(WEEKDAY(A1-DAY(A1)+1)=1,8,WEEKDAY(A1-DAY(A1)+1))    

找出当月第一天的哪一天并添加其编号。只有当它是星期日(星期的第一天)时才需要跳过第0周,所以它增加了8

-WEEKDAY(DATE(YEAR(A1),MONTH(A1)-1,1),1)        

扣除代表上个月第一天的数字

例如,如果您有5/3/2016它会: (月的第3天)+(周日当月的第一天,所以加8) - (上个月的第一天是星期五,所以扣除6)

3 + 8 - 6 = 5,这是上个月的日期,因此结果是2016年4月5日