2016-11-29 172 views
0

我在这里有一个问题,我在Excel中有3列,A1是日历日期;列B1具有fiscal_quarter_start_date;和C1列中的fiscal_quarter_end_date。如何计算excel中两个日期范围之间的星期数

我试图找到A2和A3之间的周数。这里的问题是我应该考虑第一个星期天作为本季度的第一周。我的财政年度从每个月的2月份开始。

我这样做的原因是填写一个季度的周数,我的第一周从季度的第一个周日开始。

=ROUNDUP(MOD(IF(A13>=IF(DATE(YEAR($A13),2,1)=1,DATE(YEAR($A13),2,1),DATE(YEAR(A13),2,7-WEEKDAY(DATE(YEAR(A13),2,1),1)+2)),ROUNDUP((A13-IF(WEEKDAY(DATE(YEAR(A13),2,1),1)=1,DATE(YEAR($A13),2,1),DATE(YEAR($A13),2,7-WEEKDAY(DATE(YEAR($A13),2,1),1)+2))+1)/7,0),ROUNDUP((A13-IF(DATE(YEAR($A13)-1,2,1)=1,DATE(YEAR($A13)-1,2,1),DATE(YEAR($A13)-1,2,7-WEEKDAY(DATE(YEAR($A13)-1,2,1),1)+2))+1)/7,0)),13.01),0) 

上面是公式我已经得到了一路。然而,以13为周期并不是一个可行的解决方案,因为它不一定总是有13周的时间。

例如:5/1/16应该是第1周因为它是q2的乞讨,而5/1/16是周日的开始。在这种情况下,使用上述的一周公式的结果是13

请帮助我..

+0

如果每个财政年度的季度不是每隔13个星期日,那么它们的日期是什么? –

+0

@Glitch_Doctor如果他们真的是在其下面,它可以有一个星期13 .. – Sandra

+0

是的,我最终得到它,每3个月的第一个星期天....看到我的答案,测试和工作。 –

回答

0

您可以使用WEEKNUM得到周数。

但是你提到你的那一周不会在周六结束,但在周日,所以你要做的=WEEKNUM(<insert here where the date is>,2)

0
=WEEKNUM (serial_num, [return_type]) 
  • SERIAL_NUM - 有效的Excel日期序列号格式。
  • return_type - [可选]每周开始的一天。默认值为1

Return_type可以是1或2:

  • 1 - 周开始在周日
  • 2 - 周在周一开始

或读...它为here计算2个日期之间的星期。

  1. 输入公式=(A2-A1)/7成空白单元格,(A2表示结束日期和A1是开始日期)
  2. 如果你只是想获得全周,请将此INT功能:=INT((A2-A1)/7)

试试吧here, on sheet "week"

希望它能帮上忙。

0

假定区开始和结束日期是在A3:A6分别然后:

=IF(AND(C1>=$A3,C1<$A4),WEEKNUM(C1)-WEEKNUM($A3)+1,IF(AND(C1>=$A4,C1<$A5),WEEKNUM(C1)-WEEKNUM($A4)+1,IF(AND(C1>=$A5,C1<$A6),WEEKNUM(C1)-WEEKNUM($A5)+1,WEEKNUM(C1)-WEEKNUM($A6)+(IF(AND(C1>=DATE(YEAR(C1),1,1),C1<DATE(YEAR(C1),MONTH($A6),DAY($A6))),53,1))))) 

这是检查在上述(C1)细胞中的日期是否为1/4开始和结束日期之间,并检查与开始日期相差数周。为了覆盖第四季度的延续到下一年的异数,最后的IF声明在受影响的日期增加了53个而不是1个。

编辑#1

=WEEKNUM(A1)-WEEKNUM(B1)+IF(AND(A1>=DATE(YEAR(A1),1,1),A1<DATE(YEAR(A1),MONTH(B1),DAY(B1))),53,1) 

本工程为您在您的评论中提到的A1:C1格式。显然这依靠手动更新B1C1

编辑#2

=WEEKNUM(C1)-WEEKNUM(B1) 

如果你指望2016年5月1日在第1周,然后加1的结果。从最低一周的数字中除去最高星期数(默认值从星期日开始计算,或者如果您想精确定义,则可以更改为(C1,1))。 Reult是13,它与手动计算相匹配。

您将希望查看以前的编辑,以查看当该季度在另一年结束时您将需要的if公式示例。要扭转负面数字,当日期在明年的早期时需要添加52;如果不是,则为0。

+0

我的错我输入了错误的列名。 A1有日历日期,B1有季度的开始日期,C1有结束日期。 – Sandra

+0

因此,您只使用当前日期和当前季度?你希望输出与周数一样吗? –

+0

是的,我基本上试图找到从第一个星期天开始的季度下降:( – Sandra

-1

可以使用 “隐藏” 功能DATEDIF:

例如在A1我们写开始日期(2016年1月5日),在B1 - 结束日期(31/07/2016)和C1 = DATEDIF(A1,B1,“d”)/ 7结果将是13

+0

扩大你的答案,这是没有什么意义的。 – Takarii

相关问题