「セルの値を変えずに見た目だけ変えたい」「1234567を1,234,567円と表示したい」「日付を2026年07月28日(月)形式で一括設定したい」——こうした要望をExcel標準の書式設定だけでは満たせない場面が必ず来ます。このとき活躍するのがユーザー定義書式です。
TEXT関数と違い、ユーザー定義書式はセルの値(数値・日付など)を変えず、表示形式だけを変更します。数値データのまま保持されるため、SUM・AVERAGEなどの集計にそのまま使えます。また、特定の書式コードを覚えると色分け・条件分岐・単位の付加まで1行で表現できるため、Excel業務の見た目品質が大きく向上します。
本記事では、書式コードの体系・数値・日付・文字列・色指定・条件指定の全パターン・実務活用シナリオ3例・よくある落とし穴・MOS Excel試験の頻出操作チェックリストを体系的に解説します。
ユーザー定義書式とは
Excelのセルには「値」と「表示形式」が分離して保存されています。標準・数値・通貨・日付など組み込みの書式以外に、自分で書式コードを定義して適用できるのがユーザー定義書式です。
TEXT関数との違いをひとことで言うと、TEXT関数は数値を文字列に変換するのに対し、ユーザー定義書式はセルの数値データを保ったまま「見た目だけ」を変えます。したがって書式を変えたセルは引き続きSUM・AVERAGEなどの計算対象になります。一方でTEXT関数の結果は文字列のため、SUM等の計算対象から外れる点に注意が必要です。
| 比較項目 | ユーザー定義書式 | TEXT関数 |
|---|---|---|
| セルの値の型 | 数値・日付のまま(変わらない) | 文字列に変換される |
| 計算への影響 | SUM・AVERAGEなどで集計できる | 文字列扱いなので計算できない |
| 主な用途 | 入力列の見た目を統一・色分けする | 文字列として結合・出力する |
| 設定場所 | セルの書式設定ダイアログ | 数式バーにTEXT()と入力 |
ユーザー定義書式の設定手順
ユーザー定義書式を適用するには次の3ステップを実行します。
- 書式を変えたいセルまたは範囲を選択する
- Ctrl + 1(または右クリック→「セルの書式設定」)でダイアログを開く
- 「表示形式」タブ→分類リストの最下部にある「ユーザー定義」をクリックし、「種類」ボックスに書式コードを入力してOK
「種類」ボックスには既存の書式コードが一覧表示されます。既存コードをベースにした編集も可能です。作成したユーザー定義書式はそのブックに保存され、同じブック内であれば他のシートでも再利用できます。
数値の書式コード
数値の書式コードは桁プレースホルダーと区切り記号の組み合わせで構成されます。
桁プレースホルダー:#・0・?
| コード | 意味 | 例:値7に適用した場合 |
|---|---|---|
| # | 数字を表示。先頭/末尾の不要な0は非表示 | #.## → 7(小数なし) |
| 0 | 数字を表示。桁が足りなければ0で埋める | 00 → 07 |
| ? | 数字を表示。桁が足りなければスペースで埋める(小数点の桁揃え用途) | ??.? → 7 (桁揃え) |
カンマ区切りと千単位省略
書式コード内のカンマ(,)は2つの役割を持ちます。
- 桁区切り:
#,##0のように桁の間にカンマを書くと、3桁ごとにカンマが自動挿入される - 千単位省略:書式コードの末尾にカンマを置くと、値を1000で割って表示する(カンマ1つで÷1,000、2つで÷1,000,000)
' カンマ区切りの例
#,##0 → 1234567 が 1,234,567 と表示
#,##0.00 → 1234.5 が 1,234.50 と表示
' 単位省略の例(末尾カンマが省略単位を意味する)
#,##0, → 1234567 が 1,235 と表示(千円単位、小数四捨五入)
#,##0,, → 1234567 が 1 と表示(百万円単位)
主要な数値書式コード一覧
| 書式コード | 入力値 | 表示結果 | 用途 |
|---|---|---|---|
| #,##0 | 1234567 | 1,234,567 | 金額・数量の桁区切り |
| #,##0.00 | 1234.5 | 1,234.50 | 小数2桁固定の金額 |
| 0.0% | 0.156 | 15.6% | パーセント表示(小数1桁) |
| 00000 | 42 | 00042 | 社員番号・郵便番号など固定桁数 |
| #,##0,”千円” | 1234567 | 1,235千円 | 千円単位の予算表・見積書 |
| +#,##0;-#,##0;0 | 500 / -200 / 0 | +500 / -200 / 0 | 増減を符号付きで明示 |
| 0.00E+00 | 1234567 | 1.23E+06 | 科学的記数法 |
日付・時刻の書式コード
Excelの日付はシリアル値(1900年1月1日を1とした整数)として保存されており、書式コードで表示形式を変えても内部値は変わりません。
日付の書式コード一覧
| コード | 意味 | 2026/7/5の場合 |
|---|---|---|
| yyyy | 4桁の西暦年 | 2026 |
| yy | 2桁の西暦年 | 26 |
| m | 月(先頭0省略) | 7 |
| mm | 月(先頭0埋め2桁) | 07 |
| mmm | 英語月名略称 | Jul |
| mmmm | 英語月名完全 | July |
| d | 日(先頭0省略) | 5 |
| dd | 日(先頭0埋め2桁) | 05 |
| ddd | 英語曜日略称 | Sun |
| dddd | 英語曜日完全 | Sunday |
| aaa | 日本語曜日略称 | 日 |
| aaaa | 日本語曜日完全 | 日曜日 |
| ge | 元号略称+年 | R8 |
| gge | 元号略称(漢字)+年 | 令8 |
| ggge | 元号完全(漢字)+年 | 令和8 |
時刻の書式コード一覧
| コード | 意味 | 表示例 |
|---|---|---|
| h | 時(先頭0省略) | 9 |
| hh | 時(先頭0埋め2桁) | 09 |
| m / mm | 分(h の後に置く。単独では月と解釈) | 5 / 05 |
| s / ss | 秒 | 3 / 03 |
| [h]:mm | 24時間超えの合計時間(勤怠集計等) | 26:30 |
| AM/PM h:mm | 12時間表記 | AM 9:05 |
重要な注意点:書式コード内の m は「直前に時刻コード(h)がある」場合のみ「分」として解釈されます。それ以外の場面では「月」として解釈されます。hh:mm:ss と書いた場合、最初の mm は「分」、yyyy/mm/dd の場合は「月」です。
' よく使う日付・時刻の書式コード例
yyyy/mm/dd → 2026/07/05
yyyy"年"mm"月"dd"日" → 2026年07月05日
yyyy"年"mm"月"dd"日("aaa")" → 2026年07月05日(日)
m"月"d"日" → 7月5日
ggge"年"m"月"d"日" → 令和8年7月5日
hh:mm → 09:05
[h]:mm → 26:30(24時間超え合計に使う)
文字列の書式コード(@ の使い方)
書式コードに @ を使うと、セルに入力した文字列をそのまま参照できます。文字列に「接頭辞・接尾辞」を自動付加するときに便利です。
' セルに「田中」と入力すると、表示が以下のように変わる
@"様" → 田中様
"〒"@ → 〒(郵便番号)
@" 御中" → 〇〇株式会社 御中
"部門:"@ → 部門:営業部
このコードはセルに文字列を入力した場合にのみ適用されます。数値セルに @ を含む書式を適用しても、数値部分は @ の位置では表示されないため注意してください。
4段階書式コード(正・負・ゼロ・文字列)
書式コードはセミコロン(;)で最大4つに分割できます。順序は「正の数;負の数;ゼロ;文字列」です。
' 4段階書式の例
#,##0;[赤]-#,##0;"-";"文字列は対応外"
' 解説
' 正の数 → #,##0 (通常のカンマ区切り)
' 負の数 → [赤]-#,##0 (赤色でマイナス符号付き)
' ゼロ → "-" (ハイフンを表示)
' 文字列 → "文字列は対応外"(その文字を表示)
2つだけ指定した場合は「正の数とゼロ;負の数」、3つ指定した場合は「正の数;負の数;ゼロ」の順で適用されます。ゼロをハイフン(”-“)で表示する書式は財務資料でよく用いられます。
色指定の書式コード
書式コードの先頭に [色名] を付けると、そのセクションのテキストを指定色で表示できます。使える色名は8色です。
| コード | 表示色 |
|---|---|
| [黒] | 黒 |
| [白] | 白 |
| [赤] | 赤 |
| [青] | 青 |
| [緑] | 緑 |
| [黄] | 黄 |
| [紫] | 紫(マゼンタ) |
| [シアン] | シアン |
8色以外の色を指定したい場合は [Color1] ~ [Color56] のようにExcelのパレット番号で指定できますが、環境によって色が異なる場合があるため実務ではなるべく名前付き8色を使います。
' 色指定の実用例
' 負の数を赤で表示
[赤][<0]#,##0;#,##0
' 正は青、負は赤でプラス・マイナス符号付き
[青]+#,##0;[赤]-#,##0;"-"
' 数値が100以上なら緑、未満なら赤(条件付き)
[緑][>=100]#,##0;[赤]#,##0
条件付き書式コード(比較演算子の埋め込み)
書式コードには [条件] 形式で比較演算子を埋め込めます。ただし指定できる条件は最大2つまでで、残りのセクションが「それ以外」に該当します。
' 例:100以上は緑、50未満は赤、それ以外は標準
[緑][>=100]#,##0;[赤][<50]#,##0;#,##0
' 例:達成率の色分け(100%以上=青、80%以上=黒、80%未満=赤)
[青][>=1]0.0%;[赤][<0.8]0.0%;0.0%
なお「条件付き書式コード」は書式設定ダイアログ内の機能であり、リボンの「条件付き書式」(ホームタブ)機能とは別物です。書式コードの条件は最大2条件、複数セルの関係ではなくセル単体の値に対して働きます。複雑な条件分岐には「条件付き書式」機能を使うほうが適切です。
実務活用シナリオ3パターン
シナリオ1:社員番号を5桁ゼロ埋めで固定表示する
社員番号「42」を「00042」と5桁で揃えたい場合、セルの値を変えると後続の処理に影響するため、ユーザー定義書式が最適です。
' 適用する書式コード
00000
' 結果:セルの値は42のまま、画面には 00042 と表示される
この方法はVLOOKUP・XLOOKUPなどで社員番号をキーに検索する場合でも、数値「42」として検索できるため業務フローを壊しません。
シナリオ2:予算表の金額を千円単位で統一表示する
売上実績や予算額が百万単位になると、表が数値で埋め尽くされ視認性が下がります。千円単位で表示すると数字の桁数が減り、読みやすくなります。
' 適用する書式コード(千円単位、カンマ区切り)
#,##0,
' 1,234,567 円 → 1,235(千円単位で四捨五入表示、セル値は変わらない)
' 「千円」という単位文字も一緒に表示したい場合
#,##0,"千円"
' 1,234,567 → 1,235千円
注意点として、末尾のカンマは表示上の省略であり、セルの実値は 1,234,567 のままです。そのため合計を求める数式も元の値を正しく計算します。
シナリオ3:日付に曜日を自動で付加する
会議資料や工程表で日付と曜日を同じセルに表示したい場合、手入力では更新のたびに曜日を確認する手間がかかります。書式コードで自動化できます。
' 適用する書式コード
yyyy"年"mm"月"dd"日("aaa")"
' 2026/7/28 → 2026年07月28日(火)と表示
' よりシンプルな形式
m"/"d"("aaa")"
' 2026/7/28 → 7/28(火) と表示
セルの値は日付シリアル値のままなので、WEEKDAY・NETWORKDAYS などの関数でもそのまま参照できます。
よくある落とし穴と対処法
| 症状・誤解 | 原因 | 対処法 |
|---|---|---|
| 書式コードを設定したのに表示が変わらない | 数値の代わりに文字列としてデータが入力されている(数値に見えて左寄り) | セルを選択し数式バーで型を確認。数値に変換してから書式を再適用する |
| mmが月ではなく分になる | 直前にh(時)が来ると分と解釈される仕様 | 分を表示したい場合はhの後に配置。月だけを表示したい場合はyyyyやddと組み合わせてhの前に置く |
| 文字列を書式コードに混ぜたらエラー | 文字列をダブルクォートで囲んでいない | リテラル文字は必ず ""(ダブルクォート)で囲む。例:0"件" |
| ユーザー定義書式が他のブックで使えない | 書式はブック単位で保存されるため | 別ブックでも使うには再定義するか、書式済みセルをコピー→形式を選択して貼り付け(書式のみ)で移す |
| 色指定が効かない | 英語色名を使っている(例:[Red]) | 日本語環境では[赤]など日本語名を使う。または[Color3]などパレット番号を使う |
| TEXT関数を使ったのに数値のまま集計したい | TEXT関数は文字列を返すため計算不可 | 表示専用ならユーザー定義書式を使う。TEXT関数は別列に出力する用途に限定する |
書式コードの設計・デバッグ手順
書式コードが思い通りに表示されない場合は、次の手順でデバッグします。
- Ctrl + 1 でセルの書式設定ダイアログを開き、「種類」ボックスのコードを確認する
- 「サンプル」欄に現在のセル値に適用した結果がリアルタイムで表示されるため、コードを編集しながら目視確認する
- セミコロンの数と位置がずれていないか(正・負・ゼロ・文字列の4セクションの順)を確認する
- 文字列リテラルがダブルクォートで正しく囲まれているか確認する
- 単位省略のカンマが意図した場所(末尾)にあるかを確認する
MOS Excel試験でのユーザー定義書式出題ポイント
ユーザー定義の表示形式を作成する操作は、MOS Excel 365 エキスパート(上級レベル)の出題範囲「データの管理、書式設定」に含まれます。一般レベル(アソシエイト)でも、出題範囲「セルやセル範囲のデータの管理」の中で数値の書式を適用する操作や、[セルの書式設定]ダイアログボックスからの書式設定が対象です。組み込み書式(数値・通貨・日付)の変更問題と合わせて確認しておく必要があります。
- カンマ区切り書式の設定:
#,##0や#,##0.00を入力して桁区切りを設定する問題が出る。リボンのホームタブにある「桁区切りスタイル(,)」ボタンとの使い分けも問われる - 日付書式の変更:
yyyy/mm/ddやyyyy"年"m"月"d"日"のような書式コードへ変更する問題が出る。「2026年7月28日」と表示させる指示に対して正しい書式コードを選択・入力できるかが問われる - パーセント表示:
0.0%などを使って小数点以下の桁数を指定したパーセント書式を適用する問題が出る - ユーザー定義書式ダイアログの操作:Ctrl + 1 でダイアログを開き、「ユーザー定義」カテゴリを選択して「種類」ボックスにコードを入力する操作手順を覚える
- 既存書式への追記:
#,##0に単位を追加して#,##0"円"とするような操作が問われることがある
MOS試験 ユーザー定義書式チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| ダイアログの開き方 | Ctrl + 1 でセルの書式設定を開き「ユーザー定義」を選択する | ★☆☆ |
| カンマ区切り書式 | #,##0 または #,##0.00 を入力してOKをクリックする | ★☆☆ |
| パーセント書式 | 0.0% や 0% を入力して小数桁数を指定する | ★☆☆ |
| 日付の表示形式変更 | yyyy"年"m"月"d"日" などの書式コードを入力する | ★★☆ |
| 曜日の付加 | 日付書式の末尾に (aaa) を追加する | ★★☆ |
| ゼロ埋め固定桁数 | 00000 など桁数分の0を入力する | ★★☆ |
| 単位文字の付加 | #,##0"円" のようにダブルクォートで文字列を囲む | ★★☆ |
| 負の数の赤表示 | #,##0;[赤]-#,##0 のような2セクション書式を入力する | ★★★ |
| 千単位省略 | #,##0, を入力して千円単位表示にする | ★★★ |
まとめ:ユーザー定義書式で表の見た目品質を上げる
本記事のポイントをまとめます。
- ユーザー定義書式の本質:セルの値を変えずに「見た目だけ」を変える。計算・集計はそのまま可能でTEXT関数とは用途が異なる
- 数値コードの基本:
#は不要な0を非表示、0は0で埋める。カンマは3桁区切りと末尾置きで千単位省略の2役を持つ - 日付コードの注意点:
mは直前にh(時)があると「分」、それ以外では「月」と解釈される。曜日はaaa(日本語略)・aaaa(日本語完全)で付加できる - 文字列は
@で参照:@"様"のようにセルに入力した文字列に接頭辞・接尾辞を付加できる - 4セクション書式:セミコロンで「正・負・ゼロ・文字列」の表示を個別に制御できる。負の数を赤表示、ゼロをハイフン表示するのが定番
- 色指定:
[赤]など8色の名前を書式コードの先頭に置く。条件付き比較演算子との組み合わせで最大2条件の自動色分けが実現する - MOS試験対策:Ctrl + 1→ユーザー定義の操作、
#,##0・0.0%・yyyy"年"m"月"d"日"の入力が出題の中心
ユーザー定義書式を使いこなすと、セルの値を書き換えることなくレポートの見た目を統一・強化できます。まずは #,##0 と yyyy"年"mm"月"dd"日("aaa")" の2つを覚えるだけで、日常業務の多くのシーンに対応できます。
PR
書式設定・関数・ピボットテーブルなど実務直結のExcelスキルを1冊で体系的に解説。ユーザー定義書式をはじめとするセル書式の操作も丁寧に説明されており、MOS試験の対策にも活用できるロングセラーです。
PR
MOS Excel 365試験に完全対応した公式テキスト。書式設定・ユーザー定義書式の操作問題も収録しており、模擬試験形式で繰り返し練習することで本番合格に必要な操作精度を高められます。
