如何在excel中计算两个日期范围之间的周数
我有一个问题,我在excel中有3列,A1是日历日期;B1列有会计季度开始日期;以及C1列中的财政季度结束日期 我试图找出A2和A3之间的周数。这里的问题是我应该把第一个星期日看作是本季度的第一周。我的财政年度从每个月的2月开始 我进行此计算的原因是填充一个季度的周数,其中我的第一周从该季度的第一个星期日开始如何在excel中计算两个日期范围之间的周数,excel,date,datetime,excel-formula,excel-2007,Excel,Date,Datetime,Excel Formula,Excel 2007,我有一个问题,我在excel中有3列,A1是日历日期;B1列有会计季度开始日期;以及C1列中的财政季度结束日期 我试图找出A2和A3之间的周数。这里的问题是我应该把第一个星期日看作是本季度的第一周。我的财政年度从每个月的2月开始 我进行此计算的原因是填充一个季度的周数,其中我的第一周从该季度的第一个星期日开始 =ROUNDUP(MOD(IF(A13>=IF(DATE(YEAR($A13),2,1)=1,DATE(YEAR($A13),2,1),DATE(YEAR(A13),2,7-WEEK
=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周,因为它是第2季度的乞讨,5/1/16是星期天开始的。在这种情况下,使用上述公式一周的结果为13
请帮助我。您可以使用
WEEKNUM
获取周数
然而,您提到您的一周不会在周六结束,而是在周日结束,因此您必须执行=WEEKNUM(,2)
- 序列号-序列号格式的有效Excel日期
- 返回\u type-[可选]一周开始的那一天。默认值为1
- 一周从周日开始
- 两周从周一开始
=INT((A2-A1)/7)
希望能有所帮助。假设季度开始日期和结束日期分别在
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)))))
这适用于您在评论中提到的A1:C1
格式。显然,这依赖于手动更新B1
和C1
编辑#2
=WEEKNUM(C1)-WEEKNUM(B1)
如果将2016年1月5日计算为第1周,则在结果中添加1。从最低周数中去掉最高周数(默认值为从星期日开始计数,如果您想准确定义,可以更改为(C1,1)
)。鲁尔特是13,这将符合手动计算
您将希望查看上一次编辑,以获取在下一个季度结束时所需的if公式的示例。若要反转负数,当日期在下一年年初时,需要添加52,否则需要添加0。您可以使用“隐藏”函数DATEDIF:
例如,我们在A1中写入开始日期(2016年5月1日),在B1中写入结束日期(2016年7月31日),在C1=DATEDIF(A1,B1,“d”)/7中,如果每个会计年度的季度不是每13个星期日一次,则结果为13,那么他们的日期是什么呢?@Glitch_医生如果他们真的在第13周的话,那就可以了。是的,我最后知道了,每3个月的第一个星期天。。。。看到我的答案,测试和工作。我的坏我输入的列名错误。A1是日历日期,B1是季度的开始日期,C1是结束日期。那么您只处理当前日期和当前季度?你想要的输出和周数一样吗?是的,我基本上是想找出从第一个星期日开始的季度中下降的周数:(@Sandra请看编辑,我相信这就是你要找的。任何问题都可以问。可能是我把你弄糊涂了。A1=5/1/16 B1=5/1/16 C1=7/31/16现在我正试图得到B1和C1之间从周日开始的周数。扩大你的答案,这没有什么意义。
=WEEKNUM(A1)-WEEKNUM(B1)+IF(AND(A1>=DATE(YEAR(A1),1,1),A1<DATE(YEAR(A1),MONTH(B1),DAY(B1))),53,1)
=WEEKNUM(C1)-WEEKNUM(B1)