関数・メソッド

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

構文

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

interval・・・・・・・・時間単位を表す文字列※下記参照
date・・・・・・・・計算したいシリアル値・日付
firstdayofweek・・・・週の始まりの曜日を表す定数を指定【省略可能】※下記参照
firstweekofyear・・・・年度の第一週を表す定数を指定【省略可能】※下記参照
引数intervalに設定する値
設定値内容
yyyyYear関数同様
q四半期
mMonth関数同様
y年間通算日
dDay関数同様
w週日
ww
hHour関数同様
nMinute関数同様
sSecond関数同様
引数firstdayofweekに設定する定数
定数内容
vbUseSystem0各言語対応(NLS API)の設定値
vbSunday1日曜【規定値】
vbMonday2月曜
vbTuesday3火曜
vbWednesday4水曜
vbThursday5木曜
vbFriday6金曜
vbSaturday7土曜
引数firstweekofyearに設定する定数
定数内容
vbUseSystem0各言語対応(NLS API)の設定値
vbFirstJan111 月 1 日を含む週を年度の第 1 週とする【規定値】
vbFirstFourDays27 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週とする
vbFirstFullWeek3全体が新年度に含まれる最初の週を、年度の第 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関数です。

関連記事

コメント

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