Excel

【Excel】エクセルで日付に1日足す・1日後を表示する方法【プラス1日:関数やVBA(マクロ)】

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事では、エクセルで日付に1日足す・1日後を表示する方法【プラス1日:関数やVBA(マクロ)】について解説しています。

関数だけでなく、使えると快適さが増すVBA(マクロ)の処理も記載していますので、ぜひ好みの方法をご活用くださいませ。

それでは詳しく見ていきます♪

エクセルで日付に1日足す,1日後を表す方法【〜関数の使用】

エクセルで日付に1日足すには、以下の関数を使います。

=B2+1

この関数をC2セルに入力し、オートフィルを使ってC列全体に適用します。こうすることで、B列の日付に1日足した日付がC列に表示されます。

 

処理前のエクセルの表

A B C
1 日付 1日後
2 2023/4/1 =B2+1
3 2023/4/15

 

エンターで計算確定後に、このセルの右下にカーソルを合わせると出てくる十字をドラッグして数式をコピーします(オートフィルといいます)。

 

処理後のエクセルの表:

A B C
1 日付 1日後
2 2023/4/1 2023/4/2
3 2023/4/15 2023/4/16

と一括で1日足す処理が完了ですね!

 

なお、セルの書式設定として日付表記を選んでおかないとしシリアル値(45675などの数値)となりおかしくなるので、予め変換しておきましょう。

 

VBA(マクロ)の場合

VBA(マクロ)を使って日付に列全体に一括で1日足すこともできます。以下のコードを使います。

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


Sub AddOneDay()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    
    Range("C2:C" & lastRow).Formula = "=B2+1"
    Range("C2:C" & lastRow).Value = Range("C2:C" & lastRow).Value
End Sub

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

このマクロは、B列の最終行を自動的に検出し、C列全体に日付に1日足した値を入力します(上の関数と同様の内容)

 

 

エクセルで日付に1日足す,1日後の表示方法【=DATE(YEAR(B2), MONTH(B2), DAY(B2)+1)関数

日付に1日足すには、DATE関数などを組み合わせて処理する方法もあります。

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

この関数をC2セルに入力し、オートフィルを使ってC列全体に適用します。

 

処理前のエクセルの表

A B C
1 日付 1日後
2 2023/4/1 =DATE(YEAR(B2), MONTH(B2), DAY(B2)+1)
3 2023/4/15

エンターで計算確定後に、このセルの右下にカーソルを合わせると出てくる十字をドラッグして数式をコピーします(オートフィルといいます)。

 

処理後のエクセルの表:

A B C
1 日付 1日後
2 2023/4/1 2023/4/2
3 2023/4/15 2023/4/16

と一括で1日足す処理が完了ですね!

VBA(マクロ)の場合

DATE関数を使ったVBA(マクロ)のコードは以下の通りです。

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


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

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

このマクロは、DATE関数を使ってB列の日付に1日足した値をC列全体に入力します。

 

まとめ エクセルで日付で1日後を表示する方法【プラス1日:関数やVBA(マクロ)】

以上が、エクセルで日付に1日足す方法です。関数とVBAの両方の方法を紹介しました。

エクセル操作になれ、さらに快適に過ごしていきましょう!