関数・メソッド

年初めからの日付を計算する【DatePart関数】【ExcelVBA】

構文

DatePart(interval, date[, firstdayofweek[, firstweekofyear]]

interval・・・・・・・・時間単位を表す文字列※下記参照
date・・・・・・・・計算したいシリアル値・日付
firstdayofweek・・・・週の始まりの曜日を表す定数を指定【省略可能】※下記参照
firstweekofyear・・・・年度の第一週を表す定数を指定【省略可能】※下記参照
引数intervalに設定する値
設定値 内容
yyyy Year関数同様
q 四半期
m Month関数同様
y 年間通算日
d Day関数同様
w 週日
ww
h Hour関数同様
n Minute関数同様
s Second関数同様
引数firstdayofweekに設定する定数
定数 内容
vbUseSystem 0 各言語対応(NLS API)の設定値
vbSunday 1 日曜【規定値】
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜
引数firstweekofyearに設定する定数
定数 内容
vbUseSystem 0 各言語対応(NLS API)の設定値
vbFirstJan1 1 1 月 1 日を含む週を年度の第 1 週とする【規定値】
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週とする
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を、年度の第 1 週とする

DatePart関数のサンプルコード

Public Sub sample()

    '■標準の使い方(日付)
    Debug.Print DatePart("y", "2021/12/31")     '365   日数
    Debug.Print DatePart("q", "2021/12/31")     '4     クォーター
    Debug.Print DatePart("w", "2021/12/31")     '6     日目(日曜日から起算して6日目)
    Debug.Print DatePart("ww", "2021/12/31")    '53  週目

End Sub

注意点

  • サンプルで提示した、年初めや週初めからの日付を計算する事をメインに考えた方が使いやすいでしょう。
    (例)DatePart(“yyyy”, “2021/12/31”)等の結果はYear関数同様に2021と返ってきます。
  • 開始日、終了日を自由に決めて間隔を計算する場合はDateDiff関数です。

関連記事

コメント