Excel(エクセル)YEAR関数の使い方|日付から「年」だけを抽出する
使用関数:YEAR
YEAR(イヤー)関数とは?
YEAR関数は日付から「年」に当たる数字だけを抽出します。誕生日から誕生年を、入社年月日から入社年度を、イベントの開催予定日から開催年度を取り出して表示します。
日付から「月」に当たる数字を抽出するにはMONTH関数を使います。
日付から「日」に当たる数字を抽出するにはDAY関数を使います。
YEAR関数の引数と書式
「数式」タブ「関数ライブラリ」→「日付/時刻」→ YEARをクリックします。
YEAR関数の引数は「シリアル値」です。
シリアル値とは1900年1月1日を「1」として、1日1ずつ加算した数値で日付を表したものです。シリアル値を足し算・引き算することで期間を計算したり、1週間後、1ヶ月前、1年後の日付を簡単に取得することができます。シリアル値は「表示形式」によって日付のスタイルで表示されます。「2022/1/19」「令和4年1月19日」「19-Jan」は全て同じシリアル値「44580」です。表示が違っても、並べ替えや計算にはこの数字が使われます。
YEAR関数の書式の構成はこうなります。
YEAR関数で「年」を取り出す
YEAR関数の引数「シリアル値」に日付を指定します。ここでは誕生年を取り出すために誕生日のセルをクリックしてセル参照します。
「シリアル値」にはセル参照の他、直接シリアル値そのものを数値で指定したり、日付を表す文字列を「” “」で囲って指定することもできます。
YEAR関数の戻り値を和暦にしたい
YEAR関数で取得されるのは西暦の4桁の数字です。「令和4年1月19日」と表示されたセルでYEAR関数を実行しても和暦の「4」は返りません。
「令和4年」と和暦を表示させたいなら、「令和4年1月19日」をコピーして「セルの書式設定」→「表示設定」→「ユーザー定義」で「[$-ja-JP-x-gannen]ggge”年”;@」と設定します。
YEAR関数がうまくいかない時の対処法
YEAR関数を表示させるセルの表示形式が「日付」になっている
下図では「2022/1/22」の日付からYEAR関数で年を取り出そうとB2セルに「=YEAR(A2)」の数式を入れましたが、「2022」が返るはずのセルに「1905/7/14」とおかしい日付が返っています。
実は、このセルの表示形式が「日付」になっていたためにExcelは「2022」をシリアル値と解釈し、対応する日付「1905/7/14」が表示されたというわけです。表示形式を「標準」にすれば「2022」に戻ります。
YEAR関数に指定した日付がExcelで「日付」と判定されていない
日付を表す文字列を和暦で指定したとしても、Excelが日付と判定できるものならYEAR関数で年を取得することができます。
ですが、一見「日付」を表していると見える文字列でも年月日の間をスペースで区切っていたり、末尾に曜日が入っていたりすると、Excelが日付とは見なさないことがあります。表示形式のユーザー定義でそのようなスタイルにしているなら問題ありませんが、手入力やコピペで文字列として表示されたものは日付と認識されない可能性があるのです。
YEAR関数でうまく年が取り出せない時は日付に余計な文字が混じっていないかを、まず確認しましょう。特定した余計な文字を削除すれば、YEAR関数で年が取り出せます。
修正する範囲が大きい場合はSUBSTITUTE関数でまとめて削除するなどの方法で対処します。
- YEAR関数は日付から「年」に当たる数字だけを抽出します
- YEAR関数の引数は「シリアル値」です。「シリアル値」にはセル参照の他、シリアル値そのもの、日付を表す文字列を指定できます
- YEAR関数で取得されるのは西暦の4桁の数字で、戻り値に和暦は返りません。和暦の年にしたい時は表示設定のユーザー定義で実装します
- YEAR関数がうまくいかない、おかしい日付が返される場合はセルの表示形式を確認しましょう