facebook

エクセルのIF関数の使い方!エラー時の対処法も解説

エクセルには、効率的な作業を実現できる、数多くの関数が備わっています。その中でも使える場面が多いのが、IF関数です。主に、データの判別や分類に役立ちます。そのIF関数について、使い方からエラーが発生した時の対処法まで、詳しく確認していきましょう。

データを条件で判別するIF関数

IF関数とは、エクセルのセルに入力されているデータを判別するために使用する関数です。特定の条件をIF関数に組み込めば、データがその条件を満たしているかどうかが、表示によってわかります。オートフィル機能を使えば、複数のデータを、同じ条件で判別可能です。そうして、数あるデータの中から条件を満たしているものだけをピックアップしたり、条件ごとに分類したりする作業がやりやすくなります。

エクセルのIF関数の基本的な使い方

それでは、IF関数の具体的な使い方を、パターンごとに確認していきましょう。

IF関数の基本的な構造

エクセルのIF関数では、「=IF(論理式,真の場合,偽の場合)」という式になります。「真の場合」と「偽の場合」には、それぞれ表示させたい文字や数字、記号などを入力します。そして、「論理式」の部分に、同じであることを意味する「=」や、「以上」という意味の「>=」などの記号を用いた条件を入力します。元となったデータが、論理式の条件を満たしていれば「真の場合」、満たさなければ「偽の場合」の表示に、自動で切り替わります。

数値で判別する方法

IF関数で最も基本的な使い方となるのは、数値を元にした判別です。100点満点中、80点以上が「合格」、80点未満が「不合格」になるテストの関数を作ってみましょう。そのためには、C2セルに「=IF(B2>=80,”合格”,”不合格”)」と入力します。そうすると、B2セルに入っている数字が80以上であれば「合格」、80未満だと「不合格」と表示されるはずです。論理式に入力する数値を変え、「達成」や「対象」といった表示にすると、ビジネスのノルマや健康診断の数値判別などにも使えます。

文字を元に判別する方法

IF関数では、セルに入力した文字を元にした判別も可能です。サンプルとして、C2セルに入っている文字が「合格」の場合は「A」、「不合格」の場合に「B」と表示される関数を作ってください。D2セルに、「=IF(C2=”合格”,”A”,”B”)」という文字を入力します。そうすると、D2セルの表示が、C2セルの内容に応じて変わるでしょう。C2セルに数値で判別するIF関数を入力していた場合、B2セルに入っている数字が80以上だと、C2セルは「合格」でD2セルは連動して「A」となります。80未満だと、C2セルは「不合格」、D2セルは「B」になるはずです。

AND関数やOR関数で条件を増やす

IF関数で、条件をより複雑にしたい場合は、論理式にAND関数やOR関数を組み込みます。AND関数は条件を追加する場合、OR関数は条件を緩和するために使うと考えておきましょう。AND関数を使用すれば、「=IF(AND(B2>=80,C2>=80),”合格”,”不合格”)」といった形になります。論理式に組み込まれたAND関数の機能で、「B2>=80」と「C2>=80」という2つの条件が適用可能です。そして、B2セルとC2セルに入っている数値がどちらも80以上であれば、「合格」と表示されます。どちらか一方でも80未満だと、表示されるのは「不合格」です。

OR関数を使用する場合も、関数式は「=IF(OR(B2>=80,C2>=80),”合格”,”不合格”)」と似た形になります。しかし、満たす条件は「B2>=80」あるいは「C2>=80」のどちらかだけで問題ありません。よって、B2セルかC2セルの一方だけでも、80以上の数字が入力されていれば、「合格」と表示されます。AND関数とOR関数を使用すれば、条件をいくつも追加できるので、IF関数の使い勝手は良くなるでしょう。

IF関数の中にIF関数を組み込む方法

IF関数は、基本的に真あるいは偽の2通りしか判別できません。しかし、IF関数の中にIF関数を組み込むことで、判別結果の数を変えられます。100満点のテストで、80点以上が「優」、80点未満60点以上が「良」、60点未満は「不可」となる、3つの条件持ち関数を作ってみましょう。関数式は、「=IF(B2>=80,”優”,IF(B2>=60,”良”,”不可”))となります。まずは80点以上という条件が満たすかを判別し、満たしていれば「優」になるでしょう。満たせなければ「偽の場合」に当たる「IF(B2>=60,”良”,”不可”)」で改めて判別し、「良」あるいは「不可」となります。この方法を用いれば、関数式は複雑になりますが、判別結果をいくつでも追加可能です。

IF関数と機能が似ている関数

エクセルの関数の中には、IF関数と機能が似ているものがいくつかあります。その関数の詳しい機能や使い方も、知っておいた方が良いでしょう。

IFS関数

IF関数のみで、3つ以上の判別結果を出したいのであれば、IF関数の中にIF関数を組み込まなければなりません。そのようなことをせず、単体で3つ以上の判別ができるのが、IFS関数です。100満点のテストで、80点以上が「優」、80点未満60点以上が「良」、60点未満40点以上が「可」、40点未満は「不可」になる条件を設定してみましょう。関数式は、「=IFS(C3>=80,”優”,C3>=60,”良”,C3>=40,”可”,C3<40,”不可”)」となります。論理式と「真の場合」が連続する形です。そして、前から順番に判別される仕組みになっています。IF関数の中にIF関数を組み込むよりもシンプルでわかりやすいため、判別結果が多い場合はIFS関数を使用した方が良いでしょう。

SWITCH関数

IF関数に似ている関数には、SWITCH関数というものもあります。基本的な機能的は、IFS関数と大差ありません。ただ、条件を設定する際に、IFSは不等号を使用できますが、SWITCH関数には使用できないという違いがあります。よって、SWITCH関数の使用は、完全一致する条件を設定する場合に限定されます。関数式は「=SWITCH(元となるセル,”値1″,”対応値1″,”値2″,”対応値2″,”値3″,”対応値3″)」といった形です。条件になっている「値」に該当すれば、それに応じた「対応値」が表示されます。

試しに、「=SWITCH(B2,”1″,”月曜日”,”2″,”火曜日”,”3″,”水曜日”)といった形にしてみましょう。そうすると、B1セルに入っているのが「1」だった場合は「月曜日」と表示され、「3」の場合は「水曜日」になります。そして、値と対応値はいくらでも追加可能です。

COUNTIF関数

IF関数は、ひとつのセルを対象に、条件を満たすかどうかを判別します。そうではなく、複数のセルの中に、指定した条件を満たすものがいくつあるのかを数えるのがCOUNTIF関数です。使用する場合、「=COUNTIF(C2:C10,D2)」という関数式になります。「C2:C10」が対象となるセル、「D2」は条件を入力するセルです。D2セルに漢字の「木」を入れた場合、C2セルからC10セルの中にある、「木」という文字が含まれたセルの数が、COUNTIF関数を入力したセルに表示されます。

エクセルでIF関数が使えないエラーが発生した時の対処法

エクセルでIF関数を使った際に、エラーが発生することは決して珍しくありません。そこで、よくあるエラーと対処法について、詳しく解説します。

「#VALUE!」と表示されるエラー

IF関数で使用する数値が、不適切な時に起こるエラーです。数値の間に不要なスペースがあったり、数値を全角入力していたりすると発生します。そのため、まずは数字に問題がないかを確認し、入力し直してみましょう。また、他のセルを参照にする場合、そのセルの数値が不適切であることも考えられます。よって、エラーが発生しているIF関数に関係する、全てのセルの数値を見直しましょう。

「#NAME?」と表示されるエラー

通常は、関数名を間違えている際に発生するエラーです。IF関数の場合は、関数名よりも、「”」に関するエラーとして起こりやすいです。論理式に文字を使ったり、「真の場合」または「偽の場合」を入力したりする際には、必ず「”」で囲わなければなりません。そのルールを無視すると、「#NAME?」と表示されます。また、「”」を半角ではなく全角で入力してしまうのも、よくあるエラーパターンです。よって、「”」を入力し忘れていたり、全角入力していたりする部分を探しましょう。

「#REF!」と表示されるエラー

IF関数で、他のセルを参照する際に、参照元になっているセルがない場合に起こるエラーです。主に、IF関数を入力した後で、参照元のセルを削除してしまった場合に発生します。間違って削除してしまったのであれば、元に戻しましょう。参照元を別のセルに移動させた場合は、IF関数に新しい参照元を適用させると、エラーは直るはずです。

エクセル関数の中でも基本となるIF関数

IF関数は、足し算を行うSUM関数や、平均値を出すAVERAGE関数などと同じように、エクセル関数の基本として扱われることが多いです。そのため、エクセル関数を使いこなしたいのであれば、IF関数の使い方を覚えておきましょう。可能であれば、IF関数に似た機能を持った関数も、使えるようになることをおすすめします。

最新情報をチェックしよう!