追記:2019/09/20
この記事の内容は以前に作成したもので、より適切な方法をこちらのページに記載しています。
Excel標準のワークシート関数で月の最終日を取得できる便利な関数があるのでよければご覧ください。
月の日数は一律でないので計算しにくい
日付の足し算・引き算などはExcelの中でかなり頻繁に使われる機能だと思いますが、日数が月によってバラバラなために計算が複雑になることが多いと思います。
特にスケジュール帳の作成や共有のシフト表など間違えてはいけない書類・データを作る際、時間をかけて手作業で行っている方も多いと思います。
今回はExcelなどでスケジュール表や共有シフト表を作成する際に役立つ「翌月の初日を」ユーザー定義関数を紹介します。
スポンサーリンク
当月の初日を算出するユーザー定義関数
当月の初日を算出するにはYear関数とMonth関数を使用し、下記のように設定します。
Function 当月初日(該当日 As Date) As Date
当月初日 = Year(該当日) & “/” & Month(該当日) & “/” & 1 ’①
End Function
当月初日 = Year(該当日) & “/” & Month(該当日) & “/” & 1 ’①
End Function
翌月の初日を算出するユーザー定義関数
どんな日付からでも翌月の初日をすぐに算出できる関数があれば、日付の計算における複雑さは改善できると思われますので、今回私は翌月の初日を算出する関数を考えました。
作成の手順は色々パターンがありますが、今回私が考えた関数は下記の手順で翌月の初日を算出する仕様となっています。
Function 翌月初日(該当日 As Date) As Date
Dim 翌月任意日 As Date
翌月任意日 = 当月初日(該当日) + 31 ’②
翌月初日 = Year(翌月任意日) & “/” & Month(翌月任意日) & “/” & 1 ’③
End Function
Dim 翌月任意日 As Date
翌月任意日 = 当月初日(該当日) + 31 ’②
翌月初日 = Year(翌月任意日) & “/” & Month(翌月任意日) & “/” & 1 ’③
End Function
前月の初日を算出するユーザー定義関数
翌月の初日を算出するユーザー定義関数と同様の方法ですが、当月の初日を算出し、そこから1を引いた値で前月を導き出しています。(④)
Function 前月初日(該当日 As Date) As Date
Dim 前月任意日 As Date
前月任意日 = 当月初日(該当日) – 1 ’④
前月初日 = Year(前月任意日) & “/” & Month(前月任意日) & “/” & 1 ’⑤
End Function
Dim 前月任意日 As Date
前月任意日 = 当月初日(該当日) – 1 ’④
前月初日 = Year(前月任意日) & “/” & Month(前月任意日) & “/” & 1 ’⑤
End Function
おすすめ書籍 (広告)
Amazon 楽天 Yahoo検索 |
---|
Amazon 価格:¥3,080円 |
ネオウィング 楽天市場店 価格:3,080円 |
ネオウィング 楽天市場店 価格:3,080円 |
ネオウィング Yahoo!店 価格:3,080円 |
ネオウィング Yahoo!店 価格:3,300円 |
コメント