Excel

【Excel】エクセルでマイナスは表示しない・計算しない(if関数:数式:パーセントも:0)方法

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

Excelで計算結果を表示する際、マイナスの値を表示したくない場面は数多くあります。

在庫管理で欠品数を表示しない、売上レポートでマイナスをゼロとして扱う、達成率がマイナスになった場合は非表示にするなど、マイナス値の表示や計算を制御することは、見やすく正確なデータ表現のために重要です

特に顧客向けのレポートやプレゼンテーション資料では、マイナス値がそのまま表示されると誤解を招いたり、見栄えが悪くなったりすることがあります。また、集計や分析においても、マイナス値を除外して計算したい場合が頻繁に発生します。

Excelにはマイナス値を制御する方法が複数用意されています。

IF関数を使った条件分岐、MAX関数による最小値の設定、表示形式の変更による見た目の制御、条件付き書式による非表示など、目的に応じて最適な方法が異なります。

本記事では、マイナス値を表示しない方法、マイナスをゼロとして計算する方法、パーセント表示でのマイナス制御など、実務で即活用できる様々なテクニックを詳しく解説します。

単純な非表示から高度な条件付き処理まで、あらゆるシーンに対応できる知識をお届けします。

ポイントは

・IF関数で「=IF(A1

です。

それでは詳しく見ていきましょう。

IF関数でマイナスを表示しない方法

それではまず、IF関数を使ってマイナス値を表示しないようにする基本的な方法を確認していきます。

マイナスを空白にする基本の数式

マイナス値を表示しない最も基本的な方法は、IF関数を使って条件分岐させることです

A1セルの値がマイナスの場合は空白を表示し、それ以外は値をそのまま表示する数式は「=IF(A1

IF関数によるマイナス非表示

正の数の場合

A1: 100
=IF(A1
結果: 100

マイナスの場合

A1: -50
=IF(A1
結果: (空白)

ゼロの場合

A1: 0
=IF(A1
結果: 0
A列(元の値) B列(数式) B列(結果)
100 =IF(A1 100
-50 =IF(A2 (空白)
0 =IF(A3 0
250 =IF(A4 250

マイナスを0として表示する

マイナス値を空白ではなく0として表示したい場合は、IF関数の第2引数を0にします

数式は「=IF(A1

空白と0の違い

空白にする場合

=IF(A1
→ 集計から除外
→ グラフに空白

0にする場合

=IF(A1
→ 集計に含まれる
→ グラフに0表示
数式 A1が100の場合 A1が-50の場合 用途
=IF(A1 100 (空白) 見た目重視、集計除外
=IF(A1 100 0 集計に含める、グラフ表示
=IF(A1 100 (空白) 0とマイナス両方非表示
=IF(A1 100 0 0以下を0に統一

マイナスの代わりにメッセージを表示する

マイナスの場合に特定のメッセージを表示することもできます。

IF関数の第2引数に文字列を指定すれば、任意のメッセージを表示できます

例えば「=IF(A1

IF関数でマイナスを制御する方法は、非常に柔軟で応用範囲が広いというメリットがあります。

条件や表示内容を自由に設定できるため、あらゆる業務要件に対応できます。

ただし、IF関数を使った数式は別の列に作成する必要があり、元のデータとは別に管理しなければなりません。

また、数式が残っているため、元データを変更すると自動的に再計算されます。

これは利点でもありますが、最終的なレポート作成時には「値として貼り付け」で数式を値に変換することをおすすめします。

数式のまま残しておくと、ファイルサイズが大きくなり、動作が遅くなることもあります。

MAX関数でマイナスを0にする方法

続いては、MAX関数を使ってマイナス値を0に置き換える方法を確認していきます。

MAX関数の基本的な使い方

MAX関数を使うと、シンプルな数式でマイナスを0に変換できます

数式は「=MAX(A1,0)」となり、A1の値と0を比較して大きい方を返します。

A1が正の数であれば、0より大きいのでA1の値が返され、A1がマイナスであれば、0の方が大きいので0が返されます。

例えば、A1に100が入っていればMAX(A1,0)は100を返し、A1に-50が入っていればMAX(A1,0)は0を返します。

A1が0の場合は、MAX(0,0)で0が返されます。

MAX関数による0への変換

正の数の場合

A1: 100
=MAX(A1,0)
結果: 100

マイナスの場合

A1: -50
=MAX(A1,0)
結果: 0

ゼロの場合

A1: 0
=MAX(A1,0)
結果: 0

MAX関数の利点は、数式が非常に短くシンプルなことです。

IF関数の「=IF(A1

A列(元の値) B列(数式) B列(結果) 100 =MAX(A1,0) 100 -50 =MAX(A2,0) 0 0 =MAX(A3,0) 0 250 =MAX(A4,0) 250

計算式と組み合わせて使う

MAX関数は計算式の中に組み込むこともできます。

「=MAX(A1-B1,0)」とすれば、引き算の結果がマイナスにならないように制御できます

例えば、在庫管理で「在庫数−出荷数」を計算する際、出荷数の方が多い場合でもマイナスにならず0と表示されます。

A1に50、B1に80が入っている場合、A1-B1は-30ですが、MAX(A1-B1,0)は0になります。

この方法は、複数の計算を組み合わせる場合にも有効です。

「=MAX((A1+B1)-C1,0)」のように、複数の演算を含む数式でも、最終結果がマイナスになるのを防げます。

特に、合計や差分を計算して、その結果が負にならないようにしたい場合に便利です。

A列 B列 C列(数式) 結果
100 50 =MAX(A1-B1,0) 50
50 80 =MAX(A2-B2,0) 0
200 150 =MAX(A3-B3,0) 50
30 100 =MAX(A4-B4,0) 0

MIN関数との違い

MAX関数の反対の働きをするのがMIN関数です。

MIN関数は最小値を返すため、正の数を制限したい場合に使用します

「=MIN(A1,100)」とすれば、A1の値が100を超えていても100が返されます。

上限を設けたい場合に有効です。

MAX関数とMIN関数を組み合わせることで、値の範囲を制限できます。

「=MAX(MIN(A1,100),0)」という数式は、A1の値を0から100の範囲に収めます。

A1が-50なら0、150なら100、50なら50が返されます。

MAX関数とMIN関数の組み合わせ

⬇️

下限を設定
=MAX(A1,0)
0未満は0に

⬆️

上限を設定
=MIN(A1,100)
100超は100に

↕️

範囲を制限
=MAX(MIN(A1,100),0)
0~100の範囲に

A1の値 =MAX(A1,0) =MIN(A1,100) =MAX(MIN(A1,100),0)
-50 0 -50 0
50 50 50 50
150 150 100 100
0 0 0 0

表示形式でマイナスを見えなくする方法

続いては、セルの表示形式を変更してマイナスを非表示にする方法を確認していきます。

ユーザー定義書式でマイナスを非表示にする

セルの実際の値は変えずに表示だけを制御したい場合、ユーザー定義の表示形式を使うと便利です

対象のセルを選択してCtrl+1キーを押し、「セルの書式設定」ダイアログを開きます。

「表示形式」タブで「ユーザー定義」を選択し、「種類」の欄に書式コードを入力します。

マイナスを非表示にする基本的な書式コードは「0;””」です。

これは「正の数は0の形式で表示、負の数は空白で表示」という意味です。

セミコロンで区切られた最初の部分が正の数の書式、2番目が負の数の書式です。

ユーザー定義書式の構造

基本構造

正の数;負の数;ゼロ;文字列

マイナス非表示

0;””
または
0;;0

より詳細な書式コード「0;””;”ゼロ”」とすれば、正の数は通常表示、負の数は非表示、ゼロは「ゼロ」と表示されます。

桁区切りを付けたい場合は「#,##0;””」とします。

小数点以下を含める場合は「#,##0.00;””」です。

書式コード 100の表示 -50の表示 0の表示
0;”” 100 (空白) 0
#,##0;”” 1,000 (空白) 0
0;””;”” 100 (空白) (空白)
#,##0.00;”” 1,000.00 (空白) 0.00

パーセント表示でマイナスを非表示にする

パーセント表示でマイナスを非表示にしたい場合も、ユーザー定義書式で対応できます

書式コードは「0%;””」となり、正の数はパーセント表示、負の数は非表示になります。

例えば、達成率の計算で100%以上は表示し、100%未満は非表示にしたい場合に有効です。

小数点以下を含める場合は「0.0%;””」や「0.00%;””」とします。

「0.0%」は小数点以下1桁、「0.00%」は小数点以下2桁まで表示します。

セルに0.05が入っている場合、「0.0%」の書式では「5.0%」、「0.00%」の書式では「5.00%」と表示されます。

パーセント表示の書式コード例

整数パーセント

0%;””
→ 105%
→ (空白)

小数1桁

0.0%;””
→ 105.5%
→ (空白)

小数2桁

0.00%;””
→ 105.50%
→ (空白)
書式コード 1.05の表示 -0.5の表示 0の表示
0%;”” 105% (空白) 0%
0.0%;”” 105.0% (空白) 0.0%
0.00%;”” 105.00% (空白) 0.00%
0%;””;”” 105% (空白) (空白)

表示形式のメリットとデメリット

表示形式による制御には、実際の値が保持されるという大きなメリットがあります

セルには-50という値が入っているが、表示は空白という状態を作れるため、他の数式で参照したときには元の値が使用されます。

これにより、表示と計算を分離できます。

一方で、デメリットもあります。

セルをコピーして他のアプリケーションに貼り付けると、表示されている内容ではなく実際の値が貼り付けられます。

また、表示が空白でも実際にはマイナス値が入っているため、SUM関数などで集計すると予期しない結果になることがあります。

ユーザー定義書式は、見た目だけを調整したい場合に最適な方法です。

特に、元のデータを保持したまま、印刷やプレゼンテーション用の表示を整えたい場合に有効です。

レポート作成では、詳細データは保持しながら、顧客向けの表示だけを調整するという使い方ができます。

ただし、書式コードの記述は初心者には難しく感じられることがあります。

基本的なパターンを覚えておき、必要に応じて応用していくのが良いでしょう。

また、複雑な書式コードを使用すると、後から見た人が理解しにくくなるため、シンプルな書式を心がけることも重要です。

合計や平均計算からマイナスを除外する方法

続いては、集計関数でマイナス値を計算から除外する方法を確認していきます。

SUMIF関数で正の数だけを合計する

合計計算からマイナス値を除外したい場合、SUMIF関数を使って条件付きの合計ができます

数式は「=SUMIF(A1:A10,”>0″)」となり、A1からA10の範囲で0より大きい値だけを合計します。

マイナス値は自動的に除外され、正の数だけが集計対象になります。

例えば、A1からA5に「100、-50、80、-30、120」が入っている場合、通常のSUM関数では220になりますが、SUMIF関数では300(100+80+120)になります。

マイナス値の-50と-30が除外されるためです。

セル =SUM(A1:A5) =SUMIF(A1:A5,”>0″)
A1 100 220 300
A2 -50
A3 80
A4 -30
A5 120

ゼロも除外したい場合は「=SUMIF(A1:A10,”>0″)」、ゼロを含めたい場合は「=SUMIF(A1:A10,”>=0″)」とします。

条件部分を変更することで、様々な集計パターンに対応できます。

AVERAGEIF関数で正の数だけを平均する

平均計算でもマイナス値を除外できます。

AVERAGEIF関数を使えば、条件を満たす値だけの平均を求められます

数式は「=AVERAGEIF(A1:A10,”>0″)」となり、正の数だけの平均が計算されます。

SUMIF関数と同様に、「>0」の部分を変更することで、様々な条件での平均を求められます。

「>=100」とすれば100以上の値だけの平均、「0」とすれば0以外の値の平均が計算できます。

条件付き集計関数の比較

SUMIF

=SUMIF(範囲,”>0″)
正の数だけ合計
例: 300

AVERAGEIF

=AVERAGEIF(範囲,”>0″)
正の数だけ平均
例: 100

COUNTIF

=COUNTIF(範囲,”>0″)
正の数の個数
例: 3
関数 数式例 用途
SUMIF =SUMIF(A1:A10,”>0″) 正の数だけを合計
AVERAGEIF =AVERAGEIF(A1:A10,”>0″) 正の数だけを平均
COUNTIF =COUNTIF(A1:A10,”>0″) 正の数の個数をカウント
SUMIF =SUMIF(A1:A10,”>=0″) 0以上を合計(ゼロ含む)

SUMPRODUCT関数を使った高度な集計

より複雑な条件でマイナスを除外したい場合、SUMPRODUCT関数を使うと柔軟な集計ができます

数式は「=SUMPRODUCT((A1:A10>0)*A1:A10)」となり、A1からA10の各値が0より大きい場合にのみ、その値を合計します。

この方法は、複数の条件を組み合わせる場合に特に有効です。

例えば、「=SUMPRODUCT((A1:A10>0)*(B1:B10=”売上”)*A1:A10)」とすれば、A列が正の数で、かつB列が「売上」の場合のみA列を合計します。

SUMIF関数では対応できない複雑な条件も、SUMPRODUCT関数なら実現できます。

条件付き集計関数を使う方法は、元のデータを変更せずに集計できるという大きなメリットがあります。

データはそのまま保持しながら、必要な値だけを抽出して計算できるため、データの整合性が保たれます。

また、条件を変更するだけで様々な集計パターンに対応できるため、分析の柔軟性も高まります。

ただし、関数の構文を正しく理解していないと、意図しない結果になることがあります。

特に、条件の指定(”>0″、”>=0″、”0″など)は、ダブルクォーテーションで囲む必要があることに注意が必要です。

また、大量のデータを処理する場合、SUMPRODUCT関数は計算負荷が高いため、動作が遅くなることもあります。

まとめ エクセルでマイナスは表示しない・計算しない(if関数:数式:パーセントも:0)方法

エクセルでマイナスを表示しない・計算しない方法をまとめると

・IF関数で制御:「=IF(A10″)」で正の数だけ合計、「=AVERAGEIF(A1:A10,”>0″)」で正の数だけ平均、「=SUMPRODUCT((A1:A10>0)*A1:A10)」で複雑な条件にも対応

これらの方法にはそれぞれ特徴があり、目的に応じた使い分けが重要です。

見た目だけを調整したいなら表示形式、計算から除外したいなら条件付き集計関数、値自体を変換したいならIF関数やMAX関数が適しています。

ただし、どの方法を選択する場合も注意が必要です。

表示形式は見た目と実際の値が異なるため、他のユーザーが混乱する可能性があり、条件付き集計は元データの構造を理解していないと正しく機能しません

Excelのマイナス制御テクニックを適切に活用して、見やすく正確なデータ管理を実現していきましょう!