✨ 【保存版】ユーザー定義の表示形式 & TEXT関数で使える書式コード逆引き一覧
💡 ユーザー定義(見た目)と TEXT関数(データ化)は同じ言葉で動く
Excelにおける「表示形式のコード(#,##0 や yyyy/mm/dd など)」は、実は以下の2つの機能で**全く同じ記法**として使い回すことができます。
① セルの書式設定(Ctrl+1)
セルを右クリック → [セルの書式設定] → [ユーザー定義] にコードを入力。
データの中身(数値や日付)はそのままで、画面上の「見た目だけ」をお化粧して変える方法。
② TEXT関数でデータ化
=TEXT(A1, "yyyy/mm/dd") のように関数内にコードを指定。
見た目ではなく、中身を完全に「指定した形式の文字列データ」に変換してしまう方法。文字結合(&)や書き出し時に必須。
この法則さえ覚えておけば、以下のほぼ全ての書式を「書式設定」と「TEXT関数」の両方で自由自在に操ることができます。
実務で頻出する神書式をシチュエーション別に一挙公開します。
【1】数値・金額を一瞬で整える書式コード
| やりたいこと | 書式記号コード | TEXT関数での書き方(実践例) |
|---|---|---|
| 桁区切りのカンマを入れる | #,##0 | =TEXT(A1, "#,##0")👉 1500000 が "1,500,000" になる |
| 後ろに特定の文字(円、個など)を付ける | #,##0"円" | =TEXT(A1, "#,##0""円""") または=TEXT(A1, "#,##0") & "円"👉 "1,200円"になる(※&で繋ぐのが簡単です) |
| 常に指定桁数にする(ゼロ埋め) ※社員番号や口座番号の結合で必須 |
0000000 | ="社員ID:" & TEXT(A1, "0000000")👉 "社員ID:0015024" になる |
| 小数点第1位まで絶対表示する | 0.0 | =TEXT(A1, "0.0")👉 15 が "15.0" になる |
| 千円単位で表示する(下3桁を省略) | #,##0, | =TEXT(A1, "#,##0,") & "千円"👉 1500000 が "1,500千円" になる |
| 百万円単位で表示する(下6桁を省略) | #,##0,, | =TEXT(A1, "#,##0,,") & "百万円"👉 15000000 が "15百万円" になる |
【2】日付・時刻・曜日を自在に操る神コード
| やりたいこと | 書式記号コード | TEXT関数での書き方(実践例) |
|---|---|---|
| 西暦でゼロ埋めスラッシュ(一番標準) | yyyy/mm/dd | =TEXT(A1, "yyyy/mm/dd")👉 "2026/03/05" |
| 年を省略し、ゼロ埋めもしない | m/d | =TEXT(A1, "m/d")👉 "3/5" |
| 和暦(令和〇年〇月〇日)で表示する | ggge"年"m"月"d"日" | =TEXT(A1, "ggge""年""m""月""d""日""")👉 "令和8年3月18日" |
| 和暦の頭文字アルファベット(R, H, S等) | g | =TEXT(A1, "g") & TEXT(A1, "e") & "年度"👉 "R8年度" (年号の計算に超便利です) |
| 曜日を1文字で出す(月, 火, 水…) | aaa | =TEXT(A1, "aaa")👉 "水" |
| 曜日をフルで出す(水曜日…) | aaaa | =TEXT(A1, "aaaa")👉 "水曜日" |
| 日付と曜日をカッコ付きでまとめる ※文章中の埋め込みで一番よく使います |
yyyy/mm/dd (aaa) | ="作業日は " & TEXT(A1, "yyyy/mm/dd (aaa)") & " です"👉 "作業日は 2026/03/18 (水) です" |
| 時間・分・秒を表示する | h:mm:ss | =TEXT(A1, "h:mm:ss")👉 "9:05:00" |
| 24時間を超える時間を集計する | [h]:mm | ="総労働時間は " & TEXT(A1, "[h]:mm")👉 "総労働時間は 25:30"([h]がないと1:30にリセットされる) |
👨💻 実務で頻出する TEXT関数による「日付の文字化」
="本日の作業日は " & TEXT(TODAY(), "yyyy/mm/dd (aaa)") & " です"
👉 "本日の作業日は 2026/03/18 (水) です"
💡 プロの小技:TEXT関数で「IF文の条件判定」を劇的にラクにする
セルA1に生年月日(シリアル値)が入っている場合、IF文で「平成生まれかどうか」を判定しようとすると、通常は DATE 関数などを使って基準となる日付と大小比較しなければならず非常に面倒です。
しかし、TEXT関数を使ってシリアル値を「和暦の頭文字(g)」だけの文字データに抽出すれば、以下のようにたったこれだけの数式で一発判定できます。
=IF(TEXT(A1, "g")="H", "平成生まれ", "その他")
これは「シリアル値という扱いづらい数値を、扱いやすく自由な文字データに変換する」というTEXT関数直結の最強の活用法です。(もちろん"S"なら昭和、"R"なら令和といった判定も自由自在です)
【3】文字列の操作と「完全に消す」裏ワザコード
| やりたいこと | 書式記号コード | TEXT関数での書き方(実践例) |
|---|---|---|
| 文字の後ろに自動で「様」や「御中」を付ける ※これらは主に「書式設定」専用のテクニック |
@" 様" | TEXT関数ではなく= A1 & " 様" で文字結合👉 "田中 様" |
| 【超裏ワザ】セルの中身を完全に非表示にする ※VLOOKUPのキー列、パスワード入力欄などに |
;;; | ※「セルの書式設定」に ;;; を入力👉 (画面上から完全に消えて見えなくなる) |
⚠️ 「;;;」の仕組み
エクセルの表示形式は基本的に
つまり、
エクセルの表示形式は基本的に
プラスの書式 ; マイナスの書式 ; ゼロの書式 ; 文字列の書式 という4つのブロックをセミコロンで区切って定義します。つまり、
;;; とだけ書くと「全てにおいて表示する書式が存在しない」ことになり、データは存在するのに画面からは完全に消滅する魔法のような状態になります。