「TEXT関数を使いたいけれど書式コードが多すぎて覚えられない」「日付を”令和○年○月○日”形式に変換したい」「数値と文字列を結合するときに数値の桁区切りが消えてしまう」——こうした悩みを持つ方に向けて、ExcelのTEXT関数を基礎から実践まで体系的に解説します。
TEXT関数は「数値や日付を指定した書式の文字列に変換する」関数です。一見シンプルですが、書式コードの書き方・戻り値が文字列になる性質・業務ごとの使い分けを正確に理解していないと、「表示できたが合計で#VALUE!が出た」「MOS試験で書式コードを書き間違えた」という事態に陥りがちです。本記事では日付用・数値用・和暦用の書式コードを一覧で整理し、報告書・請求書・社員番号管理での実務シナリオ別活用法・MOS Excel 365試験の頻出問題と対策まで、2026年最新版で徹底解説します。
「TEXT関数を使いこなして書類作成の手間を大幅に減らしたい」「MOS試験で確実に得点したい」という方は、ぜひ最後までご覧ください。
TEXT関数の基本構文と動作の仕組み
TEXT関数の役割は「数値や日付を指定した表示形式の文字列に変換すること」です。Excelのセル書式設定で見た目を変えるだけでは文字列と連結できませんが、TEXT関数を使えばどんな書式でも文字として扱えます。
構文:=TEXT(値, 表示形式)
TEXT関数は2つの引数だけで使います。
=TEXT(値, 表示形式)
| 引数 | 内容 | 入力例 |
|---|---|---|
| 値 | 変換したい数値・日付・セル参照 | TODAY()、A1、1234567 |
| 表示形式 | 書式コードを”(ダブルクォーテーション)”で囲んだ文字列 | “YYYY年MM月DD日”、”#,##0″、”aaa” |
書式コードはExcelのセル書式設定(Ctrl+1→ユーザー定義)で使うコードと同じものが利用できます。セル書式設定で動作を確認してから、そのコードをTEXT関数の第2引数にダブルクォーテーションで囲んでそのまま貼り付けることができます。
戻り値は文字列型:計算には使えない
TEXT関数が返すのは文字列(テキスト型)です。これが最も重要な性質で、TEXT関数の結果をSUM関数などで合計しようとしても、文字列として認識されて正しく計算できません。
| 操作 | 結果・注意点 |
|---|---|
| =TEXT(1234567, “#,##0”) → セルに “1,234,567” と表示 | 文字列。SUM対象にすると0として扱われる |
| =SUM(TEXT(A1:A3, “#,##0”)) | 0(文字列を合計しようとするため正常に計算されない) |
| 金額を合計したい場合の正しい設計 | 元のセル(数値)をSUMし、表示だけTEXTで変換する |
TEXT関数は「表示・連結のための変換ツール」と割り切り、計算は元の数値セルを使う設計にするとトラブルを防げます。
日付の書式コード一覧(年・月・日・曜日・和暦)
日付を扱う書式コードは「年・月・日・曜日・和暦(元号)」の5カテゴリに分類できます。組み合わせて使うことで、任意の日付フォーマットを作れます。
年・月・日の書式コード
| コード | 意味 | 例(2026年6月2日の場合) |
|---|---|---|
| YYYY | 4桁の西暦年 | 2026 |
| YY | 下2桁の西暦年 | 26 |
| MM | 2桁の月(01~12) | 06 |
| M | 1~2桁の月(先頭ゼロなし) | 6 |
| DD | 2桁の日(01~31) | 02 |
| D | 1~2桁の日(先頭ゼロなし) | 2 |
報告書・議事録で頻繁に使う組み合わせ例を挙げます。
=TEXT(A1, "YYYY/MM/DD")→ “2026/06/02″(ゼロ埋め標準形式)=TEXT(A1, "YYYY年M月D日")→ “2026年6月2日”(日本語形式・先頭ゼロなし)=TEXT(A1, "MM月DD日")→ “06月02日”(月日のみ・ゼロ埋め)
曜日の書式コード
| コード | 意味 | 例(2026年6月2日 = 火曜日) |
|---|---|---|
| aaa | 漢字1文字の曜日(月・火・水…) | 火 |
| aaaa | 漢字3文字の曜日(月曜日・火曜日…) | 火曜日 |
| ddd | 英語省略曜日(Mon, Tue…) | Tue |
| dddd | 英語フル曜日(Monday, Tuesday…) | Tuesday |
スケジュール表で日付と曜日をセットで表示したいときは、=TEXT(A1, "M月D日(aaa)")のように括弧内に曜日コードを入れると「6月2日(火)」という形式で出力できます。TODAY()と組み合わせれば、ファイルを開くたびに今日の曜日が自動で更新されます。
和暦(元号)の書式コード
| コード | 意味 | 例(2026年6月2日 = 令和8年) |
|---|---|---|
| GGG | 漢字3文字の元号(令和・平成・昭和…) | 令和 |
| GG | 漢字1文字の元号省略(令・平・昭…) | 令 |
| G | アルファベット1文字の元号(R・H・S…) | R |
| E | 元号の年数(先頭ゼロなし) | 8 |
| EE | 元号の年数(2桁ゼロ埋め) | 08 |
官公庁や金融機関向け書類では=TEXT(A1, "GGG E年M月D日")のように組み合わせると「令和 8年6月2日」の形式で出力できます。元号と年数の間のスペース・区切り文字も書式コードに含めて自由に調整できます。元年(初年)は「1」と出力されますが、2桁統一が必要な場合はEEを使うと「01」と出力されます。
数値の書式コード一覧(桁区切り・パーセント・通貨・ゼロ埋め)
数値の書式コードは「桁区切り・小数点・パーセント・通貨・ゼロ埋め」の5カテゴリに大別できます。
桁区切りと小数点の書式コード
| コード | 意味 | 例(数値1234567.8の場合) |
|---|---|---|
| #,##0 | 3桁区切り・ゼロは”0″表示 | 1,234,568 |
| #,##0.00 | 3桁区切り・小数2桁固定 | 1,234,567.80 |
| 0.00 | 小数2桁固定(区切りなし) | 1234567.80 |
| 0 | 整数・ゼロは”0″表示 | 1234568 |
| # | 整数・ゼロは空白表示 | 1234568(ゼロのセルは空欄) |
「#」はゼロを空白にする書式プレースホルダー、「0」はゼロでも必ず表示する書式プレースホルダーです。金額では#,##0(ゼロを表示する)が標準です。#,###にするとゼロのセルが空白になり、請求書の合計欄が空になる事故につながるため注意してください。
パーセント・指数の書式コード
| コード | 意味 | 例(0.1256の場合) |
|---|---|---|
| 0% | パーセント(小数なし) | 13%(0.1256×100を四捨五入) |
| 0.0% | パーセント(小数1桁) | 12.6% |
| 0.00% | パーセント(小数2桁) | 12.56% |
| 0.00E+00 | 指数表示(小数2桁) | 1.26E-01 |
通貨・ゼロ埋めの書式コード
| コード | 意味 | 例(5000の場合) |
|---|---|---|
| ¥#,##0 | 円マーク付き3桁区切り | ¥5,000 |
| $#,##0 | ドルマーク付き3桁区切り | $5,000 |
| 000000 | 6桁ゼロ埋め(先頭をゼロで埋める) | 005000 |
| [DBNum1]G/標準 | 漢数字(一・二・三…) | 五千 |
| [DBNum3]G/標準 | 全角数字(1・2・3…) | 5000 |
ゼロ埋めは社員番号・商品コードを文字列として表示する際によく使います。=TEXT(A1, "000000")とすれば、数値の「123」を「000123」と6桁ゼロ埋めで出力できます。漢数字コードは正式な書類や賞状など、数字を和文表記する場面で利用されます。
実務シナリオ別:TEXT関数の活用法
書式コードの知識を身につけたら、実際の業務でどう使うかを確認しましょう。最もよく使う3つのシナリオを解説します。
シナリオ1:報告書の日付を「令和○年○月○日(曜日)」に自動変換する
会議議事録や月次報告書では、日付セルに入力した値を自動的に和暦表示に変換したい場面が多くあります。手入力で「令和8年6月2日(火)」と毎回書くのは手間がかかりますし、入力ミスの原因にもなります。
A1セルに日付(2026/6/2)が入力されている場合、次の数式で自動変換できます。
=TEXT(A1, "GGG E年M月D日")→ “令和 8年6月2日”=TEXT(A1, "GGG E年M月D日(aaa)")→ “令和 8年6月2日(火)”=TEXT(A1, "YYYY年M月D日(aaaa)")→ “2026年6月2日(火曜日)”
TODAY()関数と組み合わせると、ファイルを開くたびに自動的に今日の日付が反映された表示形式が得られます。=TEXT(TODAY(), "GGG E年M月D日(aaa)")と入力すれば日付と曜日を常に最新状態に保てます。
シナリオ2:金額を「¥」付きで文字列に変換してセル内のラベルに埋め込む
見積書や請求書では、金額をそのまま文字列と結合したい場面があります。セルA1に金額(数値)が入っている場合、単純に="合計金額:"&A1とすると「合計金額:1234567」と円マークや桁区切りが消えた状態で連結されてしまいます。
TEXT関数を使えばこの問題を解決できます。
="合計金額:"&TEXT(A1, "¥#,##0")→ “合計金額:¥1,234,567”="見積金額(税込):"&TEXT(A1, "#,##0円")→ “見積金額(税込):1,234,567円”="達成率:"&TEXT(A1, "0.0%")→ “達成率:85.3%”
メール件名の自動生成(「○月度請求書(¥×,×××,×××)」など)や、ヘッダー行の動的タイトル作成にもTEXT関数が重宝します。日付との組み合わせも可能で、="作成日:"&TEXT(TODAY(), "YYYY年M月D日")のようにすれば常に最新の日付が自動更新されます。
シナリオ3:社員番号・商品コードを桁数統一して管理する
データベースやシステム連携で使うIDは桁数を揃える必要があることが多くあります。数値として管理していると「1」「12」「123」のように桁がバラバラで、VLOOKUPや照合時にミスが発生しがちです。
TEXT関数でゼロ埋め変換することで桁数を統一できます。
=TEXT(A1, "0000")→ 4桁統一(123 → “0123”)=TEXT(A1, "000000")→ 6桁統一(123 → “000123”)="ID-"&TEXT(A1, "0000")→ “ID-0123″のようなプレフィックス付きIDを生成
注意点として、TEXT関数の結果は文字列のため、数値のVLOOKUPキーとして使う場合は照合先も文字列統一が必要です。数値セルと文字列セルが混在すると一致しない場合があるため、照合先の列も同様にTEXT関数で変換するか、VALUE関数で数値に戻してから照合します。
TEXT関数のよくあるエラーと対処法
TEXT関数でよくつまずくポイントを4つ整理します。
#VALUE!エラーが出る原因と対処
#VALUE!エラーはほとんどの場合、書式コードを引用符で囲み忘れているか、書式コード内に無効な文字が含まれていることが原因です。
| 誤った入力例 | 正しい入力例 | 原因 |
|---|---|---|
| =TEXT(A1, YYYY/MM/DD) | =TEXT(A1, “YYYY/MM/DD”) | 書式コードを”で囲んでいない |
| =TEXT(“abc”, “YYYY”) | —(変換できない) | 数値・日付以外の値を日付書式に変換しようとしている |
| =TEXT(A1, “AAAA”) | =TEXT(A1, “aaaa”) | 存在しない書式コードを指定している(シリアル値が返ることがある) |
TEXT関数の書式コードは大文字・小文字どちらでも同じ動作
ExcelのTEXT関数の書式コードは大文字・小文字どちらでも同じ動作をします。「”yyyy/mm/dd”」と「”YYYY/MM/DD”」は同じ結果になります。ただし、書式コードが誤っている場合(「”AAAA”」など存在しないコード)は日付のシリアル値(数値)がそのまま返される場合があるため、期待した表示にならないときは書式コードを確認してください。
TEXT関数の結果をSUM・AVERAGEで集計できない場合の対処
TEXT関数の返り値は文字列のため、SUM関数の引数に渡しても0として計算されます。解決策は「集計は元の数値セルに対して行い、表示変換にのみTEXT関数を使う」という設計を徹底することです。
- 集計:
=SUM(B2:B10)(元の数値セルを合計) - 表示変換:
=TEXT(SUM(B2:B10), "¥#,##0")(合計結果を変換して別セルに表示)
和暦変換で元年表示を整える
「E」コードは元号の年数を返しますが、元年(初年)は「1」と表示されます。システムによっては「01」(2桁)が求められる場合があり、そのときは「EE」を使えば「01」と2桁ゼロ埋めで出力されます。平成元年を「H01」、令和元年を「R01」と表示したい場合には"G EE年"の組み合わせを使います。
MOS Excel試験でのTEXT関数出題パターンと攻略法
MOS Excel 365試験では、TEXT関数は「データの編集・書式設定」カテゴリで出題されることがあります。頻出パターンと対策を押さえましょう。
頻出問題の傾向
- パターン1:特定のセルにTEXT関数を入力して指定形式に変換する — 「A列の日付をYYYY/MM/DD形式の文字列に変換してB列に表示しなさい」のように、どの書式コードを使うかを問われます
- パターン2:文字列連結とTEXT関数の組み合わせ — 「C1セルに”作成日:”と連結して日付をM月D日形式で表示しなさい」という形で、&演算子とTEXT関数を組み合わせる問題が出題されます
- パターン3:数値を書式変換して別のセルに表示する — 金額を「¥#,##0」形式やパーセントに変換する問題が出ます
よくある間違いと対策
- 間違い1:書式コードを引用符で囲み忘れる → TEXT関数の第2引数は必ず”(ダブルクォーテーション)”で囲む。数式バーに入力後、#VALUE!が出たらまず引用符の有無を確認する
- 間違い2:YYYYとMMとDDの区切り文字を書き忘れる → “YYYYMMDD”と入力すると”20260602″と繋がった文字列になる。問題文の出力形式を確認してから区切り文字(/・年月日など)を正確に入力する
- 間違い3:曜日コードaaとaaa・aaaとaaaaを混同する → 日本語1文字曜日は「aaa」、3文字は「aaaa」。試験前に1文字違いのコードを整理して暗記しておく
- 間違い4:TEXT関数の結果セルで数値演算しようとする → TEXT関数の結果は文字列のため、SUM等の計算対象にしても0として扱われる。集計が必要な場合は元の数値セルを対象にする設計に変更する
まとめ:TEXT関数を使いこなすための要点
ExcelのTEXT関数は「値・書式コード」の2引数だけのシンプルな関数ですが、日付・数値・文字列連結のあらゆる場面で活躍します。使いこなすための要点をまとめます。
- 書式コードを”(引用符)”で囲む — 囲み忘れると#VALUE!エラーが出る最大の原因になる
- TEXT関数の結果は文字列 — SUM・AVERAGEなどの集計には使えないため、計算は元のセルで行い表示変換に特化する
- 書式コードはセル書式設定のユーザー定義と共通 — 動作確認後にそのまま第2引数に貼り付けられる
- 日付は「YYYY/MM/DD(年月日)」「aaa・aaaa(曜日)」「GGG・E(元号・年数)」の3カテゴリを押さえる
- 数値は「#,##0(桁区切り)」「0.00%(パーセント)」「¥#,##0(円)」「000000(ゼロ埋め)」を押さえる
- 文字列と数値・日付を連結するときは必ずTEXT関数を噛ませて書式を保持する
- MOS試験では問題文の出力形式を確認してから書式コードを入力し、引用符の有無と区切り文字を確認してから確定する
当サイトでは、Excel・Word・PowerPoint・AccessなどのOffice操作やMOS試験対策に関する情報を幅広く発信しています。ぜひ他の記事もご覧ください。
