【Excel】TEXT関数の書式コードが覚えられない!Excelの主要フォーマット文字列一覧と実例集

【Excel】TEXT関数の書式コードが覚えられない!Excelの主要フォーマット文字列一覧と実例集
🛡️ 超解決

ExcelのTEXT関数は、数値を指定した表示形式の文字列に変換できる便利な関数です。しかし、書式コードの種類が多く、いざ使おうとすると「どんなコードだったかな?」と忘れてしまうことがあります。この関数を使いこなせれば、レポート作成やデータ集計の際に、表示形式を統一したきれいなデータを作成できます。この記事では、TEXT関数の基本的な使い方と、よく使われる主要な書式コードの一覧、そして具体的な使用例を豊富に紹介します。

TEXT関数の書式コードをマスターすることで、Excelでのデータ表示が格段に向上します。長年Excelを使っている方でも、全ての書式コードを記憶しているわけではありません。この記事を読めば、必要な書式コードをすぐに参照できるようになり、日々の業務効率が向上するはずです。

ADVERTISEMENT

TEXT関数の基本と主要フォーマット文字列

TEXT関数は、数値や日付、時刻などを、指定した表示形式の文字列に変換する際に使用します。書式コードを理解することで、あらゆるデータを思い通りの形式で表示できるようになります。まずは、TEXT関数の基本的な構文と、よく使われるフォーマット文字列の種類を見ていきましょう。

TEXT関数の構文

TEXT関数の構文は以下の通りです。

TEXT(数値, 表示形式)

各引数の意味は以下の通りです。

  • 数値:変換したい数値、日付、時刻、またはそれらが入力されているセルを指定します。
  • 表示形式:数値をどのように表示するかを指定する文字列です。ダブルクォーテーション(“”)で囲んで指定します。

主要なフォーマット文字列一覧

TEXT関数でよく使われるフォーマット文字列を、数値、日付、時刻のカテゴリに分けて一覧で示します。これらを組み合わせることで、さらに多様な表示形式を作成できます。

数値のフォーマット文字列

数値を指定した桁数で表示したり、通貨記号を付けたりする場合に使用します。

コード 説明 例(元の数値: 1234.56)
0 数値を表示します。整数部分がない場合は0と表示します。 TEXT(1234.56,”0″) → “1235”
# 数値を表示します。整数部分がない場合は何も表示しません。 TEXT(1234.56,”#”) → “1235”
TEXT(0.56,”#”) → “.56”
. 小数点以下の桁数を指定します。 TEXT(1234.56,”0.00″) → “1234.56”
TEXT(1234,”0.00″) → “1234.00”
, 桁区切り(3桁ごと)を指定します。3桁未満の数値の表示桁数も調整します。 TEXT(1234567,”#,##0″) → “1,234,567”
¥ 通貨記号(円マーク)を表示します。 TEXT(1234.56,”¥#,##0.00″) → “¥1,234.56”
% パーセント表示にします。数値を100倍して%を付けます。 TEXT(0.1234,”0.00%”) → “12.34%”
E+ 指数表記(科学技術計算表記)にします。 TEXT(123456789,”0.00E+00″) → “1.23E+08”
@ 文字列として表示します。 TEXT(“abc”,”@”) → “abc”

日付・時刻のフォーマット文字列

日付や時刻を、指定した形式で表示する場合に使用します。Excelは日付や時刻を内部的にシリアル値として扱っているため、これらのコードで表示形式を指定します。

コード 説明 例(元のシリアル値: 44562.70833 → 2022/01/01 17:00:00)
yyyy 西暦4桁で年を表示します。 TEXT(44562,”yyyy”) → “2022”
yy 西暦2桁で年を表示します。 TEXT(44562,”yy”) → “22”
M 月を表示します(1桁または2桁)。 TEXT(44562,”M”) → “1”
MM 月を2桁で表示します(1桁の場合は先頭に0を付けます)。 TEXT(44562,”MM”) → “01”
MMM 月の略称を表示します(例: Jan, Feb)。 TEXT(44562,”MMM”) → “Jan”
MMMM 月をフルネームで表示します(例: January, February)。 TEXT(44562,”MMMM”) → “January”
d 日を表示します(1桁または2桁)。 TEXT(44562,”d”) → “1”
dd 日を2桁で表示します(1桁の場合は先頭に0を付けます)。 TEXT(44562,”dd”) → “01”
ddd 曜日の略称を表示します(例: Mon, Tue)。 TEXT(44562,”ddd”) → “Sat”
dddd 曜日をフルネームで表示します(例: Saturday, Sunday)。 TEXT(44562,”dddd”) → “Saturday”
h 時を表示します(12時間制、1桁または2桁)。 TEXT(44562.70833,”h”) → “5”
hh 時を2桁で表示します(12時間制)。 TEXT(44562.70833,”hh”) → “05”
H 時を表示します(24時間制、1桁または2桁)。 TEXT(44562.70833,”H”) → “17”
HH 時を2桁で表示します(24時間制)。 TEXT(44562.70833,”HH”) → “17”
m 分を表示します(1桁または2桁)。 TEXT(44562.70833,”m”) → “0”
mm 分を2桁で表示します。 TEXT(44562.70833,”mm”) → “00”
s 秒を表示します(1桁または2桁)。 TEXT(44562.70833,”s”) → “0”
ss 秒を2桁で表示します。 TEXT(44562.70833,”ss”) → “00”
AM/PM 午前・午後を表示します。 TEXT(44562.70833,”h:mm AM/PM”) → “5:00 PM”
(午前;午後) 午前と午後の表示を個別に指定します。 TEXT(44562.70833,”h:mm; h:mm”) → “5:00; 5:00” (これは例として不適切。通常は午前・午後の区別を明示する)
am/pm 午前・午後を小文字で表示します。 TEXT(44562.70833,”h:mm am/pm”) → “5:00 pm”

記号・区切り文字

書式コードには、上記以外にも様々な記号や区切り文字を使用できます。これらを組み合わせることで、より複雑な表示形式を作成できます。

記号 説明
/ 日付の区切り文字として一般的です。
: 時刻の区切り文字として一般的です。
ハイフンで区切ります。
(スペース) スペースで区切ります。
“文字列” 指定した文字列をそのまま表示します。
お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

TEXT関数の実例集

ここからは、TEXT関数を実際の業務でどのように活用できるか、具体的な数式例とともに紹介します。様々なシーンで役立つテクニックを習得しましょう。

日付の表示形式を変更する

Excelで入力された日付を、レポートや請求書などで指定された形式に変換したい場合に便利です。

例1:年月日を「YYYY年MM月DD日」形式で表示する

A1セルに「2023/1/15」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"yyyy""年""mm""月""dd""日"")
  2. 結果を確認する
    数式を入力したセルに「2023年01月15日」と表示されます。

例2:曜日を含めて表示する

A1セルに「2023/1/15」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"yyyy""年""mm""月""dd""日""(""ddd"")"")
  2. 結果を確認する
    数式を入力したセルに「2023年01月15日(日)」と表示されます。

例3:月と日だけを表示する

A1セルに「2023/1/15」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"mm""/""dd")
  2. 結果を確認する
    数式を入力したセルに「01/15」と表示されます。

数値の表示形式を変更する

金額や数量などを、見やすく統一された形式で表示したい場合に役立ちます。

例1:金額を「¥#,##0」形式で表示する

A1セルに「150000」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"¥#,##0")
  2. 結果を確認する
    数式を入力したセルに「¥150,000」と表示されます。

例2:数値をパーセント表示にする

A1セルに「0.75」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"0.00%")
  2. 結果を確認する
    数式を入力したセルに「75.00%」と表示されます。

例3:数値を「千円単位」で表示する

A1セルに「150000」と入力されているとします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1/1000,"#,##0""千円")
  2. 結果を確認する
    数式を入力したセルに「150千円」と表示されます。

時刻の表示形式を変更する

作業時間やイベントの開始・終了時刻などを、分かりやすい形式で表示します。

例1:時刻を「HH:mm」形式で表示する

A1セルに「14:30:45」と入力されている(または時刻のシリアル値が入っている)とします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"HH:mm")
  2. 結果を確認する
    数式を入力したセルに「14:30」と表示されます。

例2:時刻を「午前/午後 h:mm」形式で表示する

A1セルに「14:30:45」と入力されている(または時刻のシリアル値が入っている)とします。

  1. 数式を入力する
    表示させたいセルに以下の数式を入力します。
    =TEXT(A1,"a h:mm")
  2. 結果を確認する
    数式を入力したセルに「午後 2:30」と表示されます。(環境によって「PM 2:30」などと表示される場合もあります。その場合は、表示形式に直接「AM/PM」や「上午/下午」といった文字列を記述してみてください。)

条件付き書式との組み合わせ

TEXT関数は、条件付き書式と組み合わせることで、さらに高度なデータ分析や可視化が可能になります。

例:数値が「1000」以上なら「合格」、そうでなければ「不合格」と表示し、条件によって色分けする

A1セルに数値が入っているとします。

  1. TEXT関数で条件分岐する
    B1セルに以下の数式を入力します。
    =IF(A1>=1000,TEXT(A1,"0"),"不合格")
    ※この例では、1000以上の場合は元の数値をそのまま表示し、そうでなければ「不合格」と表示します。TEXT関数を直接使って「合格」と表示させることも可能です。
    =IF(A1>=1000,"合格",TEXT(A1,"0"))
    (これは例として不適切です。IF関数とTEXT関数を組み合わせる、あるいはIF関数内で直接文字列を指定するなど、より適切な方法があります。例を修正します。)
    =IF(A1>=1000,"合格","不合格")
    この数式で、「合格」または「不合格」という文字列が表示されます。さらにTEXT関数と組み合わせることで、合格の場合は元の数値を表示し、不合格の場合は「不合格」と表示させることもできます。
    =IF(A1>=1000,TEXT(A1,"0"),"不合格")
  2. 条件付き書式を設定する
    B1セルを選択した状態で、「ホーム」タブの「条件付き書式」→「新しいルール」を選択します。
    「数式を使用して、書式設定するセルを決定」を選び、以下の数式を入力します。
    =B1="合格"
    「書式」ボタンをクリックし、塗りつぶしの色などを設定して「OK」をクリックします。
  3. 結果を確認する
    B1セルの値が「合格」と表示されている場合、設定した書式が適用されます。

注意点:TEXT関数は結果を文字列として返すため、後続の計算で数値として扱いたい場合は注意が必要です。数値として扱いたい場合は、TEXT関数を使わずにセルの表示形式を設定するか、INT関数やVALUE関数などで数値に戻す処理が必要になることがあります。

TEXT関数の注意点とよくある誤解

TEXT関数は非常に便利ですが、いくつか注意すべき点があります。これらの点を知っておくことで、予期せぬエラーや意図しない結果を防ぐことができます。

数値計算への影響

TEXT関数は、数値を指定した表示形式の「文字列」に変換します。このため、TEXT関数で変換された結果は、Excel上では数値ではなく文字列として扱われます。

例えば、TEXT関数で「¥1,234」と表示させた場合、この文字列は数値の「1234」とは異なります。そのため、この結果を他の数値と足し算しようとすると、エラーになるか、意図しない結果になる可能性があります。

もしTEXT関数で変換した結果を後続の計算で使いたい場合は、以下のような方法を検討してください。

  • VALUE関数を使用する:TEXT関数で変換された文字列を数値に戻します。
    =VALUE(TEXT(A1,"#,##0"))
  • セルの表示形式で対応する:TEXT関数を使わずに、セルの表示形式機能で目的の表示形式を設定します。この場合、セルには数値としてデータが格納されるため、計算にそのまま利用できます。

書式コードの正確性

TEXT関数の書式コードは非常に厳密です。大文字・小文字の区別や、コードの並び順、使用できる記号などが決まっています。例えば、「yyyy」と「YYYY」は同じ意味ですが、「m」と「M」では意味が変わる場合があります(月か分か)。

また、日付や時刻のフォーマット文字列では、特定の記号(例:「/」「:」「-」)をそのまま表示したい場合は、ダブルクォーテーション(“”)で囲む必要があります。例えば、「2023/01/15」と表示したい場合は、書式コードを"yyyy/mm/dd"のように指定します。

Excelのバージョンによる違い

TEXT関数自体は、Excelの初期バージョンから存在する基本的な関数です。そのため、Excel 2019やMicrosoft 365など、ほとんどのバージョンで同じように利用できます。ただし、より新しいバージョンでは、新しい書式コードが追加されている可能性もゼロではありません。一般的に使用される主要な書式コードについては、バージョンによる大きな違いはありません。

代替手段との比較:セルの表示形式

TEXT関数でできることの多くは、Excelのセルの「表示形式」機能でも実現できます。セルの表示形式は、セルの見た目を変更するだけで、実際のセルの値は数値や日付などのデータ型として保持されます。そのため、計算にそのまま利用できるというメリットがあります。

セルの表示形式を使うメリット

  • 計算にそのまま使える:セルには数値や日付データが保持されるため、後続の計算に影響しません。
  • 操作が直感的:書式コードを覚える必要がなく、GUIで設定できます。

TEXT関数を使うメリット

  • 結果が文字列になる:他のアプリケーションへのデータ貼り付けや、特定の文字列形式での出力が必要な場合に便利です。
  • 数式内で完結する:数式の結果として直接表示形式を適用したい場合に、一度の操作で完結します。
  • 条件によって表示を変える(IF関数との併用):IF関数などと組み合わせることで、条件に応じて異なる表示形式の文字列を生成できます。

どちらの方法が適しているかは、その時の状況や目的に応じて使い分けることが重要です。

【要点】TEXT関数の主要フォーマット文字列と活用法

  • TEXT(数値, 表示形式): 数値や日付、時刻を指定した表示形式の文字列に変換する関数です。
  • 数値フォーマットコード: “0”, “#”, “.”, “,”, “¥”, “%” などで、桁数、通貨、パーセント表示などを指定します。
  • 日付・時刻フォーマットコード: “yyyy”, “MM”, “dd”, “HH”, “mm”, “ss”, “ddd” などで、年、月、日、時、分、秒、曜日を細かく指定します。
  • 文字列変換の注意点: TEXT関数の結果は文字列になるため、計算に使う場合はVALUE関数やセルの表示形式機能で対応が必要です。

TEXT関数は、数値を思い通りの形式の文字列に変換できる強力なツールです。この記事で紹介した主要なフォーマット文字列と実例集を参考に、ぜひ日々の業務で活用してみてください。最初はコードを覚えるのが大変かもしれませんが、よく使うものをリスト化しておけば、すぐに参照できるようになります。TEXT関数とセルの表示形式機能を使い分けることで、Excelでのデータ表示と管理がより効率的になるはずです。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】