F029 日付を四半期に変換する関数

2019-05-20
EXCEL自作関数

 日付の四半期を計算する関数、西暦での年度の表示も可能です。
VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法

登録されたら、シート上からユーザー関数「YQuarter 」が使用できます。
使い方は 
ワークシート上で = YQuarter (日付,[年度の有無])の関数として使用できます。
※年度の有無、0は年度なし、1は年度あり
【例】
 YQuarter(#2019/5/7#) → 第一四半期
 YQuarter(#2020/3/7#,1) → 2020年度第一四半期

Function YQuarter(GDate As String, Optional N As Long) As Variant
’ 四半期を計算する関数、項目1に表示形式、0は年度なし、1は年度あり
’ YQuarter(日付,[年度表示])
’ 例1 YQuarter(#2019/5/7#) → 第一四半期
’ 例2 YQuarter(#2020/3/7#,1) → 2020年度第一四半期
Dim Y As Long
Dim M As Long
Dim S As Long
Dim SD(1 To 4, 0 To 1) As Variant
 SD(1, 0) = “第1四半期”
 SD(2, 0) = “第2四半期”
 SD(3, 0) = “第3四半期”
 SD(4, 0) = “第4四半期”
On Error GoTo EXITFEnd
If IsDate(GDate) = True Then
 M = Month(GDate)
 If M <= 3 Then
 Y = Year(GDate)- 1
Else
 Y = Year(GDate)
End If

If M <= 2 Then
 S = 4
ElseIf M <= 5 Then
 S = 1
ElseIf M <= 8 Then
 S = 2
ElseIf M <= 11 Then
 S = 3
ElseIf M <= 12 Then
 S = 4
End If

If N = 0 Then
 YQuarter = SD(S, 0)
ElseIf N = 1 Then
YQuarter = Y & “年度” & SD(S, 0)
 End If
Else
 YQuarter = GDate
End If
Exit Function
EXITFEnd:
End Function

ここで紹介したコード使用による損害に対しては一切責任は負えません。