从Excel中每个会计年度的第一个周日开始周数

我试图find一个财政年度的周数,这个财政年度是从二月份的第一个星期天开始的。 我已经得到了一个点,我可以得到从每年的第一个开始的星期数(在我的情况下)。

无法从第一个星期天开始。 以下是我想到的。

=IF(AND(MONTH($E2)=2,DAY($E2)=1),1,ROUNDUP(($E2-DATE(YEAR($E2)-IF(MONTH($E2)<2,1,0),2,0)+WEEKDAY(DATE(YEAR($E2)-IF(MONTH($E2)<2,1,0),2,0)))/7,0)) 

我也希望在今年最后一个星期六的时候结束。 例如:2016年2月,本周计数应该从2016年7月7日开始,计数应该在2017年4月4日结束。

使用此公式来查找给定date的周数:

 =IF(A1>=IF(WEEKDAY(DATE(YEAR(A1),2,1),1)=1,DATE(YEAR(A1),2,1),DATE(YEAR(A1),2,7-WEEKDAY(DATE(YEAR(A1),2,1),1)+2)),ROUNDUP((A1-IF(WEEKDAY(DATE(YEAR(A1),2,1),1)=1,DATE(YEAR(A1),2,1),DATE(YEAR(A1),2,7-WEEKDAY(DATE(YEAR(A1),2,1),1)+2))+1)/7,0),ROUNDUP((A1-IF(WEEKDAY(DATE(YEAR(A1),2,1),1)=1,DATE(YEAR(A1)-1,2,1),DATE(YEAR(A1)-1,2,7-WEEKDAY(DATE(YEAR(A1)-1,2,1),1)+2))+1)/7,0)) 

我希望你想要这个。

更新

如果你想要财政季度的周数,使用这个:

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

我只是把它凑在一起(毫无疑问,有一个更优雅的方式来做到这一点)。 你可以在VBA编辑器中使用它,然后在工作表上使用function =AltWeekNumber(E2)

 Function AltWeekNumber(endDate As Range) As Date Dim startDate As Date startDate = FirstFebruarySunday(year(endDate.Value)) If startDate > endDate Then startDate = FirstFebruarySunday(year(endDate.Value) - 1) End If AltWeekNumber = DateDiff("w", startDate, endDate.Value, vbSunday) End Function Private Function FirstFebruarySunday(year As Integer) As Date For i = 1 To 7 If Weekday(DateSerial(year, 2, i)) = 1 Then FirstFebruarySunday = DateSerial(year, 2, i) Exit Function End If Next i End Function