日付から年だけ・月だけ・日だけを取り出すYEAR・MONTH・DAY関数

解説記事内の画像はExcel 2016のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2016, 2013, 2010

YEAR・MONTH・DAY関数01 図のA2番地には、日付が入力されています
こういった日付データから、年の部分の数字だけとか、月の部分の数字だけ、日の部分の数字だけがほしい!ということがあったりします。

これを人間様が見れば、年は「2020」で、月は「5」で、日は「19」だよって、瞬時に分かります。
ところがExcelさんは、パッと見だけで即答はしてくれません。

YEAR・MONTH・DAY関数02 どうしてかというと、それはExcelさんの日付の管理の仕方が特別だから。
試しに、日付が入力されているA2番地を選択し、

YEAR・MONTH・DAY関数03 [ホーム]タブ、

YEAR・MONTH・DAY関数04 [数値]グループにある、
【Excel 2016】[数値の書式]ボックスの[▼]をクリックし、
【Excel 2013・2007】[表示形式]ボックスの[▼]をクリックし、
一覧から[標準]を選択すると、

YEAR・MONTH・DAY関数05 さっきまで日付だったはずのデータが、数字になってしまったではありませんか!

これはExcelさん特有の日付の管理方法「シリアル値」によるもの。
Excelさんは、1日24時間を、数字の「1」として管理していて、それを人間様が分かりやすいよう、日付という見た目で見せてくれているだけなので、人間様が見た「2020/5/19」という日付は、Excelさんから見ると「43970」というただの数字だったりします。
だからこそExcelさんは、人間様が何もせずとも、「2020/5/19」という日付の、年は「2020」で、月は「5」で、日は「19」だよという風に、即答してくれることはありません。
Excelさんからすれば「いやいや、急にそんなこと言われてもね。頼み方ってもんがあるでしょう。」といったところでしょうか。

そこで登場するのがYEAR関数・MONTH関数・DAY関数。
関数を使うことで、Excelさんは様々なことを内部で順序立てて考えてくれるので、指定した日付データから、年の部分の数字だけとか、月の部分の数字だけ、日の部分の数字だけを取り出すことができるようになります。

YEAR・MONTH・DAY関数05 それでは早速、これらの関数を使っていきたいのですが、日付データの見た目が数字のままだと、関数で答えが出た時にかえって分かりづらいので、見た目を日付に直しておくことにしましょう。
A2番地を選択した状態で

YEAR・MONTH・DAY関数03 [ホーム]タブ、

YEAR・MONTH・DAY関数06 [数値]グループにある、
【Excel 2016】[数値の書式]ボックスの[▼]をクリックし、
【Excel 2013・2007】[表示形式]ボックスの[▼]をクリックし、

YEAR・MONTH・DAY関数07 一覧から[短い日付形式]をクリックで選択すれば、

YEAR・MONTH・DAY関数02 元々の、日付の見た目に直すことができました!

スポンサーリンク

「年」の部分の数字だけ取り出すYEAR関数

YEAR・MONTH・DAY関数08 それでは、A2番地に入力されている日付の、「年」の部分の数字だけを取り出して、A6番地にその結果が表示されるようにしてみましょう。
計算結果を表示させたいのはA6番地なので、A6番地を選択し、[関数の挿入]ボタンをクリックします。

YEAR・MONTH・DAY関数09 関数を選択するためのダイアログボックスが表示されます。
[関数の分類]を選択する際、どの関数がどの分類に属しているのかを覚えるのは面倒なので、このサイトでは[すべて表示]をオススメしていますが、今回のように、明らかに日付に関する関数だと分かるような場合には[日付/時刻]を選択すると、すべての関数よりも数が絞れて表示されるので探しやすくなります。

YEAR・MONTH・DAY関数10 そして、「年」の部分だけを取り出すのは、YEAR関数です。
まんま英語にしました、っていう関数名なので覚えやすいです。
というわけで、[関数名]の一覧から「YEAR」を選択します。
この時、「YEAR」の頭文字である「Y」のところまで、一瞬でスクロールする技がありました。
忘れてしまった方は、「Excel 関数 基本のキ(まずはここから編)」をご覧ください。
「YEAR」を選択したら、[OK]ボタンをクリックします。

YEAR・MONTH・DAY関数11 YEAR関数の引数を指定するダイアログボックスが表示されます。
[シリアル値]の欄には、「年」を取り出したい日付データが入っているセルを指定します。
[シリアル値]欄に文字カーソルが入っている状態で、

YEAR・MONTH・DAY関数12 「年」を取り出したい日付データが入っている、A2番地をクリックすると、ダイアログボックスの[シリアル値]欄に「A2」と設定することができました。
[OK]ボタンをクリックすると、

YEAR・MONTH・DAY関数13 A2番地に入力されている日付データの「年」の部分の数字だけを表示させることができました!
このYEAR関数を入力したA6番地を選択した状態で、数式バーを見ると、今回入力したYEAR関数の数式を確認することができます。

YEAR・MONTH・DAY関数14 この数式は、「A2番地の「年」の部分だけを取り出してね」となっていることが分かります。

スポンサーリンク

「月」の部分の数字だけ取り出すMONTH関数

YEAR・MONTH・DAY関数15 今度はB6番地に、A2番地に入力されている日付の「月」の部分だけを取り出してみることにしましょう。
計算結果を表示させたいのはB6番地なので、B6番地を選択し、[関数の挿入]ボタンをクリックします。

YEAR・MONTH・DAY関数16 関数を選択するダイアログボックスが表示されるので、先ほど同様、[関数の分類]は[日付/時刻]を選択します。
[関数名]は、「年」が「YEAR」だったので、お気付きの方も多いと思います!
今回は「月」を取り出したいので、[関数名]の一覧から「MONTH」を選択します。
この時、「MONTH」の頭文字である「M」のところまで、一瞬でスクロールする技を使うと便利です。
「MONTH」を選択したら、[OK]ボタンをクリックします。

YEAR・MONTH・DAY関数17 MONTH関数の引数を指定するダイアログボックスが表示されます。
考え方は、先ほどのYEAR関数と全く同じなので、[シリアル値]の欄には、「月」を取り出したい日付データが入っているセルを指定します。
[シリアル値]欄に文字カーソルが入っている状態で、日付データが入っているA2をクリックで選択すれば、[シリアル値]欄に「A2」と指定することができます。
[OK]ボタンをクリックすると、

YEAR・MONTH・DAY関数18 A2番地に入力されている日付データの「月」の部分の数字だけを表示させることができました!
MONTH関数を入力したB6番地を選択した状態で数式バーを見ると、今回入力したMONTH関数の数式を確認することができます。

YEAR・MONTH・DAY関数19 この数式は、「A2番地の「月」の部分だけを取り出してね」となっていることが分かります。

「日」の部分の数字だけ取り出すDAY関数

YEAR・MONTH・DAY関数20 今度はC6番地に、A2番地に入力されている日付の「日」の部分だけを取り出してみることにしましょう。
計算結果を表示させたいのはC6番地なので、C6番地を選択し、[関数の挿入]ボタンをクリックします。

YEAR・MONTH・DAY関数21 「年」が「YEAR」、「月」が「MONTH」。
というわけで、「日」を取り出すのはDAY関数です。
「DAY」を選択し、[OK]ボタンをクリックします。

関数の引数を指定するダイアログボックスについては、説明するまでもありませんね。
YEAR関数・MONTH関数と同じように、[シリアル値]欄に、「日」の部分を取り出したい日付データが入っているセルを指定すればいいだけですヨ。

YEAR・MONTH・DAY関数22 A2番地に入力されている日付データの「日」の部分の数字だけを表示させることができました!
DAY関数を入力したC6番地を選択した状態で数式バーを見ると、今回入力したDAY関数の数式を確認することができます。

YEAR・MONTH・DAY関数23 この数式は、「A2番地の「日」の部分だけを取り出してね」となっていることが分かります。

スポンサーリンク

関数だからこそ

YEAR・MONTH・DAY関数24 現在、A6、B6、C6番地の各セルには、A2番地に入力されている日付データの、年・月・日のそれぞれを取り出すように、関数が設定されています。

YEAR・MONTH・DAY関数25 ここで、A2番地のデータを「1985/1/31」に変更してみます。
入力後、確定の[Enter]キーをお忘れなく。
A6、B6、C6番地に設定されている各関数では、「A2番地から取り出してね」という設定になっているので、A2番地の日付を別の日付に修正しても、当然、その修正された日付から、年・月・日が取り出されます!
関数で設定しているからこそ、すぐに再計算されるわけですね。

表示形式が違っても

YEAR・MONTH・DAY関数26 今度はちょっと実験をしてみましょう。
日付データが入力されているA2番地を選択し、選択したA2番地のところで右クリック、一覧から[セルの書式設定]をクリックします。

YEAR・MONTH・DAY関数27 このA2番地の日付の見た目を変えてみたいと思います。
[表示形式]タブで、日付が「和暦」で「平成○年○月○日」という見た目で表示されるように設定を変更します。

YEAR・MONTH・DAY関数28 A2番地の「1985/1/31」という日付の見た目が、和暦の「昭和60年1月31日」という見た目に変わりました。
ここで注目なのは、この日付の「年」の部分だけを取り出したA6番地。
「昭和60年」なので、「60」と表示されてもいいようなものですが、先ほどの「1985」から変わっていません。
見た目が和暦だろうが西暦(グレゴリオ暦)だろうが、YEAR関数で取り出すのは西暦(グレゴリオ暦)での数字だということが、この実験で分かりました。

YEAR・MONTH・DAY関数29 もう一度、A2番地の日付の表示形式を変えてみます。
A2番地を選択し、選択したA2番地のところで右クリック、一覧から[セルの書式設定]をクリックします。

YEAR・MONTH・DAY関数30 今度は日付の表示形式を、「英語(米国)」の表示形式で、「月」の部分が「March」とか「April」といった英字表記になる形式を選択してみます。

YEAR・MONTH・DAY関数31 A2番地の「昭和60年1月31日」という見た目が、「January 31, 1985」という見た目に変わりました。
ここで注目なのは、この日付の「月」の部分だけを取り出したB6番地。
「January」という英字表記の見た目に変えたので、B6番地の結果も「January」と表示されてもいいようなものですが、先ほどの「1」の状態から変わっていません。
見た目が英字表記だろうが数字表記だろうが、MONTH関数で取り出すのは、「月の数字」だということが、この実験で分かりました。

今回はYEAR関数・MONTH関数・DAY関数を一気にご紹介しました。
設定方法も簡単ですし、関数名も「まんま」なので、覚えやすいと思います。
これらの関数は、Excelで仕掛けの効いたカレンダーなどを作るときに活躍したりします。

スポンサーリンク