VBATips

任意の日付から「年度」を求める【パーツ化】【ExcelVBA】

任意の日付から、年度を算出したい場合があります。
年度とは、事務・会計等の便宜上、ある月日から始まることに定めて区分した、一年間の期間のことです。

年度の期間で一般的なのは、「4月1日 ~ 翌年3月31日」までを1年間とした区切り方で、
国や地方自治体の会計年度で使用しているため馴染みがあります。

任意の日付から「年度」を求めるパーツ化コード

'■2023/4/1~2024/3/31までを2023年度として、「2023」を取得
Public Function Get_Year(ByVal sDate As Date) As Long
    If Month(sDate) >= 4 Then
        Get_Year = Year(sDate)
    Else
        Get_Year = Year(sDate) - 1
    End If
End Function


実際の使い方

Public Sub sample()
    Debug.Print Get_Year("2023/05/01")  '2023
    Debug.Print Get_Year("2024/01/01")  '2023
    Debug.Print Get_Year("2024/03/31")  '2023
    Debug.Print Get_Year("2024/04/01")  '2024
End Sub

注意点

  • 任意の日付から法人の「事業年度」(会計期間)を求める場合はこちら
  • 任意の日付から会社(法人)の「第〇期」を求める場合はこちら。
  • 任意の日付からクォーターを求める場合はこちら

関連記事

コメント

タイトルとURLをコピーしました