Excelのユーザー定義表示形式|ゼロ・空欄・数値を分けて見せる
※本記事にはPRを含む場合があります。
こんにちは。『脱会社員』脱サラを応援し続けるブログ、運営者の『なかびー』です。
Excelで作業時間の差を一覧にしたとき、数値に「時間」を付け、変化がない行は「変動なし」と見せたい。ところが、まだ入力していない行や文字として入った「0」まで同じ扱いにすると、確認が必要な行を見落としかねません。
そんなときに使えるのが、セルの値を変えずに見せ方を指定するユーザー定義の表示形式です。この記事では、架空の7行を一貫して使い、正数・負数・数値のゼロ・文字をどう表示するか、ゼロを隠すと何が見分けにくくなるか、合計をどう照合するかを順番に整理します。
対象はWindowsデスクトップ版Excelの操作です。言語や地域、バージョンによって画面や表示が異なる場合があります。例は資料に基づく表示の予想と紙上計算で、この記事の作成時にExcelの画面やブックで実行した結果ではありません。実際の表ではコピーを用意し、選択範囲と表示を確認してください。
値の種類と表示したい意味を先に分ける

まず、7行の意味を固定します。ここでは同じ列のB2からB8に、架空の作業時間差が入っていると考えます。行の番号は後で同じセルに戻るための目印です。数値、文字、入力していないセルを、見た目ではなく表に書いた前提で区別します。
| 行 | 元の状態 | この例での意味 |
|---|---|---|
| B2 | 数値 12.34 | 正の時間差 |
| B3 | 数値 12.33 | 別の正の時間差 |
| B4 | 数値 -3 | 負の時間差 |
| B5 | 数値 0 | 差がゼロと確認済み |
| B6 | 本当に空のセル | まだ入力していない |
| B7 | 文字列「0」 | 文字として入力されたゼロ |
| B8 | 文字列「未確認」 | 値の確認待ち |
この数字は時計の時刻ではなく、十進小数で表した時間差です。たとえば12.34時間を「12時間34分」と読んではいけません。単位を表示形式で付けても、分が時間へ換算されるわけではありません。時刻や経過時間の書式は別の話なので、ここでは扱いません。
この表で特に区別したいのはB5、B6、B7です。B5は数値のゼロ、B6は未入力、B7は文字のゼロです。いずれも一見「変化がない」ように扱いたくなるかもしれませんが、B6は確認済みのゼロとは限りません。B7も表示上は0でも、数値ではない前提です。ゼロとして確定できるかどうかは、見た目だけでは決められません。
またB2の12.34とB3の12.33は、元の数値に0.01の差があります。小数第1位まで表示するとどちらも「12.3」と見える予想ですが、それだけで元の値が同じになるわけではありません。この2行は、後で合計が食い違って見える理由をたどるために残しておきます。
7行を練習用に用意する
実際に試す場合は、本番の表に直接手を加えず、コピーまたは新規ブックで始めます。B2〜B5には表の数値を入力し、B6は何も入れずに残します。B7は文字列としての「0」、B8は「未確認」という文字です。B7が数値で入ってしまうと、後の比較の前提が変わります。入力方法を工夫した後も、セルを選び、型や数式バーを確認して進めましょう。
表示形式の変更を試す範囲はB2〜B8です。見出し、合計行、別の列を含めないでください。選択範囲の外にある表を一括で変更すると、どのセルがどの形式になったかを追いにくくなります。逆に1セルだけ選んで操作した場合は、7行すべてに適用されたと思い込まないようにします。
空セルと文字列の違いを条件式で判定したい場合は、IF関数の記事も参考になります。この記事では条件式を作るのではなく、同じ7行を表示形式へ渡したときの見え方を扱います。
入力した値と、表示の目的を対応させる
7行を作る前に、誰が何を判断する表なのかを考えます。たとえば、前回との差を知らせる表なら、正と負が分かる符号に加えて、確認済みのゼロを「変動なし」と書けば、未確認の行を探しやすくなります。単位の「時間」は表の読み方を助けますが、元の数値が時間差として整理されていることが前提です。
一方、表示できる文字数に余裕がなく、確認済みのゼロを省略したい表もあります。その場合は、後の案Bのように数値ゼロを空にする設計が考えられます。ただし、その見た目だけで未入力と区別できなくなるので、未入力を別の欄や作業手順で確認できるかが先決です。見せ方を選ぶ前に、受け手が未確認を見落とさない仕組みを考えます。
7行のうちB8の「未確認」は数値への変換対象ではありません。数値が決まっていないことを表す文字として残します。B6を「未確認」という文字で埋めることも今回はしません。実際の業務で入力ルールを変えるなら、変更前後の意味と集計への影響を別途確認してください。
B2とB3はどちらも正数ですが、同じ行ではありません。B2が12.34、B3が12.33という組み合わせを、以下の表でも維持します。もし2行を入れ替えれば合計は同じでも、どちらの行にどちらの値があったかという対応は変わります。全体の合計と行ごとの正しさは別に確認します。
四つの区分で、正・負・ゼロ・文字を指定する

最初の案Aは、正の数値にプラス記号と単位、負の数値にマイナス記号と単位を付け、数値ゼロを「変動なし」と見せる形式です。文字はそのまま表示するようにします。以下を半角の記号を含めてそのまま入力します。
+0.0"時間";-0.0"時間";"変動なし";@
セミコロンで区切った場所には順番があり、この例では「正の数値」「負の数値」「数値ゼロ」「文字」の4区分です。最初の+0.0"時間"は正数を小数第1位まで見せ、その後に「時間」という文字を付ける指定です。次の-0.0"時間"は負数の見せ方、3番目の"変動なし"はゼロに表示する文字、最後の@は文字区分の内容を表します。
「時間」や「変動なし」の二重引用符は、表示したい文字を指定するためのものです。セルに単位を入力して数値を文字列へ作り替える操作とは区別してください。セミコロンが全角になったり、引用符が抜けたりすると、意図した形式にならないことがあります。
対象範囲に案Aを設定する
- 練習用のB2〜B8を選択します。見出しや合計行は含めません。
- [ホーム]タブの[数値]グループにある小さな矢印を選び、[セルの書式設定]を開きます。「表示形式」から「ユーザー定義」を選びます。
- 「種類」に上のコードを入力し、区切りと引用符を確認して「OK」を選びます。
- B2からB8まで、元の行番号と表示を対応させて確認します。違いがあれば範囲、入力型、コード、地域設定を順番に見直します。
Microsoftの表示形式のガイドラインでは、最大4区分の順番と文字を含める方法が説明されています。ユーザー定義の作成手順も、利用中の版の画面と合わせて参照してください。
7行への期待対応は次のとおりです。表の「空表示」は、セルに空白という文字を入力する意味ではありません。
| 行 | 案Aでの期待表示 | 対応する状態 |
|---|---|---|
| B2 | +12.3時間 | 正数、元値12.34 |
| B3 | +12.3時間 | 正数、元値12.33 |
| B4 | -3.0時間 | 負数、元値-3 |
| B5 | 変動なし | 数値ゼロ |
| B6 | 空表示 | 真の空セル |
| B7 | 0 | 文字の0 |
| B8 | 未確認 | 文字 |
この一覧は書式の区分と元の状態から作った予想です。Excelの実画面を検証した記録ではありません。実際に異なる表示になった場合、想定の前提が成立しているかを確かめてから原因を絞ります。とくにB7が数値として入っていれば、文字区分の結果を期待してはいけません。
コードを1区分ずつ読む
まず最初のセミコロンの左側を切り出すと、+0.0"時間"です。B2とB3は正数なので、この区分を使う想定です。小数第1位までの表示では双方が12.3となり、先頭に「+」、後ろに「時間」が付くという順序で読みます。元値を12.3へ書き換える指示ではありません。
最初と2つ目のセミコロンの間は-0.0"時間"です。B4の負数に対して「-3.0時間」を見せる想定です。B4の値として必要なのは-3であり、文字の「-3.0時間」をセルへ入れ直すことではありません。数値として残すことと、画面上に単位を見せることを分けます。
2つ目と3つ目のセミコロンの間が"変動なし"です。B5は数値0なので、この文字を表示する想定です。B6は本当に空のセルであり、数値0を格納した行ではありません。B7は文字なので第4区分の@、B8も同じ文字区分をたどります。区分の説明を覚えるだけでなく、行番号から元の状態へ戻ることが大切です。
表示が期待と違う場合、まず7行すべてが選択範囲に入っていたか、次にコードを入力した位置と記号が合っていたかを調べます。それでもB7だけが違う場合は、B7が文字であるという前提を確認します。いきなり7行全体を変換すると、表示の違いの原因と入力状態の変更が混ざってしまいます。
案Aを記録するときは、スクリーン上の見え方だけでなく、コード自体と対象範囲も残します。「単位を付けた」という説明だけでは、ゼロにどの文字を使ったか、文字区分をどう扱ったかは伝わりません。コードと範囲が分かれば、別の担当者も何を再確認すべきかを追えます。
ゼロを隠す案と未入力を、同じ空欄と考えない

次に、数値ゼロの行を「変動なし」と書かず、表示を空にする案Bを考えます。案Aから変更するのは、第3区分だけです。
案A:+0.0"時間";-0.0"時間";"変動なし";@
案B:+0.0"時間";-0.0"時間";;@
案Bにはセミコロンが連続して2つあります。最初のセミコロンは正数と負数の境界、続く2つは負数と空のゼロ区分、空のゼロ区分と文字区分の境界です。;;@を削ったり、@を前へ詰めたりすると、説明している4区分の位置が変わります。コードの先頭から順に「正」「負」「空のゼロ」「文字」と指でたどってから入力してください。
同じB2〜B8を選び、先ほどと同じ「セルの書式設定」→「表示形式」→「ユーザー定義」の「種類」で案Bに変えます。これは表示形式の変更です。B5の数値を消したり、B6にゼロを入力したり、B7の文字を数値に変えたりしません。変更前後に行番号が動いていないことも確認します。
| 行 | 案Aの期待表示 | 案Bの期待表示 | 元の状態 |
|---|---|---|---|
| B2 | +12.3時間 | +12.3時間 | 数値12.34 |
| B3 | +12.3時間 | +12.3時間 | 数値12.33 |
| B4 | -3.0時間 | -3.0時間 | 数値-3 |
| B5 | 変動なし | 空表示 | 数値0 |
| B6 | 空表示 | 空表示 | 真の空セル |
| B7 | 0 | 0 | 文字の0 |
| B8 | 未確認 | 未確認 | 文字 |
注目するのはB5とB6です。案Bでは両方が空に見える予想ですが、B5はゼロと確認した数値、B6は未入力という別の状態です。「空に見えるから未入力」と決めることも、「空に見えるからゼロ」と決めることもできません。案AではB5に「変動なし」と出すことで、B6と視覚的に区別する設計です。
B7はさらに別です。文字区分を@にしているため、文字の「0」は案Aでも案Bでも「0」と見える予想です。B5の表示だけを変えても、B7は数値ゼロにはなりません。案Bにした後でB7が空になった場合は、B7が本当に文字として保存されているかも含めて、個別に確認します。
空に見える表を渡す前の判断
案Aが向くのは、確認済みのゼロを未入力と区別して見せたい場面です。案Bは、数値ゼロを画面上で省略したい場面の選択肢になります。ただし案Bでは、受け手は表示だけでB5とB6を区別できません。受け手に確認済みか未入力かが必要なら、別の状態欄や説明を用意するなど、表の目的に合わせて設計します。
表示を隠すことは、値の削除でも秘匿でも匿名化でもありません。見た目を空にした表を「データが存在しない」と説明するのは避けます。Microsoftのゼロ値の表示・非表示も参考にし、ファイルを渡す相手が値を扱える前提で判断してください。
ここまでの比較はB2〜B8という範囲に案Aと案Bをそれぞれ適用した場合です。別の行や列に異なる形式が残っていれば、表全体が同じルールで表示されるとは限りません。変更した範囲、変更した形式、確認に使った行を作業メモに残せば、後から「どの空欄が何だったか」を追いやすくなります。
案Aと案Bを選ぶための確認例
たとえば、確認済みかどうかをこの列だけで伝えたいなら、B5が「変動なし」、B6が空という案Aのほうが、今回の2行を区別しやすくなります。ただしB7の文字0は「0」のままなので、受け手がそれを確認済みの数値ゼロと誤解しないよう、入力ルールの説明が必要です。案Aだけで型の違いをすべて解決できるわけではありません。
案Bを選ぶ場合は、B5とB6が空表示になる予想です。そこで、別の確認欄に「確認済み」「未入力」などの状態を持たせるか、提出前に担当者が元データを確認する運用が考えられます。別欄が常に正しく更新される保証はないため、元の行番号とセットで照らす手順を決めておきます。この欄の作成は、表示形式のコードが自動で行う処理ではありません。
変更点を一文で残すなら、「B2〜B8の表示形式を案Aから案Bへ変更し、第3区分の文字を空にした。値の入力や型の変更は行わない」という形です。これならB5の表示変更とB7の型変換を区別できます。後日B7を数値に変えた場合は、書式変更の記録へ紛れ込ませず、別の作業として残します。
案Bの空表示を確認するとき、B6に何かを入力して画面をそろえる必要はありません。空セルのままのB6と、ゼロが入ったままのB5が、同じように見える点こそ比較の目的です。ゼロを消してしまえば、この比較の前提は失われます。元の表で試す前に、必ずコピーで違いを把握してください。
表示を丸めた行と元の数値の合計を照合する

案Aでも案Bでも、B2とB3はそれぞれ「+12.3時間」と見える予想です。しかし元の数値は12.34と12.33です。同じ表示が2つ並んでいても、差の0.01が消えたわけではありません。
ここで3種類の数字を分けます。元値を足した合計、各行に表示された小数第1位の数字を手で足した合計、元値合計を小数第1位で見せた数字です。名前が似ていても、作り方が違います。
| 何を足した・表示したか | 紙上の計算または予想 | 意味 |
|---|---|---|
| 元の数値の合計 | 12.34 + 12.33 – 3 + 0 = 21.67 | 数値として入っている4行を加えた値 |
| 各行の表示数字を手で合計 | 12.3 + 12.3 – 3.0 + 0 = 21.6 | 行ごとに見える数字を使う別の計算 |
| 元値合計を小数第1位で表示 | 21.7 の予想 | 21.67を合計セルで1桁表示した見え方 |
21.67と21.6の差は0.07です。合計セルの表示予想21.7と、行ごとの表示を手で足した21.6では0.1違います。どちらかが直ちに入力ミスだとは限りません。行の表示を先に丸めたか、元の数値を合計してから表示したかが異なるからです。
合計式の例として=SUM(B2:B8)を使うなら、範囲をB2からB8までと明示します。この例の前提では、範囲内の数値12.34、12.33、-3、0について紙上で21.67になります。真の空セルと、セルに入っている文字の「0」「未確認」を、数値として加えたという説明にはしません。MicrosoftのSUM関数の説明を参照し、引数をどう指定したかを確かめてください。
ここではセル範囲を参照する話をしています。文字を関数へ直接渡した場合まで「文字はすべて同じ扱い」と一般化しないでください。文字「0」を後から数値へ変えれば、同じ範囲でも中身の型が変わります。今回はその数値が0なので、合計に加わる量は0です。合計が変わらなかったとしても、型が変わらなかった証明にはなりません。
合計が違って見えたときの順番
- 合計式の範囲を確認し、B2〜B8という想定と一致するかを見る。
- B2とB3の表示ではなく、それぞれの元値を確認する。
- 各行の表示数字から手計算した21.6と、元値合計21.67を別の欄に書く。
- 合計セル自体の表示桁数を確認し、21.7という見え方と元値を区別する。
- 受け手に必要な精度を決めてから、表示について説明する。
この例の21.67、21.6、21.7は上の7行に限った紙上の説明です。Excelの実計算、ブックを開き直した結果、別の設定での表示を観測した記録ではありません。見た目の合計に合わせるため、元値を上書きしたり、計算精度の設定を変更したりする前に、何を合計する必要があるのかを決めます。
集計表全体の作り方や表示と元値の関係は、ピボットテーブルの記事も役立ちます。ここでの問いは、同じ7行の表示形式だけを変えたときに、行別の見た目と元値の合計をどう照合するかです。
計算の途中を言葉で追う
元値の計算では、まず12.34と12.33を足して24.67、そこから3を引いて21.67です。B5の数値ゼロを加えても21.67は変わりません。B6〜B8については、この例では数値として加算する対象としません。これが元値を使った紙上計算の道筋です。
一方、見た目の数字を使う計算では、12.3と12.3を足すと24.6、そこから3.0を引いて21.6です。「時間」という文字は数字ではないので、手計算する前に単位を除いて考えています。この21.6は、元値を参照する式の結果として得た数字だとは説明しません。
最後に、元値合計21.67を小数第1位で表示すると21.7になる予想です。ここで丸めるのは合計の見せ方で、各行の見せ方を足し直す操作ではありません。資料を渡す相手が「行の数字を足すと合計と合わない」と疑問に思ったら、この3つを同じ表に並べ、どの数字を使ったかを示します。
2つの「+12.3時間」が同じ元値だと誤解すると、B2とB3の差0.01も見えなくなります。元値の差を使う判断が必要な場合は、表示桁数を増やすか、セルを選んで元の値を確認するなど、その判断に必要な情報を残します。反対に、概況だけを短く見せたい画面なら小数第1位の表示が便利な場合もあります。必要な精度を先に共有し、見た目の一致を値の一致と混同しないことが大事です。
合計の確認で式の範囲がB2〜B7になっていても、B8は文字なので、この例では数値の紙上合計が同じに見える可能性があります。しかし「合計が同じだったから範囲は正しい」とは言えません。対象の末尾がB8であることを、式そのものと照合してください。現在の値が結果を変えない場合でも、将来B8に数値を入力すれば範囲漏れが影響する可能性があります。
合計セルに案Aを使うかどうかも、B2〜B8とは別に決めます。正数の合計21.67へ案Aを適用した場合は「+21.7時間」と見える予想ですが、表中の「21.7」は符号と単位を省いた数字部分です。小数桁の比較が目的なので、符号と単位を取り除いた21.7と21.6を並べています。合計セルに別の書式が設定されていれば、同じ表記になるとは限りません。
計算の説明を残すときは、範囲、元値、表示桁数をセットにします。「合計は21.7」とだけ書けば、それが元値なのか表示値なのか、何行を足したのかが分かりません。「B2〜B8にある例の数値の紙上合計は21.67で、合計を小数第1位で表示すると21.7の予想」と書けば、元値と見た目の関係を後から確認できます。
書式の変更と値の変更を分けて、共有前に確認する

最後に、同じ表から2本の作業に分けて考えます。ひとつは表示形式だけを「標準」へ戻す枝。もうひとつは別コピーでB7の文字「0」を数値0へ変える枝です。両方を同時に行わず、それぞれ変更前後のセルを比べます。
枝1:書式だけを戻す
B2〜B8を選び、「セルの書式設定」の表示形式を「標準」に戻す場合、ここで意図する変更は見せ方です。B2の元値12.34、B3の12.33、B5の数値0、B6の空、B7の文字0、B8の文字は、それぞれの入力状態として追い続けます。「標準に戻したから文字0が数値0へ変わった」とは考えません。
ただし、標準にすれば常に元の全桁がセル内に見えると決めつけないでください。列幅が足りないなどの事情で、セル上の表示だけでは読み切れない場合があります。該当セルを選んで数式バーも確認し、列幅の問題と値そのものを区別します。数式バーに見えるものの意味も、元が数式か入力値かによって確認が必要です。Microsoftの表示形式の説明と照らし、実際の画面で確かめます。
たとえばB2とB3を選び直し、同じ「12.3時間」に見えていた2つの元値をそれぞれたどります。B5はゼロ、B6は入力なしという事前の記録と照合します。B7は文字0のままかを確認します。操作後の見た目だけを控えるのではなく、行番号と変更対象をメモすると、別のセルとの取り違えを防げます。
枝2:文字の0を数値の0に変える
別コピーで、B7が文字0から数値0へ変わったと仮定します。これは表示形式だけの変更ではなく、セルに入っている値の型を変える作業です。変換してよいかは元データの意味と利用目的を確認してから決めてください。この練習ではB7だけを対象とし、識別番号や失われた先頭ゼロの復元には広げません。
| B7の状態 | 案Aの期待表示 | 案Bの期待表示 | B2:B8の数値合計の紙上予想 |
|---|---|---|---|
| 文字の0 | 0 | 0 | 21.67 |
| 数値の0へ変更後 | 変動なし | 空表示 | 21.67 |
型を変えたB7は、案Aでは数値ゼロの第3区分に従って「変動なし」、案Bでは空に見える予想です。一方、数値として加わる量が0なので、ここに示した合計の紙上予想は21.67のままです。表示が変わっても合計は同じになり得るという反例で、合計の一致だけでは変更がなかったことを確認できません。
これはB7だけがゼロという特定の例です。別の文字列を数値へ変更した場合に合計がどうなるかは、その値と参照の仕方によります。データ全体の一括変換を勧めるものではありません。元の状態を残したコピーと変更後のコピーを比較し、対象の行と変更理由を記録します。
2つの枝を比べるとき、まず作業前の表を基準として残します。枝1はB2〜B8の書式を標準に戻す操作、枝2は別コピーのB7の型を変更する操作です。枝1の結果と枝2の結果を見比べるだけでなく、それぞれを作業前と照合します。そうすることで、書式と型を同時に変えて原因が分からなくなる事態を避けられます。
枝2の変更後には、B7の状態が数値0になったかを個別に確認し、適用中の表示形式が案Aなら「変動なし」、案Bなら空という期待と照らします。B5も数値0なので同じ区分になる想定ですが、B5とB7はもともとの入力状態が違いました。事後に同じ表示になったとしても、どの行に変更を加えたかの履歴は別に残す必要があります。
変更対象をB7だけにした理由は、今回の問いが「文字0の型を変えると何が起きるか」だからです。B8の「未確認」を数値として扱う判断や、B6の未入力をゼロで埋める判断は、この例からは導けません。それぞれの意味を確認するまでは、今回の型変更へ含めないでください。
もし共有先が表を印刷したり、別の形式へ出力したりするなら、その環境で見える情報を別途確かめる必要があります。ここで示したのはWindows版Excelの書式に関する案内と期待値であり、印刷物や別形式で同じ表示が得られたという検証結果ではありません。画面上で空に見えることを、他の形式でも値が見えないという根拠にしないようにします。
渡す前に残す情報
- 対象はB2〜B8で、7行の入力状態は表のとおりか。
- 採用したのは案Aか案Bか。Bの
;;@を含めてコードを控えたか。 - ゼロ、未入力、文字0の見え方と意味を受け手に説明できるか。
- 元値合計21.67、行表示からの21.6、合計表示の予想21.7を混ぜていないか。
- 書式だけを変えたのか、B7の型も変えたのか。変更前を戻せるか。
- 必要な桁を数式バーや列幅も含めて確認し、Excelの実際の画面で結果を見たか。
共有する表に必要な情報は、表示の美しさだけではありません。たとえば副業の事務作業で集計表を渡す前にも、「空に見える行は未確認か、確認済みのゼロか」を受け手が判断できることが大切です。これは作業を準備する際の考え方であり、案件の獲得や収入を保証するものではありません。
文字として扱う値や先頭ゼロの注意点は、条件付き書式の解説やCSVの文字化けとExcelでの確認にも関連します。今回の形式は見た目を整えるもので、失われた文字や元のデータを復元する機能ではありません。
まずは案Aで確認済みのゼロを明示し、必要なら案Bで空表示にしたときの区別を検討する。次に、元値と行表示、合計表示を別々に照合する。この順番なら、表示形式を便利に使いながら、元の表に何が入っているかも説明しやすくなります。