エクセルで売上データや財務数値を管理していると、パーセント表示の値がマイナスになる場面は少なくありません。
そのとき、マイナスの値が黒字のまま表示されていると、一目でネガティブな数値だと認識しにくく、資料の見やすさが大きく損なわれてしまいます。
パーセントの負の値を赤字で表示する設定を行うことで、データの視認性が格段に向上し、報告書や分析資料のクオリティも上がるでしょう。
本記事では、エクセルでパーセントをマイナス赤字表示にするための方法を、書式設定・条件付き書式・色変更の観点から徹底的に解説していきます。
初心者の方でも迷わず設定できるよう、手順を丁寧に説明していきますので、ぜひ最後までご覧ください。
エクセルでパーセントをマイナス赤字表示にする最も簡単な方法
それではまず、エクセルでパーセントをマイナス赤字表示にする基本的な方法について解説していきます。
エクセルには、負の値を赤字で表示するための機能が複数用意されており、目的や状況に応じて使い分けることが大切です。
最も手軽に設定できるのは、セルの書式設定ダイアログから負の数の表示形式を選ぶ方法です。
セルの書式設定から負の値を赤字にする手順
まずは、セルの書式設定を使ってパーセントのマイナス値を赤字にする基本手順を確認しましょう。
対象のセルまたはセル範囲を選択した状態で、右クリックから「セルの書式設定」を開きます。
表示形式タブの「数値」カテゴリを選択すると、画面右下に「負の数の表示形式」という項目が現れるでしょう。
ここに赤字で表示されるオプションが複数表示されており、マイナス記号付き赤字や赤字のみのパターンから選べます。
ただし、このカテゴリは「数値」向けのため、パーセント表示の場合は後述するユーザー定義の書式設定を活用するのがおすすめです。
パーセント表示のまま赤字にするユーザー定義書式
パーセント表示のままマイナス値だけを赤字にするには、ユーザー定義の書式コードを入力する方法が最も柔軟性が高いといえます。
セルの書式設定を開き、カテゴリから「ユーザー定義」を選択してください。
種類の入力欄に以下のような書式コードを入力することで、正の値は黒字、負の値は赤字のパーセント表示が実現します。
書式コード例:0.00%;[赤]-0.00%
意味:正の値は通常のパーセント表示、負の値は赤色でマイナス付きパーセント表示
小数点なしの場合:0%;[赤]-0%
この書式コードでは、セミコロンで区切ることで正の値と負の値それぞれの表示形式を個別に指定できます。
[赤]という色指定コードを使うことで、条件付き書式を使わずに負の値だけを自動的に赤字で表示できるでしょう。
書式設定でよく使うパーセント赤字表示のコード一覧
用途によって使い分けられるよう、代表的な書式コードをまとめました。
| 表示スタイル | 書式コード | 表示例(負の値) |
|---|---|---|
| 赤字+マイナス記号あり(小数点2桁) | 0.00%;[赤]-0.00% | -3.45% |
| 赤字+マイナス記号あり(整数) | 0%;[赤]-0% | -5% |
| 赤字+括弧表示(小数点2桁) | 0.00%;[赤](0.00%) | (3.45%) |
| 赤字のみ(マイナス記号なし) | 0.00%;[赤]0.00% | 3.45% |
どの形式が適切かは、資料の用途や社内のルールによって異なりますが、一般的なビジネス文書では「赤字+マイナス記号あり」の形式が最もよく使われています。
条件付き書式を使ってパーセントの負の値を赤字表示する方法
続いては、条件付き書式を使ったパーセントの赤字表示設定を確認していきます。
条件付き書式は、特定の条件を満たすセルに自動的に書式を適用できる機能で、動的にセルの色や文字色を変えたい場合に非常に有効です。
書式設定コードによる方法と異なり、セルの背景色変更や複数条件の組み合わせなど、より高度な視覚的設定が可能になるでしょう。
条件付き書式の基本的な設定手順
条件付き書式を使ってマイナスのパーセント値を赤字表示にするには、まず対象のセル範囲を選択します。
リボンの「ホーム」タブから「条件付き書式」をクリックし、「新しいルール」を選びましょう。
「指定の値を含むセルだけを書式設定」を選択し、条件として「セルの値」「次の値より小さい」「0」を入力します。
次に「書式」ボタンをクリックし、フォントタブで色を「赤」に設定すれば、0未満の値が自動的に赤字で表示されるようになります。
この方法はパーセント表示のセルにそのまま適用できるため、既存のパーセント書式を維持しながら色だけを変えられるメリットがあります。
条件付き書式で背景色も合わせて変更する方法
文字色だけでなく背景色も変えることで、マイナスの値がより一層目立つようになります。
先ほどと同様に条件付き書式の新しいルールを開き、書式設定画面で「塗りつぶし」タブを選択してください。
薄いピンクや薄い赤など、背景として見やすい色を選んで設定することで、一覧表の中でもマイナス値のセルが瞬時に識別できるようになるでしょう。
ただし、背景色と文字色の組み合わせによっては視認性が下がるケースもあるため、コントラストが十分に確保できる配色を選ぶことが重要です。
複数条件を組み合わせた高度な条件付き書式の活用
条件付き書式では、複数のルールを組み合わせることで、さらに細かい表示制御が可能です。
たとえば、「-5%未満は赤字太字」「-5%以上0%未満はオレンジ字」「0%以上はそのまま」といった多段階の色分けも実現できます。
複数ルールを設定する際は、ルールの優先順位(上から順に適用される)に注意しながら設定しましょう。
条件付き書式のルールは上位のルールが優先されます。複数ルールを設定する場合は、より厳しい条件(値が小さいもの)を上に配置するのが鉄則です。
エクセルの書式設定でパーセントの色変更をカスタマイズする方法
続いては、エクセルのセル書式設定でパーセントの色変更をより自由にカスタマイズする方法を確認していきます。
標準の赤色だけでなく、企業のブランドカラーや資料のデザインに合わせた色で表示したいケースもあるでしょう。
エクセルのユーザー定義書式では、カラーインデックスや色名を使って任意の色を指定することが可能です。
ユーザー定義書式で使える色の指定方法
ユーザー定義書式で使用できる色の指定方法には、色名指定とカラーインデックス指定の2種類があります。
色名指定は[赤]、[青]、[緑]、[黄]、[白]、[黒]、[シアン]、[マゼンタ]の8色のみ対応しています。
一方、カラーインデックス指定は[色1]から[色56]までの56色を使用でき、より細かな色の表現が可能となるでしょう。
| 色名 | 書式コード内の記述 | 用途の目安 |
|---|---|---|
| 赤 | [赤] または [RED] | マイナス値の標準的な強調 |
| 青 | [青] または [BLUE] | プラス値の強調や注目箇所 |
| 緑 | [緑] または [GREEN] | 目標達成値など好ましい値 |
| オレンジ系 | [色46] | 注意が必要な中間値 |
| 濃い赤 | [色9] | 重大なマイナス値 |
特に財務資料や分析レポートでは、赤字表示の色味にこだわることで資料全体の品質向上につながります。
正・負・ゼロそれぞれに異なる色を設定する方法
ユーザー定義書式では、セミコロンで区切ることで最大4つのセクション(正・負・ゼロ・テキスト)を個別に設定できます。
たとえば以下のような書式コードを使えば、三者それぞれに異なる色を適用できるでしょう。
書式コード例:[青]0.00%;[赤]-0.00%;[黒]0.00%
正の値:青字のパーセント表示
負の値:赤字のマイナス付きパーセント表示
ゼロ:黒字のパーセント表示
この方法を使えば、一目で数値の正負とゼロを識別できる、視認性の高い表を作成できます。
テーブル全体に統一した色設定を適用するコツ
複数の列や行にわたるテーブル全体に同じ書式を適用したい場合は、最初にすべての対象セルを選択してから書式設定を行うのが効率的です。
また、一度設定した書式は「書式のコピー/貼り付け」(ペイントブラシアイコン)を使うことで、他のセルにも素早く適用できます。
テンプレートとして活用する場合は、書式設定済みのセルを含むシートを「テンプレートとして保存」することで、次回以降の作業効率が大幅に向上するでしょう。
VBAを使ってパーセントのマイナス赤字表示を自動化する方法
続いては、VBAを活用してパーセントのマイナス赤字表示を自動化する方法を確認していきます。
大量のシートや複数のブックにわたって同じ設定を適用する場合、手動での設定は非常に手間がかかります。
VBAマクロを使えば、一括処理や自動化が可能になり、作業効率を大幅に改善できるでしょう。
選択範囲のパーセント値を自動で赤字にするVBAコード
以下は、選択されたセル範囲の中でパーセント値がマイナスのセルを自動的に赤字にするVBAコードの例です。
Sub MakeNegativePercentRed()
Dim cell As Range
For Each cell In Selection
If cell.Value < 0 Then
cell.Font.Color = RGB(255, 0, 0)
Else
cell.Font.Color = RGB(0, 0, 0)
End If
Next cell
End Sub
このマクロを実行するには、開発タブからVBAエディタを開き、標準モジュールに上記コードを貼り付けてF5キーで実行してください。
対象セルを選択した状態でマクロを実行すると、マイナスのセルが赤字、それ以外は黒字に自動設定されます。
シート全体に自動適用するイベントマクロの設定
値が変更されるたびに自動で色を更新したい場合は、WorksheetのChangeイベントを活用するのが効果的です。
シートモジュールに以下のようなコードを記述することで、セルの値が変わるたびに自動的に色が更新されるでしょう。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
For Each cell In Target
If cell.Value < 0 Then
cell.Font.Color = RGB(255, 0, 0)
Else
cell.Font.Color = RGB(0, 0, 0)
End If
Next cell
End Sub
このイベントマクロはシートモジュールに記述する必要があるため、標準モジュールではなく対象シートのモジュールを選択して入力してください。
VBAと条件付き書式の使い分けポイント
VBAと条件付き書式はどちらもマイナス値の赤字表示に使えますが、それぞれ得意な場面が異なります。
| 方法 | メリット | デメリット | 向いているケース |
|---|---|---|---|
| ユーザー定義書式 | 設定が簡単・処理が速い | 柔軟性に限界がある | シンプルな色分けのみ必要な場合 |
| 条件付き書式 | 視覚的に設定できる | 大量適用で動作が重くなることがある | 複数条件での色分けが必要な場合 |
| VBAマクロ | 高度な自動化・一括処理が可能 | マクロ有効ブックが必要 | 大量データや複数シートへの一括適用 |
日常的な業務での利用であれば書式設定や条件付き書式で十分なケースが多いですが、定型業務の自動化や大規模なデータ処理にはVBAが活躍します。
パーセントのマイナス赤字表示に関するよくある疑問と対処法
続いては、パーセントのマイナス赤字表示に関してよくある疑問と、その対処法を確認していきます。
設定を行っても思い通りに表示されない場合は、いくつかの原因が考えられます。
トラブルシューティングの観点から、よく遭遇する問題とその解決策を整理しておきましょう。
書式設定が反映されない原因と解決策
ユーザー定義書式を設定したにもかかわらず、色が変わらないケースがあります。
最も多い原因は、セルの値が数値ではなく文字列として入力されているパターンです。
セルを選択してホームタブの表示形式が「文字列」になっている場合は、「数値」または「パーセンテージ」に変更してから再入力してみてください。
また、条件付き書式が優先されてユーザー定義書式の色が上書きされているケースもあるため、条件付き書式の設定内容も合わせて確認することをおすすめします。
印刷時に赤字が黒で印刷されてしまう場合の対処法
画面では赤字で表示されているのに、印刷すると黒で出力されてしまうことがあります。
これは、プリンターの設定で「白黒印刷」または「グレースケール印刷」が有効になっているケースが多いでしょう。
プリンターのプロパティまたはエクセルのページ設定から印刷設定を確認し、カラー印刷に切り替えることで解決できます。
また、ページ設定の「シート」タブに「白黒印刷」のチェックボックスがあるため、こちらのチェックが入っていないかも確認してみてください。
共有ブックや保護シートでの書式変更ができない場合
複数人で共有しているブックや、シート保護がかかっているファイルでは、書式変更ができない場合があります。
共有ブックの場合は、校閲タブから共有の解除を行ってから設定を変更する必要があるでしょう。
シート保護がかかっている場合は、校閲タブの「シート保護の解除」からパスワードを入力して保護を解除してください。
シート保護を解除する際は、保護をかけた担当者やパスワード管理者に事前に確認を取ることが重要です。無断での保護解除は情報セキュリティ上のリスクにもなりえます。
まとめ
本記事では、エクセルでパーセントをマイナス赤字表示にする方法について、ユーザー定義書式・条件付き書式・色変更・VBAマクロの4つのアプローチから詳しく解説しました。
最もシンプルな方法はユーザー定義書式に[赤]-0.00%のようなコードを入力するやり方で、手軽に設定できるためまずはここから試してみるのがよいでしょう。
より動的な設定や複数条件での色分けが必要な場合は条件付き書式が有効で、大量データの一括処理や自動化にはVBAマクロが威力を発揮します。
目的やスキルレベルに合わせた方法を選び、エクセルの資料をより見やすく仕上げてみてください。
パーセントの負の値を赤字で視覚的に表示するだけで、データの読みやすさと資料の説得力は大きく変わるはずです。