「セルの値を”2026年3月”みたいな形で表示したいのに、&で結合したら数字の羅列になった…」そんな経験はありませんか。日付や金額を別のテキストとつなげるとき、思いどおりの見た目にならないのは地味にストレスですよね。
そんなときに使うのがExcelのTEXT関数です。この記事では、TEXT関数の基本の書き方から書式コード一覧表、実務で使える活用パターンまでまるごと紹介します。
この記事は次のような人におすすめ
– 日付や数値を好きな書式の文字列に変換したい
– &結合で数値がそのまま出てしまい困っている
– 表示形式コードの書き方をまとめて知りたい
ExcelのTEXT関数とは?
TEXT関数(読み方: テキスト)は、数値や日付を指定した表示形式の文字列に変換する関数です。英語の “text”(テキスト・文章)がそのまま関数名になっています。
たとえば日付「2026/3/16」を「2026年3月16日」に変えたいとします。TEXT関数を使えば、こうした変換が自由にできます。
ポイントは、結果が文字列として返される点です。見た目を整えて文字列結合に使うのが主な用途になります。計算に使う場合は元の数値セルを参照してください。
Excel関数の基本がまだ不安な方は、先にこちらの記事を確認しておくとスムーズですよ。
TEXT関数の書き方(構文と引数)
基本構文
=TEXT(値, "表示形式")
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 値 | 必須 | 変換したい数値・日付・セル参照を指定する |
| 表示形式 | 必須 | 書式コードを " で囲んで指定する |
- 値: 数値、日付、セル参照のいずれも指定できます。
- 表示形式:
"yyyy/mm/dd"のように書式コードをダブルクォーテーションで囲みます。書式コードの種類は次のセクションで一覧表にまとめています。
表示形式は必ずダブルクォーテーションで囲む
=TEXT(A2, yyyy)のように囲み忘れると#NAME?エラーになります。=TEXT(A2, "yyyy")と書きましょう。
TEXT関数の表示形式コード一覧
TEXT関数を使いこなすカギは、書式コードを知っていることです。よく使うものをカテゴリ別にまとめました。
日付の書式コード
| 書式コード | 表示例(2026/3/16の場合) | 説明 |
|---|---|---|
"yyyy" | 2026 | 西暦4桁 |
"yy" | 26 | 西暦下2桁 |
"mm" | 03 | 月(2桁・0埋め) |
"m" | 3 | 月(0埋めなし) |
"dd" | 16 | 日(2桁・0埋め) |
"d" | 16 | 日(0埋めなし) |
"aaa" | 月 | 曜日(短縮: 月・火・水…) |
"aaaa" | 月曜日 | 曜日(フル表記) |
"ddd" | Mon | 曜日(英語短縮) |
"dddd" | Monday | 曜日(英語フル) |
"yyyy/mm/dd" | 2026/03/16 | 年月日(スラッシュ区切り) |
"yyyy年m月d日" | 2026年3月16日 | 年月日(日本語) |
時刻の書式コード
| 書式コード | 表示例(13:05:09の場合) | 説明 |
|---|---|---|
"hh" | 13 | 時(24時間・2桁) |
"h" | 13 | 時(24時間・0埋めなし) |
"mm" | 05 | 分(2桁) |
"ss" | 09 | 秒(2桁) |
"hh:mm" | 13:05 | 時:分 |
"AM/PM h:mm" | PM 1:05 | 12時間表記 |
mmの使い分け
mmは直前にhがあると「分」、それ以外では「月」と解釈されます。時刻の分を表示したいときはhh:mmのようにhと組み合わせてくださいね。
数値の書式コード
| 書式コード | 入力値 | 表示例 | 説明 |
|---|---|---|---|
"0" | 5.6 | 6 | 整数表示(四捨五入) |
"0.00" | 5.6 | 5.60 | 小数点2桁固定 |
"#,##0" | 1234567 | 1,234,567 | 桁区切り |
"#,##0.00" | 1234.5 | 1,234.50 | 桁区切り+小数点2桁 |
"0%" | 0.85 | 85% | パーセント表示 |
"0.0%" | 0.856 | 85.6% | パーセント(小数1桁) |
"00000" | 123 | 00123 | 0埋め(5桁) |
"0000" | 42 | 0042 | 0埋め(4桁) |
0と#の違い
0は桁が足りないとき0で埋めます。#は桁が足りないとき何も表示しません。たとえば"000"で値が5なら「005」、"###"なら「5」になりますよ。
TEXT関数の基本的な使い方
ここでは定番の使い方を3つ紹介します。
日付を曜日に変換する
日付から曜日を取り出すのは、TEXT関数の定番パターンです。
=TEXT(A2, "aaa")
A2に「2026/3/16」が入っていれば、結果は「月」になります。フル表記にしたい場合は "aaaa" で「月曜日」と表示されますよ。
数値に桁区切りを付けて文字列にする
=TEXT(B2, "#,##0")
B2が「1234567」なら、結果は「1,234,567」です。文字列として返るので、&で別のテキストとつなげられます。
数値をパーセント表示にする
=TEXT(C2, "0.0%")
C2が「0.856」なら、結果は「85.6%」です。小数の桁数は 0 の数で調整できます。
TEXT関数の実務活用パターン
報告書で「2026年3月」表示を作る
報告書のヘッダーに「対象月: 2026年3月」と表示したいケースです。
="対象月: "&TEXT(A2, "yyyy年m月")
A2に「2026/3/16」が入っていれば「対象月: 2026年3月」と表示されます。&で直接結合できるのがTEXT関数の強みですね。
もしTEXT関数を使わずに ="対象月: "&A2 と書くとどうなるでしょうか。日付のシリアル値(例: 46092)がそのまま表示されてしまいます。これが「&結合あるある」の失敗パターンです。
商品コードを0埋めで統一する
商品コードが「42」「123」「7」のようにバラバラの桁数のとき、5桁に統一したい場面はよくあります。
=TEXT(A2, "00000")
値が「42」なら「00042」、「123」なら「00123」になります。他システムへの出力で桁数を固定したいときに便利です。
&結合で「3月16日(月)」を作る
日付と曜日を組み合わせた表示を1つのセルで作れます。
=TEXT(A2, "m月d日")&"("&TEXT(A2, "aaa")&")"
A2が「2026/3/16」なら「3月16日(月)」と表示されます。スケジュール表や案内文の日付表示で活躍するパターンです。
時刻を「13時05分」形式で表示する
=TEXT(A2, "h時mm分")
A2が「13:05」なら「13時05分」と表示されます。議事録やタイムスケジュールで使えますよ。
CONCAT関数と組み合わせて複数セルを整形結合する
CONCAT関数やCONCATENATE関数と組み合わせれば、複数セルの値を整形しながら結合できます。
=CONCAT(TEXT(A2,"yyyy/mm/dd"), " ", B2, " ", TEXT(C2,"#,##0"), "円")
日付・商品名・金額を「2026/03/16 ノートPC 1,234,567円」のように1つのセルにまとめられます。
条件付き書式コードで表示を分ける方法
TEXT関数の書式コードには、値の正負やゼロに応じて表示を切り替える機能があります。知っている人は少ないですが、かなり便利な機能です。
セミコロンで区切る4セクション書式
書式コードをセミコロン(;)で区切ると、最大4つの条件で表示を分けられます。
"正の数の書式;負の数の書式;ゼロの書式;文字列の書式"
たとえば、正の数は黒、負の数にはマイナス記号を付け、ゼロは「-」で表示したい場合はこう書きます。
=TEXT(A2, "#,##0;-#,##0;'-';@")
| A2の値 | 結果 |
|---|---|
| 1500 | 1,500 |
| -300 | -300 |
| 0 | – |
| “abc” | abc |
条件指定で書式を切り替える
[条件] を角括弧で書くと、数値の範囲に応じて書式を変えられます。
=TEXT(A2, "[>=10000]#,##0;0")
この例では、10,000以上なら桁区切りで表示し、それ未満はそのまま表示します。
売上データの表示で「大きい金額だけ桁区切りにする」といった使い分けに便利ですよ。
条件付き書式コードの注意点
条件は最大2つまで指定できます。3つ以上の条件分岐が必要な場合は、IF関数とTEXT関数を組み合わせてください。
よくあるエラーと対処法
TEXT関数で「うまくいかない」と思ったら、まずこの表をチェックしてみてください。
| 症状 | 原因 | 対処法 |
|---|---|---|
| シリアル値が表示される | &結合で日付を直接参照した | TEXT関数で書式指定してから結合する |
| #NAME! エラー | 書式コードの " 囲み忘れ | "yyyy" のようにダブルクォーテーションで囲む |
| #VALUE! エラー | 値に文字列が入っている | 元のセルが数値や日付か確認する |
| 結果を計算に使えない | TEXT関数の結果は文字列 | 計算には元の数値セルを参照するか、VALUE関数で数値に戻す |
| 曜日が英語になる | "ddd" や "dddd" を使っている | 日本語曜日は "aaa" か "aaaa" を使う |
| mmが月と解釈される | 分を表示したいのに月になる | 分は必ず hh:mm のようにhと組み合わせる |
エラー値の種類と対処法の詳細はエラー値についてのまとめ記事もあわせて確認してみてくださいね。
セルの書式設定との違い・使い分け
Excelにはセルの表示形式を変更する「書式設定」もあります。TEXT関数とどう使い分けるか整理しておきましょう。
| 比較項目 | TEXT関数 | セルの書式設定 |
|---|---|---|
| 結果の型 | 文字列 | 元の型(数値/日付)のまま |
| &で結合 | そのまま使える | シリアル値が表示される |
| 計算への利用 | そのままでは計算できない | そのまま計算に使える |
| 適用範囲 | セル単位で柔軟に指定可能 | セルまたは範囲全体に一括適用 |
| おすすめ場面 | 他のテキストと結合するとき | セル単体で見た目を変えるとき |
「見た目だけ変えたい」なら書式設定、「他のセルと結合したい」ならTEXT関数と覚えておけば迷いません。
関連する関数
TEXT関数と一緒に使うことが多い関数を紹介します。
- VALUE関数: TEXT関数の結果(文字列)を数値に戻したいときに使います
- DATEVALUE関数: 文字列の日付をシリアル値に変換します
- DATE関数: 年・月・日を個別に指定して日付を作ります
- DOLLAR関数: 数値を通貨形式の文字列に変換します(TEXT関数の通貨特化版)
- SUBSTITUTE関数: TEXT関数で変換した文字列の一部を置き換えるときに組み合わせます
- LEN関数: TEXT関数で変換した文字列の文字数を数えたいときに使います
まとめ
TEXT関数は、数値や日付を「好きな見た目の文字列」に変換できるExcel関数です。
| やりたいこと | 書式コード | 結果例 |
|---|---|---|
| 日付を日本語表記 | "yyyy年m月d日" | 2026年3月16日 |
| 曜日を取り出す | "aaa" | 月 |
| 桁区切りを付ける | "#,##0" | 1,234,567 |
| 0埋めする | "00000" | 00123 |
| パーセント表示 | "0.0%" | 85.6% |
| 正・負・ゼロで表示分け | "#,##0;-#,##0;'-'" | 値に応じて変化 |
書式コードのパターンを覚えてしまえば、報告書やスケジュール表の作成がぐっと効率的になりますよ。ぜひ試してみてください。
関数一覧
biz-tacticsではExcel関数の一覧を3パターンご用意しています。用途に合わせてお使いください。
エラー値について
関数でエラーが発生した場合は、こちらのエラー値一覧で原因と対処法を確認できます。
