簡體   English   中英

從Excel中每個會計年度的第一個星期日開始周數

[英]Start the Week Number from the first sunday of every fiscal year in Excel

我試圖找到從2月的第一個星期日開始的會計年度的周數。 我已經達到了這樣的程度,我可以獲得每年第一天開始的周數(在我的情況下是feb)。

無法從第一個星期日開始。 以下是我的想法。

=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季度開始,計數應於2017年2月2日結束。

使用此公式查找給定日期的周數:

=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編輯器中的Module中然后在工作表上使用函數=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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM