「日付から年月だけを取り出して集計したい」
「請求書や売上データを月単位でまとめたい」
Excelを使っていると、こうした年月だけを抽出したい場面がよくありますよね。
でも実際やろうとすると、次のような問題に遭遇しませんか?
- 日付が「2025/07/13」みたいに入っていてどうすればいいかわからない
- TEXT関数や書式設定で失敗した
- ピボットテーブルで思うようにグループ化できない
この記事では、Excelで日付から「年月」だけをきれいに取り出す方法をわかりやすく紹介します。
初心者でもすぐ使えるように、式と使い分けのポイントまで解説するので、ぜひ最後まで読んでください。
年月抽出が必要な場面

ビジネスでの活用例
- 売上データの月次集計
- 請求書の発行月管理
- 顧客データの登録月分析
- 在庫データの入荷月集計
年月抽出のメリット
- データの可読性向上
- 月単位での分析が簡単
- レポート作成の効率化
- トレンド分析の精度向上
TEXT関数で年月を抽出する方法
Excelで最も簡単に年月だけを取り出す方法はTEXT
関数を使うやり方です。
TEXT関数の書き方
=TEXT(対象の日付セル,"yyyy/mm")
これだけで、対象の日付から「年/月」だけを取り出せます。
実例
基本的な使い方
A1に「2025/07/13」が入っているとき:
=TEXT(A1,"yyyy/mm")
とすると → 「2025/07」 と表示されます。
表示形式のバリエーション
書式コード | 表示例 | 用途 |
---|---|---|
“yyyy/mm” | 2025/07 | 基本形 |
“yyyy-mm” | 2025-07 | ハイフン区切り |
“yyyy年mm月” | 2025年07月 | 日本語形式 |
“yy/mm” | 25/07 | 西暦2桁 |
“mmmm yyyy” | July 2025 | 英語形式 |
TEXT関数のポイント
スラッシュ以外の区切り文字
スラッシュ/
の代わりにハイフン-
にしたいなら:
=TEXT(A1,"yyyy-mm")
と書けばOKです。
和暦での表示
=TEXT(A1,"ggge年mm月")
これで「令和7年07月」のような和暦表示も可能です。
TEXT関数の注意点
文字列として扱われる
TEXT関数の結果は文字列なので:
- 数値計算には使えない
- 並べ替えで注意が必要
- ピボットテーブルでのグループ化が制限される
書式設定だけで年月に見せる方法

実は、関数を使わなくても見た目だけ年月にする方法もあります。
やり方
- 対象のセルを選択
- 右クリック →「セルの書式設定」→「表示形式」タブ
- 「ユーザー定義」に次のコードを入力
yyyy/mm
これでセルの見た目が「年月」になります。
書式設定の応用例
よく使われる書式パターン
書式コード | 表示例 | 特徴 |
---|---|---|
yyyy/mm | 2025/07 | シンプル |
yyyy”年”m”月” | 2025年7月 | 月のゼロ埋めなし |
yyyy”年”mm”月” | 2025年07月 | 月のゼロ埋めあり |
yy/m | 25/7 | 最短表示 |
注意事項
この方法は「見た目だけ」が年月になるので、中身は依然として日付(2025/07/13)のままです。
そのため、次のような場面では注意が必要です:
- ピボットテーブルでの集計
- COUNTIFなどの条件指定
- 他のセルとの比較
次に紹介する関数を使う方法がおすすめです。
書式設定が適している場面
- 見た目の統一だけが目的
- 元の日付データを保持したい
- シンプルな表示変更
数値として年月を取り出す方法
ピボットテーブルや集計に使いたいなら、年月をデータとして抽出する方法が便利です。
DATE関数とYEAR、MONTH関数を使う
=DATE(YEAR(A1),MONTH(A1),1)
これで、その日付の「年月初日」(例えば2025/07/01)を取り出せます。
この方法のメリット
データとしての信頼性
- ピボットテーブルで「月単位」にグループ化できる
- 並べ替えや計算に強い
- 日付シリアル値として正しく扱われる
集計での活用
この方法なら、以下のような高度な集計が可能です:
=SUMIF(B:B,DATE(2025,7,1),C:C) // 2025年7月の売上合計
文字列と数値の使い分け
TEXT関数(文字列)の特徴
- 見た目の自由度が高い
- 計算には向かない
- レポート表示に最適
DATE関数(数値)の特徴
- 計算や集計に最適
- ピボットテーブルに強い
- データベース的な処理向け
年月抽出の実践的な活用例

売上データの月次集計
元データの例
日付 | 商品 | 売上 |
---|---|---|
2025/07/13 | A商品 | 10000 |
2025/07/25 | B商品 | 15000 |
2025/08/05 | A商品 | 12000 |
年月抽出列の追加
D列に年月を抽出:
=TEXT(A2,"yyyy/mm")
ピボットテーブルでの集計
- 全データを選択
- 「挿入」→「ピボットテーブル」
- 行:年月、値:売上の合計
請求書の発行月管理
請求月の自動計算
=TEXT(A2,"yyyy年mm月") // 見やすい表示用
=DATE(YEAR(A2),MONTH(A2),1) // 集計用
月別請求件数の集計
=COUNTIF(D:D,DATE(2025,7,1)) // 2025年7月の請求件数
顧客登録月の分析
登録月別の顧客数推移
- 登録日から年月を抽出
- 月別の新規登録数を集計
- 折れ線グラフで推移を表示
高度な年月抽出テクニック
条件付きの年月抽出
営業日ベースの月末日
=EOMONTH(A1,0) // その月の末日
=WORKDAY(EOMONTH(A1,0),0) // その月の営業日末日
四半期の抽出
="Q" & ROUNDUP(MONTH(A1)/3,0) & " " & YEAR(A1)
結果例:「Q3 2025」
年月範囲での条件抽出
特定期間のデータ抽出
=IF(AND(A1>=DATE(2025,7,1),A1<DATE(2025,8,1)),"対象","対象外")
複数月の条件
=IF(OR(TEXT(A1,"yyyy/mm")="2025/07",TEXT(A1,"yyyy/mm")="2025/08"),"対象","対象外")
トラブルシューティング
よくある問題と解決法
TEXT関数が#VALUE!エラーになる
原因: 参照セルが日付形式でない
解決法:
=IF(ISNUMBER(A1),TEXT(A1,"yyyy/mm"),"")
並べ替えが正しくできない
原因: TEXT関数の結果が文字列のため
解決法: DATE関数を使うか、補助列を作成
ピボットテーブルで月が正しくグループ化されない
原因: 日付データに時刻が含まれている
解決法:
=DATE(YEAR(A1),MONTH(A1),1)
で年月初日に統一
応用:年月を使った分析

前年同月比の計算
=SUMIF(年月列,TEXT(TODAY()-365,"yyyy/mm"),売上列)
移動平均の計算
3か月移動平均:
=(今月売上+前月売上+前々月売上)/3
季節性分析
月別の売上傾向を把握:
=AVERAGE(IF(MONTH(日付列)=7,売上列)) // 7月平均
まとめ
Excelで年月を抽出する方法は大きく3つあります:
使い分けのガイド
見た目だけ変えるなら
セルの書式設定 → ユーザー定義「yyyy/mm」
- 元データを保持
- シンプルな表示変更
- 一時的な見た目調整
文字列として取り出すなら
=TEXT(A1,"yyyy/mm")
- 表示の自由度が高い
- レポート作成に最適
- 見た目重視の場合
データとして使うなら
=DATE(YEAR(A1),MONTH(A1),1)
- 集計・分析に最適
- ピボットテーブルに強い
- 計算処理向け
推奨する使い方
- 分析用途: DATE関数で年月初日を作成
- 表示用途: TEXT関数で見やすい形式
- 一時的: セルの書式設定
コメント