Article

【Excel】ユーザー定義書式で文字を入れる方法|「円」「個」「様」を自動表示

この記事で分かること

Excel のユーザー定義表示形式で「1000円」「田中様」「1,234.5kg」のように文字を自動で付ける書き方を、書式コード早見表と実例付きで解説します。

Excelのセルに「1000円」「田中様」「1,234.5kg」のように、数値や文字列の前後へ自動で単位や肩書きを付けたい場面は多いものです。あらかじめセル内に「円」や「様」を書き足すと、合計などの計算ができなくなって困ります。

ユーザー定義の表示形式を使うと、セルの実際の値は数値や文字列のまま残したまま、見た目だけに「円」「個」「様」などの文字を追加できます。計算もそのまま続けられ、Excel 上では 1000 のままなのに、セルには「1000円」と表示されます。

この記事では、ユーザー定義の表示形式で文字を入れる基本から、千・百万単位の省略、色分け、条件分岐、TEXT 関数との違いまで、Excel 2024 で実機確認した挙動をもとに、書式コード一覧つきで解説します。

ユーザー定義の表示形式とは(実値と表示を分離する仕組み)

ユーザー定義の表示形式は、セルに入力された値はそのまま保ったうえで、画面上の表示だけを自分のルールで整える機能です。「セルの書式設定」ダイアログの[表示形式]タブで[ユーザー定義]を選び、[種類]欄に書式コードと呼ばれる文字列を書き込みます。

大事なのは、次の点です。

  • 実際の値は変わらない10001000 のまま、池田池田 のまま。
  • 変わるのは画面表示だけ10001000円 に、池田池田様 に見える。
  • 計算には影響しない1000円 と表示されたセルを + 2000円 のセルと足すと、3000円 と表示される(中身は 1000 + 2000 = 3000)。

よく使う書式コード早見表

最初にざっと、使用頻度の高い書式コードを一覧で示します。コピーしてそのまま[種類]欄に貼り付けて使えます。各コードの詳しい説明は、以下のセクションで順番に取り上げます。

Excel の[ユーザー定義]書式コードでよく使う形を一覧にしたワークシート。目的・入力値・書式コード・表示結果の4列で整理
目的入力値書式コード表示結果
数値の後ろに単位を付ける10000"円"1000円
桁区切りを入れる1000#,##0"円"1,000円
小数を残して単位を付ける1234.50.0"cm"1234.5cm
文字列の後ろに肩書きを付ける池田@"様"池田様
文字列の前にラベルを付ける田中"氏名: "@氏名: 田中
千円単位で表示する1234567#,##0,"千円"1,235千円
百万円単位で表示する123456789#,##0,,"百万円"123百万円
パーセント表示にする0.30%30%
前にドル記号を付ける1000"$"#,##0$1,000

ポイントは、数値セルでは 0#,##0、文字列セルでは @ が「入力された値の位置」を意味するということです。その前後に "..." で囲んだ文字列を書くと、値に自動で付け足されます。

書式の設定手順(Ctrl+1 で「セルの書式設定」を開く)

書式を設定したいセルを選び、ショートカット Ctrl + 1 を押すと「セルの書式設定」ダイアログが開きます。リボンの[ホーム]タブ→[数値]グループ右下の小さなアイコン(ダイアログボックス起動ツール)をクリックしても同じダイアログが開きます。

セル D2 を選択して Ctrl+1 を押すと[セルの書式設定]ダイアログが開くことを示すワークシート画面

ダイアログが開いたら、[表示形式]タブを選び、左側の[分類]から[ユーザー定義]をクリックします。右側の[種類]欄に書式コードを書き込むことで、自分の希望する表示形式を作れます。

Excelの[セルの書式設定]ダイアログで[表示形式]タブから[ユーザー定義]を選んだ画面。分類リストと書式コードの種類一覧が見える

[種類]欄に書式コードを入力するたびに、上の[サンプル]欄にプレビューが表示されます。ここで実際の見え方を確認してから[OK]を押すと、選択中のセルに書式が適用されます。

[種類]欄に 0"円" と入力すると[サンプル]欄に 1000円 と表示されるプレビュー画面

数値の後ろに単位を付ける:0"円" 0"個" 0"名"

もっとも使う場面が多いのが、数値の後ろに「円」「個」「名」などの単位を付ける書式です。書式コード 0"円" の意味は、0 の位置に入力された数値を表示し、そのうしろに "円" を付け足す」です。

セル D2 に書式コード 0"円" を適用した結果、1000 が 1000円 と表示される様子

桁区切りを付ける:#,##0"円"

金額表示では、3 桁ごとにカンマを入れたいことが多いでしょう。書式コード #,##0"円" を使うと、10001,000円12345671,234,567円 のように桁区切り付きで表示されます。#,##0 は「桁区切り付きの整数表示」を意味する、Excel 標準のプレースホルダです。

小数を残す:0.0"kg"

小数値のセルでは、表示する桁数を固定したいことがあります。書式コード 0.0"kg" は「小数第 1 位まで残し、うしろに "kg" を付ける」の意味です。1234.51234.5kg に、0.00"kg" なら 1234.50kg になります。

単位別の書式コード早見表

円・個・名・点・枚・人・回・時間・%・cm・kg など単位別に書式コードと表示結果を並べたワークシート
単位書式コード表示例 (入力 1000)
0"円"1000円
0"個"1000個
0"名"1000名
0"点"1000点
0"枚"1000枚
0"人"1000人
0"回"1000回
時間0"時間"1000時間
cm0"cm"1000cm
kg0"kg"1000kg

文字列に文字を付ける:@"様" "氏名: "@

セルに入っているのが数値ではなく文字列の場合は、0#,##0 ではなく、@ が「入力された文字列の位置」を表します。書式コード @"様" は「入力された文字列のうしろに "様" を付ける」の意味です。

セル D5 に書式コード @"様" を適用した結果、池田 が 池田様 と表示される様子

前にラベルを付けたいときは "氏名: "@ のように書きます。田中 と入力されたセルに適用すると、氏名: 田中 と表示されます。ポイントは、@ の位置を入れ替えるだけで前置き・後付けを切り替えられる点です。

クオーテーション「"..."」の使い方

書式コードの中で「円」「様」「合計: 」のような文字を追加するときは、本来は 半角のダブルクオーテーション "..." で囲むのがルールです。0"円""円" のように、Excel に「これはリテラルの文字だよ」と伝える記法です。

ただし Excel には便利なお節介があり、日本語 1 文字や記号 1 文字の場合は、クオーテーションを付けずに 0円 0個 0名 のように書いても受け付けます。Excel が内部で自動的に 0"円" 0"個" 0"名" にクオート化して保存してくれます。

一方、複数文字をクオートなしで書くと、Excel は各文字を個別にクオート化する挙動になります。たとえば 0円以上0"円""以""上" として保存されてしまい、書式コードの見た目が乱れます。表示結果自体は正常ですが、あとから書式コードを見直すとき読みにくくなるので、複数文字はまとめて 0"円以上" と囲むのがきれいです。

なお、¥ だけは例外で、クオートなしでも通貨記号として受理されます。対して $ はクオート必須で、"$"#,##0 のように書く必要があります。

千・百万単位で省略表示:#,##0,"千円" #,##0,,"百万円"

金額が大きくなると、1 の位まで見せると列幅を食いすぎて見づらくなります。書式コード内の 末尾のカンマは、「1000 で割って表示する」というスケール指定として働きます。

千円単位の書式コード #,##0,"千円" を適用して 1234567 が 1,235千円 と表示される様子
  • #,##0,"千円"12345671,235千円(千単位に四捨五入)
  • #,##0.0,"千円"12345671,234.6千円(小数1桁)
  • #,##0,,"百万円"123456789123百万円(百万単位)
  • #,##0.0,,"百万円"123456789123.5百万円

補足:万単位の表示は書式コードでは難しい

日本ではよく使う「万単位」表示(123451.2万円)は、残念ながらユーザー定義書式コードだけでは自然に表現できません。カンマ 1 つは千、2 つで百万が割り当てられており、1 万で割るショートカットは書式コードにないためです。

万単位で表示したいときは、別セルに次のような計算式を書いて文字列として作り出す方法をおすすめします。どちらも小数第 1 位で四捨五入して「1.2万円」のように表示します。

  • =TEXT(A1/10000,"0.0")&"万円" — TEXT 関数で桁指定+文字列結合
  • =ROUND(A1/10000,1)&"万円" — ROUND で丸めてから文字列結合

いずれも結果は文字列になるので、このセルはそのあと計算には使えません。計算を続けたい場合は元の数値セルをそのまま参照してください。

正・負・ゼロ・文字で書式を分ける(4 セクション書式)

書式コードは セミコロン ; で区切ることで、最大 4 つのセクションを持てます。それぞれ「正の数;負の数;ゼロ;文字列」の順で適用されます。

0"円";"赤字"-0"円";"-";"[文字]"@
4セクション書式 0"円";"赤字"-0"円";"-";"[文字]"@ を適用し、1000→1000円、-1000→赤字-1000円、0→-、あ→[文字]あ と表示される様子
入力値該当セクション表示
1000 (正の数)第1セクション 0"円"1000円
-1000 (負の数)第2セクション "赤字"-0"円"赤字-1000円
0 (ゼロ)第3セクション "-"
あ (文字列)第4セクション "[文字]"@[文字]あ

3 つのセクションだけを書くと、「正の数;負の数;ゼロ」の意味になり、文字列が入ったセルは書式の影響を受けず素のまま表示されます。

色を付ける:[青] [赤] など 8 色

書式コードの先頭に [色名] を書くと、その部分の表示色を指定できます。利用できるのは [黒] [青] [水] [緑] [赤] [紫] [黄] [白] の 8 色です。

[青]#,##0"円";[赤]-#,##0"円"
色指定の書式コード [青]#,##0"円";[赤]-#,##0"円" を適用し、プラスは青・マイナスは赤で表示される様子

経理資料でよく使う「プラスは青字、マイナスは赤字」パターンは、[青]#,##0"円";[赤]-#,##0"円" のように正負の 2 セクションで書けます。色を [黒][緑] に差し替えれば、プラス側の色を自由に変えられます。[白] はセル背景が白のワークシートでは文字が見えなくなるので注意してください。

条件で表示を変える:[>=1000] などの条件式

条件に応じて表示方法を切り替えたいときは、[比較演算子 数値] をセクションの先頭に書きます。たとえば 1 万以上は「高額」、1000 以上は普通、それ以外は「少額」と出し分けしたい場合、次のように書きます。

[>=10000]#,##0"円 (高額)";[>=1000]#,##0"円";"少額"
条件付き書式コードで 50000 が 50,000円 (高額)、5000 が 5,000円、500 が 少額 と表示される様子

注意:条件書式は 2 つまで、負の値は専用セクションが必要

Excel のユーザー定義書式では、条件式を書けるセクションは最大 2 つまでです。3 つ目以降は無条件のフォールバックまたは文字列用として扱われます。

また、上の例のように負の値用セクションを用意していない書式コードにマイナスの値が入ると、第 3 セクションの文字列の先頭にそのままマイナス符号が付いて表示されてしまう罠があります。-100 に上の書式を適用すると、-少額 のように読みにくい表示になります。

NG書式では -100 が -少額 とおかしく表示される一方、負の値専用セクションを入れた OK 書式では -100 が マイナス -100円 と正しく表示される比較

負の値も扱う可能性があるなら、条件式の 1 つを [<0] に譲って、次のように書くのが安全です。条件指定を 1 段諦めることで、マイナス値を読みやすく表示できます。

[>=1000]#,##0"円";[<0]"マイナス "-#,##0"円";"少額"

書式は計算に影響しない(足し算も普通にできる)

ユーザー定義の表示形式はあくまで見た目だけを変えるものなので、セルの実際の値は元のまま残ります。そのため、書式付きのセルどうしを足しても問題なく計算できます。

表示1000円と2000円のセルを =A+B で足すと、ちゃんと3000円と表示される

セル D2 に 1000 を入れて書式 0"円" を適用すると 1000円 と表示されますが、数式バーを見れば実値は 1000 のままです。D3 の 2000(書式 #,##0"円")と足す数式 =D2+D33,000円 と表示され、内部の計算結果は 3000 です。

表示形式と TEXT 関数の違い(計算できるかどうか)

似た機能に TEXT 関数があります。=TEXT(A1, "#,##0""円""") のように書くと、A1 の値をユーザー定義書式と同じフォーマットで整形できます。見た目はまったく同じ 1,000円 になりますが、TEXT 関数の結果はあくまで文字列です。そのため、そのセルを別の数値と足そうとすると #VALUE! エラーになります。

表示形式 0"円" のセルは =D2+100 が 1,100円 と計算できるのに対し、=TEXT(D2,...) の結果のセルに =D3+100 を適用すると #VALUE! エラーになる対比
ユーザー定義書式TEXT 関数
実値数値のまま文字列
四則演算そのまま計算できる#VALUE! エラー
数値比較 (< >)数値比較される文字列比較になる
典型用途表示だけ変えたい別セルに連結する文字列を作る

原則は、計算を続ける予定があるなら表示形式、別セルへの連結用に文字列化したいなら TEXT 関数と使い分けるのが安全です。

別セル・別ブックにコピーしたときの注意

ユーザー定義の表示形式は「書式」なので、コピーの仕方によっては付けた文字がなくなります。「値のみ貼付け」を選ぶと、山田様 と表示されていたセルをコピーしても、貼り付け先には 山田 だけが残り、様は消えます。

  • すべて貼り付け: 値も書式もコピーされる → 「様」は付いたまま
  • 値のみ貼り付け: 書式が引き継がれない → 「様」が消える
  • 書式のみ貼り付け: 書式だけ移動 → 値なしのセルに "氏名: " などのテンプレだけ残る

メールや別ブックに値だけを渡したいときは、先に =A1&"様" のような数式で文字列として連結してから渡すか、TEXT 関数で先に文字列化した列を作って、そこから値貼り付けするのが確実です。

まとめと関連記事・サンプルブック

ユーザー定義書式で文字を入れる基本を整理すると、次のポイントに集約できます。

  • 数値は 0、文字列は @ が「入力値の位置」を表す。前後に "..." で囲んだ文字を置くと、その文字を自動で追加できる。
  • 書式を変えてもセルの実値は数値のままなので、計算に影響しない。
  • 千・百万単位で省略表示するには、末尾のカンマの数でスケールを指定する。
  • 正・負・ゼロ・文字列で分けるときは、セミコロンで最大 4 セクションに区切る。
  • 条件式は最大 2 つまで。負の値を想定するときは必ず [<0] セクションを入れる。
  • 計算を続けたいなら表示形式、文字列として連結したいなら TEXT 関数。

書式コードは覚えるのが大変そうに見えて、0 #,##0 @"..." の組み合わせに慣れれば、あとは単位を入れ替えるだけで無数のパターンが作れます。まずは 0"円"@"様" からコピペで試してみてください。

サンプルブックのダウンロード

この記事で使用した全書式(0"円"@"様"#,##0,"千円"、4 セクション書式、色指定、条件付きなど)を適用済みの Excel ブックをダウンロードできます。[セルの書式設定]の[種類]欄の履歴に各書式コードが残っているので、他のブックにコピペして使いまわせます。

ユーザー定義書式 サンプルブック (xlsx)

関連記事(日付・時刻書式、記号エスケープなど)

この記事では扱わなかった、用途ごとのユーザー定義書式は、以下の個別記事でそれぞれ解説しています。

Next Read

このあと読む記事

今の内容に近い記事から、次の1本と補助記事を続けて見つけられるようにしています。

Keep Exploring

このテーマをさらに探す

同じテーマの入口記事と更新記事を、一覧の形でまとめています。