TEXT関数と書式設定の「ユーザー定義」が共通で使える理屈

コラム・裏ワザ

以下のような方にオススメの記事です。

  • 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自動化の世界に進む際にも必須の知識となります。ぜひこの知識を活かして、次のクエストに進んでください!

コメント

タイトルとURLをコピーしました