「日付を曜日に変換して表示したい」「数値にカンマを入れて、さらに後ろに『円』という文字をつけたい」
Excelを使っていると、セルの見た目を整えたい場面がたくさんありますよね。もちろん「セルの書式設定」からも変更できますが、他の文字と組み合わせて一つの文章にしたいとき、書式設定だけではうまくいかないことがあります。
そんな時に役立つのが「TEXT関数」です。
TEXT関数を使えば、数値や日付に特定の表示形式を適用して、「文字列」として取り出すことができます。これにより、自由自在にレイアウトを整えたレポートや伝票のような資料が作成できるようになります。
この記事では、Excel初心者の方に向けて、TEXT関数の基本的な使い方から、実務でよく使う書式コードまで詳しく解説します。
TEXT関数とは?基本的な定義と仕組み
TEXT関数とは、一言でいうと「数値や日付に表示形式を適用して、それを『文字列』として返す関数」です。
通常、Excelのセルに日付や数値が入っているとき、見た目を変えるには「右クリック > セルの書式設定」から変更します。しかし、これはあくまで「見た目」を変えているだけで、データの中身は数値のままです。
一方でTEXT関数を使うと、指定した形式に変換された状態で「文字列」として出力されます。この「文字列になる」という点が非常に重要です。文字列になれば、`&`(アンド)記号を使って他の文字と簡単に合体させることができるからです。
TEXT関数の基本構文
TEXT関数の書き方はとてもシンプルです。
`=TEXT(値, "表示形式コード")`
- 値:書式設定したい数値や日付が入っているセルを指定します。または直接数値を入力します。
- 表示形式コード:どのように表示させたいかを指定するコードです。必ず半角のダブルクォーテーション(`"`)で囲って入力する必要があります。
例えば、A1セルに日付が入っている場合、`=TEXT(A1, "yyyy年mm月dd日")` と入力すれば、その日付が形式通りに変換されて表示されます。
【実践】日付を整える書式コードの使い方
日付データの変換は、TEXT関数が最も活躍するシーンのひとつです。「日付から曜日だけを抽出したい」といった要望も、書式コード一つで解決します。
曜日を表示させる
日付から曜日を取り出すには、`"aaaa"` というコードを使います。
- `=TEXT(日付のセル, "aaaa")` → 「月曜日」のように表示
- `=TEXT(日付のセル, "aaa")` → 「月」のように表示
また、英語で曜日を表示させたい場合は、`"dddd"` というコードを使用します。これにより「Saturday」などの表記になります。
月や日、年を自由に組み合わせる
日付の一部だけを取り出して表示させることも可能です。
- 年を表示:`"yyyy"` (2024年など)
- 月を表示:`"mm"` (01月、12月など)
- 日を表示:`"dd"` (01日、31日など)
これらを組み合わせることで、「2024年05月01日(水)」のような形式にするには、`"yyyy年mm月dd日(aaa)"` と指定すればOKです。
実務での活用例:日付と文字を結合する
TEXT関数の真価は、他の文字列とつなげた時に発揮されます。 例えば、セルH1に日付が入っているとき、`= "本年" & TEXT(H1,"mm") & "月の予定"` と入力すると、「本年12月の予定」のように、日付データに基づいた動的なタイトルを作成できます。
単にセルを結合しようとすると、日付はExcel内部で管理されている「シリアル値」というただの数字に変換されてしまい、意図しない数字が表示されてしまいます。そこでTEXT関数を使い、「文字列」として形式を整えてから結合させるのが正解です。
【実践】数値を整える書式コードの使い方
数値の表示形式を整えることで、データの読みやすさが格段に向上します。特に桁数が多い数字や、小数点以下の処理に便利です。
桁区切り(カンマ)を入れる
ビジネス文書で必須の「3桁区切り」は、`"#,###"` というコードで指定します。
- `=TEXT(12345, "#,###")` → 「12,345」
もし、数値が指定した桁数より少ない場合に先頭に「0」を表示させたい(ゼロ埋めしたい)場合は、`"0"` を使います。 例えば、商品コードなどの管理で「0001234」のように表示させたい場合は、`"0000000"` と指定することで、足りない桁数分だけ先頭に0が補われます。
小数点以下の制御
小数点以下の桁数を指定してまとめたい場合もTEXT関数が便利です。
- 指定した桁数まで表示(足りない場合は表示しない):`"#"` を使用
- 指定した桁数まで必ず表示(足りない場合は0で補う):`"0"` を使用
例えば、`123.456` という数値に対して `"####.##"` と指定すると、小数点第3位が四捨五入され、「123.46」と表示されます。 また、`"0000.00"` と指定すれば、「0123.46」のように先頭に0を付けて桁数を揃えることができます。
単位を追加して表示する
数値に単位を付けたい場合、コードの中に直接文字を書き込むことができます。
- 千円単位で表示:`"0.00,千円"` と設定すると、12345という数値が「12.35千円」に変換されます。
- 百万円単位で表示:`"0.00,,百万円"` と設定すると、12345670という数値が「12.35百万円」になります。
このように、カンマを2つ重ねることで単位を大きく省略して表示させるテクニックがあります。
知っておきたい応用テクニックと注意点
TEXT関数を使いこなすために、さらに踏み込んだテクニックと、陥りやすい罠について解説します。
時刻の表示形式
時刻の管理にもTEXT関数は有効です。
- 時:`"hh"` (2桁で表示、1桁の場合は0を補う)
- 分:`"mm"` (2桁で表示)
- 秒:`"ss"` (2桁で表示)
- AM/PM:`"AM/PM"`
例えば、8時30分5秒という時刻に `"hh:mmAM/PM"` と指定すると、「08:30AM」と表示されます。 また、合計時間などで24時間を超える時間を表示させたい場合は、`"[mm]:ss"` のように大括弧 `[ ]` で囲むことで、繰り上げのない合計分を表示させることが可能です(例:510:25)。
漢数字への変換
特殊な形式として、数値を漢数字に変換する `[DBNum1]` というコードがあります。
- `=TEXT(123450, "[DBNum1]")` → 「十二万三千四百五十」
- `=TEXT(123450, "[DBNum1]###0")` → 「一二三四五〇」
請求書や賞状など、フォーマルな書類を作成する際に非常に重宝する機能です。
【重要】TEXT関数を使った後の「計算」について
ここが最も注意すべき点です。TEXT関数で出力された結果は、あくまで「文字列」です。
例えば、あるセルでTEXT関数を使って「12,345」という文字列にした場合、そのセルは見た目こそ数字ですが、Excelはそれを「文字」として認識しています。そのため、そのセルをそのままSUM関数などで合計しようとしても、計算に含まれず無視されてしまうことがあります。
対策:
- 計算に使用する元の数値データ(計算用列)はそのままに残しておく。
- TEXT関数は、最終的な「表示用」のセルや、レポートの文章の中でだけ使用する。
という使い分けを徹底してください。
まとめ:TEXT関数で「伝わる資料」を作ろう
TEXT関数は、単に見た目を整えるだけでなく、「数値や日付というデータ」を「人間が読みやすい言葉」に変換してくれる強力なツールです。
最後に、重要ポイントを振り返りましょう。
- 基本形:`=TEXT(値, "書式コード")`。コードは必ず `"` で囲む。
- 日付の活用:`"aaaa"` で曜日を出し、`&` で他の文字と結合してタイトルなどを作る。
- 数値の活用:`"#,###"` でカンマを入れ、`"000"` でゼロ埋めを行う。
- 注意点:結果は「文字列」になるため、計算に使いたい場合は元の数値データとは別に管理する。
セルの書式設定だけでは限界があったレイアウトも、TEXT関数を使えば自由自在です。ぜひ日々の業務の中で、日付や数値の表示を整えて、誰にとっても読みやすい資料作成に役立ててみてください。
ピックアップ記事



