以下のような方にオススメの記事です。
- TEXT関数とセルの書式設定で、なぜ同じ記号を使うのか知りたい
- 表示形式の記号の丸暗記をしたくない
- 「#」「0」「d」「a」といった表示形式の記号(プレースホルダー)の理屈を知りたい
- より複雑で柔軟な表示設定をしたい
Excelの「セルの書式設定」にあるユーザー定義とTEXT関数は、一見全く別の機能ですが
実は裏側で全く同じルール(記号)を使っています。
この記事では、その記号一つ一つの持つ理屈と、両者の決定的な違いを解説します。
この理屈をマスターすれば、TEXT関数や書式設定を自在に操れます。
今回のクエストはこちら。

TEXT関数とユーザー定義の決定的な違い
TEXT関数もセルの書式設定も、同じ記号を使ってデータを整形しますが、両者には決定的な違いがあります。
| 機能 | 変換後のデータの型 | 影響範囲 |
| セルの書式設定 | 元のデータ型を維持(例:数値のまま) | 見た目だけが変わる |
| TEXT関数 | 強制的に文字列に変換される | 見た目通りに文字列データが確定する |
つまり、データ型が数値である書式設定なら「100個」となっていようが合計できます。
しかし、TEXT関数で文字列になった「100個」は数値でないため計算できません。

変形したデータを計算に使うかどうかで使い分けよう!
TEXT関数と書式設定の記事はこちらをチェックしてください。
数値の桁数をコントロールする理屈
数値の表示形式の理屈は、主に「表示したい桁数」と「数字がないときの処理」を記号でExcelに伝えることです。
「#」と「0」の理屈:表示と非表示の切り分け
数値の桁指定に使われるプレースホルダーの基本です。
| 記号 | 名称 | 理屈(動作原理) | 使用例 | 値 5.6 の結果 |
0 | ゼロ・プレースホルダー | 数字がなければ代わりに 0 を表示して桁を埋めることを保証します。 | "000.00" | 005.60 |
# | ナンバー・プレースホルダー | 数字がある場合のみ表示します。数字がない場合は空白になります。 | "###.##" | 5.6 |

桁数と整えるのは「0」と「#」!
特に整数部で「#」を連続して使うと、先頭のゼロ(例:005の最初の二つの0)を非表示にできます。

カンマ(,)とパーセント(%)の理屈
| 記号 | 名称 | 理屈(動作原理) |
, | カンマ (桁区切り) | カンマの左側に「#」または「0」があるとき、自動的に3桁区切り(¥1,234,567)が適用されます。 |
% | パーセント | 数値を100倍してから % 記号を付けて表示します。 (例:0.1 が 10% になる理屈です)。 |
? | クエスチョン | 小数点位置を揃えるために、数字がない桁にスペースを入れます。 |

3桁区切りがない資料は見にくい!
でもユーザー定義をしなくても簡単に設定できるよ。
書式設定の「数値」にチェック欄があるからね。
日付と時刻の表示形式の理屈
日付と時刻は、Excel内部では「シリアル値」という一つの数値で管理されています。これらの記号は、そのシリアル値から「年」「月」「日」「時」といったパーツを抽出して表示します。
シリアル値については、こちらの記事で少し触れています。

日付に関してはTODAY関数などを
MID関数と「&」で無理やり好きな形にしてたよ。
新しいことを覚えたくないなら、MID関数でいいかな。
「y」「m」「d」の理屈:桁数とゼロ埋め
記号の数が桁数を決定するという理屈です。
| 記号 | 意味 | 桁の理屈 |
y (1~2個) | 年 | 年の下2桁を表示 (例: 2025年 → 25) |
yyyy (4個) | 年 | 年を4桁で表示 (例: 2025年 → 2025) |
m (1個) | 月 | 月を1~2桁で表示 (例: 12月 → 12) |
mm (2個) | 月 | 月を常に2桁で表示(ゼロ埋め) (例: 5月 → 05) |
d (1個) | 日 | 日を1~2桁で表示 (例: 9日 → 9) |
dd (2個) | 日 | 日を常に2桁で表示(ゼロ埋め) (例: 9日 → 09) |

「h」「m」「s」の理屈:時刻の表示
時刻も同様に、記号の数でゼロ埋めの有無を制御します。
h/hh: 時 (Hour) を表示します。(hhはゼロ埋め)m/mm: 分 (Minute) を表示します。(日付の月と区別するため、通常、時と一緒に使用されます)s/ss: 秒 (Second) を表示します。
日本語特有の「a」の理屈:曜日の表示
日付表示で「y」「m」「d」のいずれでもない「a」が使われるのは、日本語環境特有の曜日表示を意味します。
| 記号 | 理屈(動作原理) | 表示例 (火曜日の場合) |
aaa | 曜日の漢字1文字を抽出する理屈。 | "火" |
aaaa | 曜日をフル表示する理屈。 | "火曜日" |

条件によって表示を切り替える理屈
TEXT関数やユーザー定義書式の最も高度な理屈が、セミコロン(;)によるセクション区切りです。
セミコロンは、「こういう値のときはこの表示」「それ以外のときはこの表示」という条件分岐の区切りとして機能します。

余裕がある人だけやろう!
IF関数やVBAを利用すれば、簡単に解決できるからね。
=表示形式1;表示形式2;表示形式3;表示形式4
| セクション | 適用される値の理屈 | 例(色指定) |
| 1番目 | 正の数のとき | [青]#,##0 |
| 2番目 | 負の数のとき | [赤]-#,##0 |
| 3番目 | ゼロ(0)のとき | [緑]0 |
| 4番目 | テキストのとき | @ |
以下のような使い方ができます。

今回のクエストを終えて
表示形式の理屈を習得!
TEXT関数とセルの書式設定は、同じルールブックを共有しています。
「#」と「0」の違いや、「y」「m」「d」の記号の数が意味を持つ理屈を理解すれば、もう表示形式で迷うことはありません。
この理屈は、あなたが今後VBAやPower QueryといったExcel自動化の世界に進む際にも必須の知識となります。ぜひこの知識を活かして、次のクエストに進んでください!







コメント