Excel

【Excel】エクセルで1年足す(1年後の日付を表示)方法

当サイトでは記事内に広告を含みます

ここでは、【Excel】エクセルで1年足す(1年後の日付を表示)方法について解説しています。

具体的には、

・DATE関数とYEAR関数、MONTH関数、DAY関数を使用する。

・EDATE関数を使う方法。

・マクロも確認。

それではさっそく見ていきましょう。

エクセルで1年後の日付を表示する方法【関数、b列の元データをc列に一括表示、オートフィル】

まずは、関数を使って1年後の日付を表示する方法をみていきましょう。

まず、B列に元となる日付データを入力します。

次に、C列の先頭のセルに以下の数式を入力します。

=DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))

この数式で「DATE関数」とは、年、月、日を指定して日付を返す関数です。

「YEAR関数」は、日付から年を取り出す関数です。B2セルの日付の年に1を加算しています。

「MONTH関数」は、日付から月を取り出す関数です。B2セルの日付の月をそのまま使用します。

「DAY関数」は、日付から日を取り出す関数です。B2セルの日付の日をそのまま使用します。

したがって、この数式全体で、B2セルの日付の1年後の日付を計算しています。

入力したセルの右下をドラッグしてオートフィルすると、B列の日付に対応した1年後の日付がC列に一括で表示されます。

 

VBA(マクロ)の場合

次に、VBAを使って1年後の日付を表示する方法を紹介します。

Alt+F11でVBE画面を開いて以下をコピペしましょう。

Sub AddOneYear()
    Dim lastRow As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Range("C2:C" & lastRow).Formula = "=DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))"
        .Range("C2:C" & lastRow).Value = .Range("C2:C" & lastRow).Value
    End With
End Sub

このマクロの意味を解説します。

lastRow変数には、B列の最終行の行番号が格納されます。

ActiveSheetは現在アクティブなシートを表します。

.Range(“C2:C” & lastRow).Formulaで、C2セルからC列の最終行まで数式を一括で入力します。数式の内容は、先ほど紹介した関数と同じです。

.Range(“C2:C” & lastRow).Valueで、入力した数式を値に変換します。

Alt+F8でマクロ選択画面を開きAddOneYear関数を実行します。

エクセルで1年後の日付を表示する方法【別の関数、b列の元データをc列に一括表示、オートフィル】

DATE関数以外にも、1年後の日付を表示する関数があります。ここでは、EDATE関数を使う方法を紹介します。

B列に元となる日付データを入力し、C列の先頭のセルに以下の数式を入力します。

=EDATE(B2,12)

このEDATE関数は、指定した日付に、指定した月数を加算した日付を返す関数です。

B2セルの日付に、12ヵ月(1年)を加算しています。

入力したセルの右下をドラッグしてオートフィルすると、B列の日付に対応した1年後の日付がC列に一括で表示されます。

 

VBA(マクロ)の場合

EDATE関数を使ったVBAも紹介します。

Alt+F11でVBE画面を開いて以下をコピペしましょう。

Sub AddOneYearEDATE()
    Dim lastRow As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Range("C2:C" & lastRow).Formula = "=EDATE(B2,12)"
        .Range("C2:C" & lastRow).Value = .Range("C2:C" & lastRow).Value
    End With
End Sub

このマクロの意味は、DATE関数を使ったマクロとほとんど同じです。.Range(“C2:C” & lastRow).Formulaの数式がEDATE関数を使っている点だけが異なります。

Alt+F8でマクロ選択画面を開きAddOneYearEDATE関数を実行します。

まとめ エクセルで1年後の日付を表示する方法

以上、エクセルで1年後の日付を表示する方法を紹介しました。

関数を使う方法とVBAを使う方法、それぞれ2つずつ紹介しましたので、用途に応じて使い分けてください。