Excel関数 逆引き集 | 異常値除外 → IF

Excel
スポンサーリンク

概要

データ分析や集計をしていると、
「この値だけ明らかにおかしい…」
「入力ミスで極端な値が混ざっている…」
「異常値を除外して平均を取りたい…」

こうした “異常値(アウトライヤー)” を除外する処理 は、Excel では IF 関数 を使うのが最もシンプルで確実です。

IF を使えば、

  • 異常値 → 無視(空白・0・メッセージに置き換える)
  • 正常値 → そのまま計算に使う

という“前処理”ができ、後続の集計が安定します。


異常値除外の基本

IF の基本形

=IF(条件, 条件が真のときの値, 条件が偽のときの値)

異常値除外では、

  • 条件:異常値かどうか
  • 真:異常値だった場合の処理(空白・0 など)
  • 偽:正常値だった場合の処理(そのまま返す)

という形で使います。


パターン1:上限・下限を超えたら除外する

例:0〜100 の範囲だけを有効とし、それ以外は除外

=IF(OR(A2<0, A2>100), "", A2)

動き:

  • A2 が 0〜100 の範囲 → A2 を返す
  • A2 が範囲外 → 空白(=異常値として除外)

「テスト点数」「割合」「在庫数」など、
範囲が決まっているデータでよく使います。


パターン2:極端に大きい値・小さい値を除外する

例:平均値の計算前に“異常に大きい値”を除外したい

たとえば、A2 の値が 1000 を超えたら異常値とみなす。

=IF(A2>1000, "", A2)

異常値を空白にしておけば、
AVERAGE や SUM で自然に無視されます。


パターン3:文字列や不正入力を除外する

数値列に文字が混ざるケースを防ぐ

=IF(NOT(ISNUMBER(A2)), "", A2)

動き:

  • A2 が数値 → A2 を返す
  • A2 が文字列・記号 → 空白(除外)

入力ミスが多い現場では非常に有効です。


パターン4:異常値を 0 として扱う

空白ではなく「0」に置き換えたい場合

=IF(OR(A2<0, A2>100), 0, A2)

売上・数量など、
「異常値は 0 として扱う」ほうが都合が良い場面で使います。


パターン5:異常値をメッセージで知らせる

ユーザーに“異常値がある”ことを明示したい場合

=IF(OR(A2<0, A2>100), "異常値", A2)

エラー記号ではなく日本語で知らせることで、
入力者が原因に気づきやすくなります。


パターン6:異常値を除外して平均を取る(前処理)

異常値を空白にしてから AVERAGE

例:0〜100 の範囲だけを平均したい

前処理列(B2):

=IF(OR(A2<0, A2>100), "", A2)

平均:

=AVERAGE(B2:B20)

異常値が自動で除外され、
正しい平均が取れます。


例題

問題1

A2 の値が 0〜100 の範囲外なら空白を返し、
範囲内なら A2 を返す式を書いてください。

=IF(OR(A2<0, A2>100), "", A2)

問題2

A2 の値が 1000 を超える場合は異常値として空白を返し、
それ以外は A2 を返す式を書いてください。

=IF(A2>1000, "", A2)

問題3

A2 が数値でない場合は空白を返し、
数値なら A2 を返す式を書いてください。

=IF(NOT(ISNUMBER(A2)), "", A2)

問題4

A2 が 0〜100 の範囲外なら 0 を返し、
範囲内なら A2 を返す式を書いてください。

=IF(OR(A2<0, A2>100), 0, A2)

問題5

A2 が 0〜100 の範囲外なら「異常値」と表示し、
範囲内なら A2 を返す式を書いてください。

=IF(OR(A2<0, A2>100), "異常値", A2)

まとめ

「異常値除外 → IF」のポイントは次の通りです。

  • 異常値の条件を IF の論理式 に書く
  • 異常値なら 空白・0・メッセージ に置き換える
  • 正常値だけを後続の計算に使えるようにする
  • AVERAGE・SUM などの集計が安定する

まずはこの基本形を覚えておくと便利です。

=IF(異常値の条件, 異常値のときの処理, 正常値のときの処理)

異常値を事前に除外しておくと、
集計の精度も見た目の安定性も一気に向上します。

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