📌 TL;DR:3つの結論
✓ “d”は見た目を1〜31にするだけ。集計・検索のキーにしてはいけません。
✓ “yyyy年m月”は月のラベルとして最強だが、TEXT関数で文字列化すると計算に使いづらくなります。
✓ 正解は「値は日付のまま・表示で整える」という一点に尽きます。
Excelの日付は内部的に数値:シリアル値の正体
Excelの日付は実は「日数の通し番号」です。例えば2025年10月10日は、1900年1月1日からの通算日数として内部保存されています。表示形式はこの数値の見せ方を変えるだけで、値そのものは変わりません。だからこそ「計算に使う列」は日付型のまま保持し、「見せる列」は表示形式で整えるのが鉄則なのです。
“d”の罠:1〜31に見えるだけの落とし穴
“d”はその月の「日」だけを表示します。10月1日も11月1日も、画面には”1″と表示されます。
⚠️ この仕様が生み出す問題は深刻です:
- フィルターやソートで月をまたぐと意味不明になる
- その”1″”2″をJOIN相手のキーにすると月を誤マッチ
- CSVに吐き出す時、表示は”1″でも値はフル日付なので混乱が生じる
“d”を使うべき場面
“d”を使うべき場面は限定的です。月間カレンダーの「日付セルの見た目」だけを整えたいとき、または印刷・UI目的で日だけを表示したいときです。ただし、そうした場合でも計算・検索・集計は必ず元のフル日付列を参照すること。これが原則です。
“yyyy年m月”の落とし穴:作り方で致命的に変わる
“yyyy年m月”は月次ラベルとして非常に見やすい一方、作り方によって使えるかどうかが決まります。
✅ OKな作り方(推奨)
ステップ1:B列に月初日を作る
ステップ2:B列の表示形式をユーザー定義で yyyy"年"m"月" に設定
結果:値は日付型のまま、見た目だけが”2025年10月”になります。ピボット、グループ化、並び替え、期間比較がすべて正しく動作します。
❌ NGな作り方(非推奨)
不正な例:
問題点:値が文字列になるため、ソート順がおかしくなり、日付関数が使えず、月次の範囲比較が壊れます。ラベル表示用に別列で作るのはOKですが、キーや集計に絶対に使わないでください。
実務フロー:3ステップで月次も日次も迷わない
前提として、A列に取引日などのフル日付があるとします。
ステップ1:月キー列(B列)を作る
値をその月の1日にし、B列の表示形式を yyyy"年"m"月" に設定します。ピボットやSUMIFSのキーは必ずこのB列を使います。
ステップ2:日ラベル列(C列)を作る(必要に応じて)
C列はA列の表示形式を”d”にするか、以下の数式で1〜31の整数として作ります。
見た目を日だけにしつつ、集計はA/B列の日付型を使う仕組みです。
ステップ3:表示と計算を完全に分離する
見出しやレポートの見栄えは表示形式で作り、関数・比較・結合は日付型の列で行います。ラベルが必要なら別列にTEXTで作成し、用途を明確に分ける──これが安定性の秘訣です。
よく使う表示形式早見表
| 形式コード | 表示例 | 用途・注意点 |
|---|---|---|
d |
1〜31 | 先頭ゼロなし。見た目専用。 |
dd |
01〜31 | 先頭ゼロあり。印刷向け。 |
m / mm |
1〜12 / 01〜12 | 月。時刻コード混在時は「分」になるため注意。 |
mmm / mmmm |
1月 / 10月 | 月名。日本語環境に対応。 |
yyyy |
2025 | 西暦4桁。 |
yyyy"年"m"月" |
2025年10月 | 推奨月ラベル形式。値は日付のまま。 |
⚠️ 重要な注意点:“m”は日付コードなら月、時刻コード(h, s)と一緒なら分として解釈されることがあります。混在表記は避け、年月文字を入れて明示すると安全です。
ピボットとグラフでのベストプラクティス
- ピボットの列・行ラベルには月初日(B列)を使う
- グループ化(Months, Years)は日付型でのみ正しく動作
- グラフの軸に「2025年10月」など順序通りの月表示を出す場合も、値は月初日+表示形式で構築するのが確実
やってはいけないチェックリスト
- ❌
TEXT(A:A,"yyyy年m月")をキー列としてJOINや比較に使用 - ❌ “d”表示の列をVLOOKUP/XLOOKUPの検索キーに使用
- ❌ 日付列に日付と文字列が混在させる
- ❌ “m”を時刻と混在させて月と分が入れ替わる表示事故を起こす
- ❌ 月次集計のキーをTEXT関数で作る
- ❌ 月初日を作らずにフル日付でピボット集計する
まとめ:「値は日付、見た目は表示形式」
“d”は見せ方専用、”yyyy年m月”は表示形式で作るのが正解です。計算ロジックは常に日付型の列を参照し、ラベルは別列に分離して、表示と計算を二刀流で運用してください。
この運用を徹底すれば、ピボット・グラフ・自動化(Office Scripts/VBA)まで一気に安定し、来月からの月次表作成や集計の手戻りがほぼゼロになります。あなたのシート構成に合わせて、この記事のテンプレを応用してみてください。


コメント