• 作成日 : 2025年8月25日

ExcelのYEAR関数で日付から「年」を瞬時に抽出する方法

ExcelのYEAR関数は、日付データから「年」だけを簡単に取り出すことができる便利な関数です。家計簿の年間集計や、売上データの年ごとの分析など、様々な場面で活用できます。

この記事では、YEAR関数の基本的な使い方から、具体的な利用シーン、他の関数と組み合わせた応用例、そしてよくあるエラーとその対策まで、初心者の方にも分かりやすく解説します。YEAR関数をマスターして、データ集計・分析の効率を大幅にアップさせましょう。

YEAR関数の使い方

YEAR関数は、Excelの日付データから年(西暦)を抽出するための関数です。非常にシンプルで、覚えるべき引数は一つだけです。

書式:=YEAR(シリアル値)

シリアル値: 年を抽出したい日付データが入力されているセル、または直接入力された日付(例: “2025/6/24″)。Excelでは日付が内部的に数値(シリアル値)で管理されているため、この引数も「シリアル値」と表現されます。

具体的な例

例えば、セルA1に「2025/6/24」と入力されている場合、以下の数式を入力すると「2025」が返されます。

=YEAR(A1)

もし直接日付を入力する場合は、以下のように記述します。日付は必ずダブルクォーテーションで囲んでください。

=YEAR(“2025/6/24”)

日付の入力形式には注意

Excelは様々な日付形式を認識しますが、基本的には「YYYY/MM/DD」や「YYYY-MM-DD」のような標準的な形式で入力することをおすすめします。文字列として認識される日付(例: 「二〇二五年六月二十四日」など)や、Excelが日付として認識できない不適切な形式の場合、YEAR関数は正しく動作しないことがあります。

また、日本の地域設定では有効ですが、他の言語設定では “6/24/2025” のように記述する必要があります。

参考:YEAR 関数 – Microsoft サポート

YEAR関数の利用シーン

YEAR関数は、単独で使うことは少ないかもしれませんが、様々なデータ分析や集計において非常に役立ちます。

1. 年ごとのデータ集計

売上データや経費の記録など、日付が含まれるデータから年ごとの集計を行う際にYEAR関数が活躍します。

:2024年の売上データだけを抽出したい場合、YEAR関数で「年」を抽出し、その結果をフィルターやSUMIF関数、COUNTIF関数などの条件として利用できます。

フィルターでの利用
  • 日付列の隣にYEAR関数で「年」を抽出する補助列を作成します。
  • その補助列を使ってフィルターをかけることで、特定の年のデータのみを表示できます。
SUMIF/COUNTIF関数との組み合わせ
  • =SUMIF(年の列, 2024, 売上列):2024年の売上合計を計算します。
  • =COUNTIF(年の列, 2024):2024年のデータ件数を数えます。

2. 生年月日から年齢を計算する

生年月日が入力されているデータから、現在の年齢を計算する際にもYEAR関数が使えます。

:セルA2に生年月日が入力されているとして、現在の年齢を計算する数式です。

=YEAR(TODAY()) – YEAR(A2)
  • TODAY()関数は、現在の日付を返します。これにより、今日の日付から生年月日の年を引くことで、おおよその年齢を算出できます。ただし、厳密な年齢(誕生日が来ているかどうかを考慮する)を計算する場合は、さらに工夫が必要です。

3. データ整理と分類

大量のデータの中から、特定の年に関連する情報だけを抽出して別のシートにまとめたり、レポートを作成したりする際に便利です。例えば、顧客データの中から「2020年以降に登録された顧客」をリストアップする場合などに使えます。

YEAR関数の応用

YEAR関数は、他の関数と組み合わせることで、より高度なデータ処理が可能になります。

1. INDEX関数とMATCH関数を組み合わせる

特定の年のデータを含む行全体を抽出したい場合に、YEAR関数をMATCH関数の検索条件として利用できます。

: A列に日付、B列に売上データが入力されており、2024年のデータを見つけたい場合。

まず、C列に=YEAR(A1)のように年を抽出する補助列を作成します。

その後、MATCH関数で2024がC列の何行目にあるかを探し、INDEX関数でその行の売上データを取得する、といった流れです。

2. 配列数式(CTRL + SHIFT + ENTER)

複数の条件でデータを集計したい場合に、配列数式と組み合わせて利用することもできます。ただし、最近のExcelではSUMIFSやCOUNTIFS関数がより便利なので、そちらを使う方が一般的です。

3. ピボットテーブルでのグループ化

YEAR関数を直接使うわけではありませんが、日付データを含む列をピボットテーブルにドラッグ&ドロップすると、Excelは自動的に「年」や「四半期」「月」などでグループ化してくれます。これにより、視覚的に年ごとのデータを分析することが可能です。

YEAR関数のよくあるエラーと対策

YEAR関数を使用する際によくあるエラーとその対策を知っておくと、スムーズに作業を進められます。

1. #VALUE!エラー

#VALUE!エラーは、YEAR関数の引数に有効な日付形式でない値が入力された場合に発生します。

原因
  • 数値やテキスト文字列が入力されている(例: =YEAR(“あああ”)や=YEAR(100))。
  • Excelが日付として認識できない形式で日付が入力されている(例: 「二〇二五年六月二十四日」のような和暦テキスト)。
対策
  • YEAR関数に渡すセルや値が、Excelが認識できる日付形式であることを確認してください。セルの書式設定が「日付」になっているか確認し、もし文字列で日付が入力されている場合は、DATEVALUE関数などを使って日付に変換することを検討してください。
  • ISNUMBER関数で日付が数値(シリアル値)として認識されているか確認することも有効です。日付はExcel内部で数値として扱われます。

2. 空白セルを参照した場合

YEAR関数が空白セルを参照すると、Excelはそれをシリアル値「0」とみなし、「1900年1月0日」と解釈して「1900」を返します。

原因
  • 参照しているセルにデータが入力されていないため。Excelは空白セルを内部的に「0」として扱い、日付の「0」は「1900年1月0日」と解釈されるためです。
対策
  • IF関数を使って、参照元セルが空白の場合は処理を行わないように条件分岐させるのが一般的です。 =IF(A1=””,””,YEAR(A1)) この数式は、「もしA1が空白だったら空白を返し、そうでなければA1の年を返す」という意味になります。

3. 数値としての日付入力の間違い

直接日付を数値で入力しようとした際に、意図しない結果になることがあります。

原因
  • =YEAR(20250624)のように、日付を数値としてそのまま入力してしまうと、Excelはその数値をシリアル値として解釈しようとします。しかし、この数値はExcelの日付として非常に大きな値(遠い未来の日付)となり、意図しない年が返されます。
対策
  • 直接日付を引数に指定する場合は、必ずダブルクォーテーションで囲んで文字列として入力してください。 =YEAR(“2025/6/24”)
  • 日付を数値として扱う場合は、それがExcelのシリアル値として正しい値であることを確認する必要があります。通常は、セルに入力された日付を参照する形が安全です。

YEAR関数で日付から年を取り出し、集計や分析を効率化

YEAR関数は、日付から「年(西暦)」を抽出できるシンプルかつ実用的なExcel関数です。売上データの年次集計や年齢の算出、登録年での分類など、様々なビジネスシーンで活躍します。

SUMIFやCOUNTIFなどの関数と組み合わせれば、年単位の集計処理がより簡単になります。

注意点として、日付はExcelが認識できる形式で入力する必要があり、空白セルや8桁の数値入力には特に注意が必要です。

IF関数との併用で誤動作を防ぎ、精度の高いデータ処理が可能になります。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事