Excelで日付と文字列を結合しようとしたとき、
- 日付が「45291」のような数字になった
- 「2024/1/1」が「2024年1月1日」にならない
- 見た目どおりに結合できない
と困った経験はないでしょうか。
Excelの日付は見た目では日付ですが、内部的にはシリアル値という数値で管理されています。そのため、単純に「&」で結合すると意図しない結果になることがあります。
この記事では、日付と文字列を正しく結合する方法から、TEXT関数を使った表示形式の指定方法、実務で役立つ活用例まで詳しく解説します。
✅ Excelで日付と文字列を結合する基本方法
Excelでは「&」演算子やTEXTJOIN関数を使って文字列を結合できます。
しかし日付データを含む場合は注意が必要です。
日付は見た目と内部データが異なるため、単純な結合では期待した表示にならないケースがあります。
実務ではメール文面の作成や報告書タイトルの自動生成などで日付と文字列を組み合わせる場面が多くあります。
ここを理解しておかないと、完成した資料やCSV出力時に思わぬ表示崩れが発生することがあります。
まずは基本的な結合方法から確認していきましょう。
・「&」演算子で結合する方法
A1セルに日付が入力されているとします。
| A1 |
|---|
| 2025/06/24 |
以下の数式を入力します。
="更新日:"&A1
結果
更新日:45832
このようにシリアル値が表示されることがあります。
これはExcelが日付を数値として認識しているためです。
・CONCAT関数で結合する方法
CONCAT関数でも同様です。
=CONCAT("更新日:",A1)
結果
更新日:45832
CONCAT関数を使っても表示形式は引き継がれません。
日付をそのまま表示したい場合はTEXT関数が必要になります。
✅ Excelで日付と文字列を結合すると数字になる理由
日付が突然数字になる現象はExcel初心者だけでなく、実務でもよく発生します。
特にCSV出力や関数を組み合わせた帳票作成では頻繁に遭遇します。
原因を理解していないと、その場しのぎの修正になってしまいます。
また別のブックで同じ現象が発生した際に対応できません。
ここではExcelの日付管理の仕組みを理解しておきましょう。
・日付はシリアル値で管理されている
Excelの日付は連続した数値として保存されています。
例
| 表示 | 内部値 |
|---|---|
| 2025/06/24 | 45832 |
Excelは1900年1月1日を基準として日数をカウントしています。
そのため、
=A1+1
とすると翌日になります。
これは日付が数値だからこそ可能な計算です。
・表示形式は見た目だけ
セルに表示される
2025/06/24
は表示形式による見た目です。
実際の値は
45832
です。
文字列結合では内部値が優先されるため、日付表示が失われてしまいます。
日付が突然「45832」のような数字になるのは、Excelが日付をシリアル値として管理しているためです。
シリアル値の仕組みを詳しく理解したい方は、こちらの記事も参考になります。
→ 【Excel】シリアル値とは?時間計算でズレる原因と仕組みをやさしく解説
✅ TEXT関数で日付と文字列を正しく結合する方法
日付と文字列を結合する場合はTEXT関数を使用するのが基本です。
実務ではほぼ必須といってもよい機能です。
TEXT関数を使うことで表示形式を自由に指定できます。
帳票作成やファイル名生成でも頻繁に利用されます。
まずは基本構文から確認しましょう。
・TEXT関数の基本構文
=TEXT(値,"表示形式")
例
=TEXT(A1,"yyyy/mm/dd")
結果
2025/06/24
・日付と文字列を結合する例
="更新日:"&TEXT(A1,"yyyy/mm/dd")
結果
更新日:2025/06/24
意図した形式で表示できます。
TEXT関数は日付だけでなく、時間表示の変換にも活用できます。
「1:30」を「1時間30分」のように見やすく表示したい場合は、こちらの記事も参考にしてみてください。
→ 【Excel】TEXT関数で時間表示を変更する方法|「○時間○分」表示にも対応
・TEXTJOIN関数で結合する例
=TEXTJOIN("",TRUE,"更新日:",TEXT(A1,"yyyy/mm/dd"))
結果
更新日:2025/06/24
複数項目をまとめて結合する場合はこちらも便利です。
TEXTJOIN関数は日付と文字列の結合だけでなく、空白セルを除外しながら複数データをまとめる用途でも活躍します。
実務での活用方法については、こちらで詳しく解説しています。
→ 【Excel】空白セルを無視して文字を結合する方法|TEXTJOIN関数の実務活用
✅ 日付表示を自由に変更するTEXT関数の書式一覧
TEXT関数の便利な点は表示形式を自由に変更できることです。
実務では社内資料・請求書・報告書など用途によって日付表記が異なります。
毎回手入力で修正していると作業時間が増えてしまいます。
あらかじめ書式を覚えておくと業務効率が大きく向上します。
代表的な書式を確認しておきましょう。
・年月日を表示する
=TEXT(A1,"yyyy/mm/dd")
結果
2025/06/24
・和風表示にする
=TEXT(A1,"yyyy年m月d日")
結果
2025年6月24日
・年月のみ表示する
=TEXT(A1,"yyyy年m月")
結果
2025年6月
・曜日を表示する
=TEXT(A1,"yyyy/mm/dd(aaa)")
結果
2025/06/24(火)
・ファイル名向け表示
=TEXT(A1,"yyyymmdd")
結果
20250624
毎日更新される日付を表示したい場合は、TEXT関数とTODAY関数を組み合わせるケースがよくあります。
今日の日付を自動表示したい方は、こちらの記事もご覧ください。
→ 【Excel】TODAY関数で日付を自動更新する方法|今日の日付を表示する便利テクニック
✅ 実務でよくある日付と文字列の結合例
日付結合は単なる学習用機能ではありません。
実際の業務ではさまざまな場面で利用されています。
この活用例を知っておくと関数の使いどころが理解しやすくなります。
特に報告書や管理表を作成する方は覚えておく価値があります。
ここでは代表的な活用例を紹介します。
・報告書タイトルを作成する
="売上報告書_"&TEXT(A1,"yyyymmdd")
結果
売上報告書_20250624
・メール件名を作成する
="【日報】"&TEXT(A1,"yyyy/mm/dd")
結果
【日報】2025/06/24
・データ管理用のキーを作成する
=TEXT(A1,"yyyymmdd")&"-"&B1
結果
20250624-001
管理番号や伝票番号の自動生成に活用できます。
今回紹介した方法以外にも、Excelにはさまざまな文字列結合の方法があります。
文字列結合を体系的に理解したい方は、こちらの記事もおすすめです。
→ 【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説
✅ Excel VBAでも日付と文字列の結合はよく使う
Excel作業を自動化する場合、VBAでも日付と文字列の結合が頻繁に登場します。
例えば、
- ファイル名へ日付を付与する
- 保存履歴を管理する
- ログファイルを作成する
といった場面です。
VBAではFormat関数を利用します。
FileName = "売上報告書_" & Format(Date, "yyyymmdd")
Excel関数でTEXT関数を理解しておくと、VBAのFormat関数もスムーズに理解できるようになります。
✅ まとめ:Excelで日付と文字列を正しく結合しよう
今回解説したポイントは以下のとおりです。
- 日付は内部的にシリアル値で管理されている
- 「&」やCONCATだけでは日付が数字になることがある
- TEXT関数を使うと表示形式を維持できる
- yyyy/mm/ddやyyyy年m月d日など自由な書式指定が可能
- 報告書やメール件名など実務で活用場面が多い
- VBAではFormat関数が同じ役割を持つ
日付と文字列の結合はExcelで非常によく使う処理です。
TEXT関数を使いこなせるようになると、見やすい帳票や管理表を効率よく作成できるようになります。まずは実際のデータで試してみてください。