IFERROR関数の使い方としくみ|草野球成績管理表で打率表示のエラーを回避する例で解説

関数の使い方

スプレッドシートで数式を組んでいると、条件によってエラー表示(#DIV/0!など)が出てしまうことがあります。このエラーを別の値に置き換えてくれるIFERROR関数について、使い方と内部のしくみを解説します。草野球の成績管理表で打率を計算する場面を例に、初心者向けに丁寧に説明します。

IFERROR関数とは

📝 IFERROR関数の役割(一言でいうと)

本来の数式がエラーになったとき、そのエラーの代わりに指定した値を表示してくれる関数です。成績管理表では「打率」「防御率」のような割り算を含む式で、分母が0になったときの表示崩れを防ぐ場面でよく登場します。

基本の書式はこうです。

=IFERROR(数式, エラーの場合に表示する値)

1つ目の引数には本来計算したい数式を、2つ目の引数にはエラーが出たときに代わりに表示したい値を指定します。

成績管理表での実例:打率表示のエラーを回避する

大阪グーニーズの個人成績集計シートでは、選手ごとに通算打数・通算安打を1行にまとめ、そこから打率を計算しています。仮に、B列に通算打数、C列に通算安打、D列に打率を表示する「個人成績集計」シートがあるとします。

選手名 通算打数 通算安打 打率(素の式)
SUZUKI 30 9 0.3
NAKATA 25 6 0.24
YAMADA(今季未出場) 0 0 #DIV/0!

今季まだ一度も出場していないYAMADA選手は、通算打数(B列)が0のため「安打÷打数」の式がそのまま0で割る形になり、#DIV/0!エラーが表示されてしまいます。これをIFERRORで回避すると、式はこうなります。

✅ 0除算エラーを回避した打率の式
=IFERROR(C2/B2, "-")

これで、打数が0の選手の行だけ自動的に「-」と表示され、エラーで表全体が見づらくなることがなくなります。

STEP 1
打率を表示したいセルを選択する

個人成績集計シートで、打率を表示したいセル(例:D2セル)をクリックして選択します。

STEP 2
「=IFERROR(」に続けて本来の計算式を入力する

「=IFERROR(C2/B2」のように、1つ目の引数として本来計算したい式(通算安打÷通算打数)を入力します。

STEP 3
カンマで区切ってエラー時の代替値を入力する

続けて「,”-“」のように、エラーになったときに代わりに表示したい値を入力します。文字を表示する場合はダブルクォーテーションで囲みます。

STEP 4
「)」で閉じてEnterキーで確定する

式を確定すると、エラーが出ない選手はそのまま打率が、打数0の選手は代替値が表示されます。

しくみを理解する:IFERRORは何をしているのか

📝 IFERRORの内部動作

IFERRORは、まず1つ目の引数(本来の数式)を実際に計算してみます。そのうえで、次のどちらかを行っているだけです。

  • 計算が問題なく成功した場合は、その計算結果をそのまま返す
  • 計算がエラーになった場合は、その結果を捨てて2つ目の引数の値に差し替える

ここで重要なのは、IFERRORがエラーの種類を区別しないという点です。0で割ったときの#DIV/0!だけでなく、#N/A#REF!#VALUE!など、どんな種類のエラーであっても同じように代替値に差し替えます。

よくあるミス:代替値で隠れてしまう本当の不具合

⚠️ 原因1:入力ミスによるエラーまで見えなくなる

IFERRORで囲んでしまうと、0除算のような想定内のエラーだけでなく、セル参照のミスや数式の書き間違いによるエラーまで同じ代替値で隠れてしまいます。「表がきれいに見えるから」と安易に全部の式をIFERROR頼みにすると、本当の不具合に気づきにくくなるので注意してください。

⚠️ 原因2:数式全体を丸ごと囲ってしまう

複数の計算を含む長い数式をまとめてIFERRORで囲むと、式のどの部分でエラーが起きたのかが分からなくなります。まずは囲まずに数式を確認し、エラーの原因(分母が0になる箇所など)を把握したうえで、必要な範囲だけをIFERRORで囲むことをおすすめします。

✅ この記事のまとめ
  • IFERRORは「本来の式がエラーになったときだけ、代わりの値を返す」関数
  • 打率や防御率のような割り算を含む式の0除算対策との相性がよい
  • エラーの種類を問わず一律で拾う仕組みのため、便利な反面、本当の不具合まで隠れてしまうことがある

次回予告

次回のテーマは「IFNA関数」です。IFERRORと似ていますが、拾えるエラーが#N/Aだけに限定されているのが特徴です。VLOOKUPで検索に失敗したときに「未登録」と表示する例をもとに、IFERRORとの使い分けを解説していきます。

▶︎ 次回:IFNA関数の使い方としくみ

コメント

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