この記事では、エクセルで日付に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の両方の方法を紹介しました。
エクセル操作になれ、さらに快適に過ごしていきましょう!