ビジネスの実務で欠かせない日付の計算。見積書の有効期限を例にした場合、前回は「14営業日後」のように営業日(稼働日)ベースで期日を求める方法を解説しました。

では、見積書の有効期限を「1カ月後」にしたいときは、どのようにすればいいか、わかりますか?

エクセル時短】第47回では、年、月、日単位で日付を処理する方法を紹介します。簡単なようで、意外と悩んでしまうポイントなので、ぜひこの機会にマスターしてください!

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

「見積日」を入力すると、「有効期限」に1カ月後の日付が自動的に入るようにするのが今回の目的。ついでに「平成30年01月12日(金)」といった和暦への変換も行います。

年、月、日単位の加減は4つの関数を組み合わせる

1カ月後の日付を求めるといっても、単純に30日を足してもうまくいきませんよね。月の大小を考慮しないといけません。

そこで定番として覚えてほしいのが、「YEAR」(イヤー)、「MONTH」(マンス)、「DAY」(デイ)、「DATE」(デート)の4つの関数です。構文は以下のとおり。

YEARシリアル値

MONTHシリアル値

DAYシリアル値

DATE, ,

YEAR、MONTH、DAY関数は、日付のシリアル値から年、月、日を取り出します。シリアル値とは「1900/1/1」を「1」として、1日に1ずつ加算されていく数値のことです。

「日付が入力されたセルの表示形式を変えたら、よくわからない数値になった!」という経験はありませんか? 例えば「2018/02/01」の表示形式を[標準]に変更すると、「43132」という数値になります。それがシリアル値です。

DATE関数は、年、月、日をつなげて日付のシリアル値に変換します。例えば「=DATE(2018,2,1)」という数式の結果は、シリアル値で表すと「43132」、日付の表示形式を適用すると「2018/2/1」になります。

今回の目的である1カ月後の日付を求めるには、『日付から月だけを取り出して「1」を加算し、それを日付に戻す』という処理を行うことになります。基準となる「見積日」がセルF9にあるとすると、数式は以下のように表せます。

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

1YEAR、MONTH、DAY、DATE関数を組み合わせて入力する

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

それでは、実際の手順を見ていきましょう。「有効期限」を示すセルF10に上記の数式を入力します。

21カ月後の日付を求められた

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

見積日から1カ月後の日付(2018/02/12)が求められました。

なお、仮に見積日が「2018/01/31」だったとしても、1カ月後の有効期限が「2018/02/31」といったありえない日付になることはありません。この場合の結果は「2018/3/3」になります。

セルの表示形式で和暦に変換する

見積書の日付を和暦で記載したいときは、セルの表示形式で整えます。[セルの書式設定]ダイアログボックスを表示し、ユーザー定義の書式を作成しましょう。ここでは「2018/1/12」を「平成30年01月12日(金)」と表示します。

1[セルの書式設定]ダイアログボックスを表示する

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

表示形式を整えたいセルを選択し、[Ctrl]+[1]キーを押します。

2ユーザー定義の書式を作成する

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

[セルの書式設定]ダイアログボックスが表示されました。①[表示形式]タブの[分類]から②[ユーザー定義]をクリックし、③[種類]の入力欄に「ggge"年"mm"月"dd"日""("aaa")"」と入力します。「ggge」は年の和暦表示、「mm」「dd」は月日の2桁表示、「aaa」は曜日を表します。文字列は「"」で囲みます。

3日付を和暦で表示できた

【エクセル時短】1カ月後の日付を正しく求めるには? 年や月だけを加減するための「4つの関数」を理解する

日付を「平成30年01月12日(金)」の表示形式で整えられました。

いかがでしたか? 年、月、日単位での加減はYEAR、MONTH、DAY関数。それをDATE関数と組み合わせて表示形式を整える。そんな順序で覚えておくと、わかりやすいと思います。

なお、ここで解説した方法は、年、月、日が異なるセルに入力されていても汎用的に使えるメリットがあります。「年/月/日」の形式で入力されているセルに対して月のみを加減するのであれば、EDATE関数を使うのがもっとも簡単です。以下の関数リファレンスもあわせて参考にしてください。

※読者様からの指摘を受け、説明を追加しました。情報提供いただきありがとうございました。

【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧【エクセル時短まとめ】