Data Science|Basics

【Excel初心者向け】IF関数がわかる!実践的な使い方も解説!

「エクセルのIF関数の使い方がわからない。AND関数やOR関数とと組み合わせるらしいけど、いまだによくわからない」

本記事はこのような悩みを解決するものです。

IF関数はエクセルを使うなら避けては通れないもの。使用頻度も高くなるのでぜひ理解しておきたいところです。ただ、IF関数は初心者にはわかりにくい点があることも事実です。

そこで本記事では初心者でもわかるようにIF関数の使い方を説明します。
AND関数やOR関数との組み合わせも解説していくので、IF関数周りのことが幅広く理解できるようになりますよ。

ぜひ本記事を読んでIF関数を実務で使えるようになってくださいね。

IF関数とは

IF関数とは、条件に従って値を出力する関数のことです。条件に当てはまる場合とあてはまらない場合とで、出力を変化させたいときに便利です。

たとえば、会社の出席名簿を作っているときに、「年齢」の隣の欄に「30歳以上かどうか」を書きたい場合などに役立ちます。
この場合、年齢の欄を自分で確認していちいち「30歳以上」「30歳未満」と書くのは非効率的ですよね。IF関数を使えば自動で30歳以上かどうかを判定してくれます。

他にもテストの点数が50点以上かどうかで「合格」「不合格」と表示内容をわけたり、後はセルが空欄かどうかをチェックするときもIF関数が役立ちます。

このように、何かの条件によって出力内容を分けたい場合にIF関数を使いましょう。

IF関数の書式について

IF関数は以下のような書き方をします。

=IF(条件式,値が真の場合の表示内容,[値が偽の場合の表示内容])

IF関数では条件式に当てはまる場合は「値が真の場合の表示内容」を表示し、当てはまらない場合は「値が偽の場合の表示内容」を表示します。第3引数の[値が偽の場合の表示内容]は省略できます。

たとえば条件「A1の値は100」があった場合、条件通り100なら第2引数を表示し、100でないなら第3引数を表示する、といった具合です。

条件式は「A1の値は100」の場合は「A1=100」と書きます。他にも「A1の値は100以下」なら「A1<=100」、「A1の値は100より大きい」なら「A1>100」と書きます。以下・以上なら不等号に「=」をつけ、大きい・小さいなら不等号のみとなります。

このようにIF関数では、条件式を第1引数に書き、その条件式に当てはまる場合の表示内容を第2引数に、当てはまらない場合を第3引数に書きます。

条件式の書き方は少し難しいですが、関数を使うなら何度もお世話になるので覚えておきましょう。以下に条件式の書き方についてまとめました。

  • A1=100・・・A1の値は100
  • A1>=100・・・A1の値は100以上
  • A1>100・・・A1の値は100より大きい
  • A1<=100・・・A1の値は100以下
  • A1<100・・・A1の値は100より小さい

IF関数の基本的な使い方

まずはIF関数の基本的な使い方を解説します。ここを理解しないと後のことは理解できないので、実際に手を動かしながらしっかり覚えていきましょう。

まずはエクセルを開いて以下のような表を作成してください。表にある果物の値段が条件より高いか安いかを判定して出力していきたいとします。「果物」と「値段」の隣に「条件に当てはまっていますか?」という枠を用意しておきます。


今から「条件に当てはまっていますか?」の列を、IF関数を使って埋めていきます。

果物の値段が200円より高かったら「Yes」と表示し、安かったら「No」と表示させるようにしましょう。

まずはG3のセルを選択して「=IF(F3>200,”Yes”,”No”)」と記入して「Enter」を押してください。以下のように「No」と表示されることを確認しましょう。


IF関数を使って「F3の数値は200より大きいか」をチェックすることができました。F3の数値は200より小さいですよね。だからIF関数の第3引数「No」が表示されたのです。

下の項目も埋めます。G3の選択して下にドラッグしてコピーしましょう。すると以下のようになります。


値段が200円より高い果物には「Yes」、安い果物には「No」と表示されていますね。このようにIF関数を使うと条件に従って表示内容を分けることができます。

これがIF関数の基本的な使い方です。

IF関数の実践方法・具体例

続いてIF関数の実践方法について解説していきます。基本編ではIF関数のみを使った計算式を解説してきましたが、今度はIF関数と他の関数を組み合わせた計算式を紹介します。
ここでは以下の関数の組み合わせを紹介します。

  1. IF関数とAND関数と組み合わせる
  2. IF関数とOR関数と組み合わせる
  3. IF関数とIF関数を組み合わせる

他の関数と組み合わせることで、以下のようなことができるようになります。

  • A1の値が100以上かつ200以下の場合〇〇、それ以外なら△△と表示
  • A1の値が100以下もしくは200以上の場合〇〇、それ以外なら△△と表示
  • A1の値が200以上の場合◯◯、100以上の場合△△、それ以外なら□□と表示

1.IF関数とAND関数と組み合わせる

まずは、IF関数とAND関数を組み合わせた計算式を紹介します。AND関数は「なおかつ」を表すものです。IF関数と組み合わせることで、複数の条件がすべて成り立つ場合のみ「真」となるようにできます。

AND関数の書式は次のようになります。

=AND(条件1,条件2,条件3,…)

条件は「,」で区切って記入します。条件はいくつでも増やすことが可能です。条件が3つの場合、3つすべての条件に当てはまる場合のみ「真」となります。

たとえば条件1が「A1>=100」で条件2が「A1<=200」なら、A1の値が両方に当てはまる数値の場合のみ「真」となります。この場合「A1の値が100以上かつ200以下」ということですね。

AND関数を実際に使っている場面を見ていきましょう。以下の画像ではG3に「=IF(AND(F3>200,F3<400),”Yes”,”No”)」と入力し、ドラッグして下にコピーしています。


ここではF列の値が「200より大きく、かつ400未満の場合」のみ「Yes」と表示し、それ以外は「No」と表示しています。結果300円の「さくらんぼ」のみが「Yes」と表示されましたね。

このように、複数の条件にすべて当てはまるかどうかで表示内容を分けたい場合、IF関数とAND関数を組み合わせるのが有効です。

なお、3つの条件に当てはまるかどうかでわけたい場合は「=IF(AND(F3>200,F3<400,F4=100),”Yes”,”No”)」のようにカンマ区切りで追加すれば良いだけです。

2.IF関数とOR関数と組み合わせる

次はIF関数とOR関数を組み合わせた計算式を紹介します。

AND関数は「なおかつ」を表すものでしたが、OR関数は「または」を表すものです。IF関数と組み合わせることで、複数の条件のどれかが成り立つ場合のみ「真」となるようにできます。いずれの条件も成立しない場合には「偽」になります。

OR関数の書式は次のようになります。

=OR(条件1,条件2,条件3,…)

基本的な書き方はAND関数と全く同じですね。条件は「,」で区切って記入します。条件はいくつでも増やすことが可能です。条件が3つの場合、3つすべての条件のいずれかに当てはまる場合のみ「真」となります。

たとえば条件1が「A1<=100」で条件2が「A1>=200」なら、A1の値がいずれかに当てはまる数値の場合のみ「真」となります。この場合「A1の値が100以下または200以上の場合」ということですね。

OR関数を実際に使っている場面を見ていきましょう。下の画像を見てください。


新しくG列に「お得情報」を追加しています。H3のセルには「=IF(OR(F3<300,G3=”セール中”),”Yes”,”No”)」と記入し、ドラッグして下にコピーしています。

ここでは「F列の値が300より小さいか、またはG列に「セール中」と書かれている場合」のみ「Yes」と表示し、それ以外は「No」と表示しています。結果、「りんご」「レモン」「いちご」「バナナ」「パイナップル」が「Yes」になりました。

「パイナップル」の「値段」の値は「600」のため条件「F列の値が300より小さい」には当てはまっていませんが、「お得情報」が条件「セール中」に当てはまっているため「Yes」と表示されるのです。

このように、複数の条件のいずれかに当てはまるかどうかで表示内容を分けたい場合、IF関数とOR関数を組み合わせます。

3.IF関数とIF関数を組み合わせる

最後にIF関数にIF関数を組み合わせる方法を紹介します。

ここまではIF関数を使って、表示内容を「Yes」か「No」かなどの2つに分けていました。複数のIF関数を組み合わせて使うことで、表示内容を3つ以上に分けることができるのです。

表示内容を3つに分けられると、たとえばテストの点が50点以上なら「合格」、30点以上50点未満なら「追試」、30点未満なら「不合格」と出力することも可能になります。IF関数でできることの幅を広げられるのでぜひ覚えてくださいね。

IF関数を複数使っている場面を見ていきましょう。以下の画像ではG3に「=IF(F3>400,”高い”,IF(F3>200,”普通”,”安い”))」と入力し、ドラッグして下にコピーしています。


ここでは「F列の値が400より大きい場合」に「高い」、「F列の値が400以下かつ200より大きい場合」に「普通」、それ以外の場合は「安い」と表示させています。結果、「スイカ」「パイナップル」は「高い」、「さくらんぼ」「ぶどう」は「普通」、「りんご」「レモン」「いちご」「バナナ」は「安い」となりました。

  • =IF(F3>400,”高い”,IF(F3>200,”普通”,”安い”))

こちらの計算式について説明していきますね。まず「F3>400」の場合は第2引数「高い」が出力されます。条件「F3>400」に当てはまらない場合は、第3引数に書かれた処理が実行されます。

第3引数にはさらにIF関数が入っています。2つ目のIF関数「IF(F3>200,”普通”,”安い”)」では、「F3>200」の場合には「普通」が出力されます。それ以外の場合は「安い」が出力されることになります。

こういった流れで表示内容を3つに分けているのです。IF関数をネストさせることで、このような複雑な処理も行えるようになります。

…ただこの書き方、少しわかりにくいですよね。

たとえば表示内容を4つに分けたい場合には、次のようにIF関数を3重にネストせねばならず、さらに読みにくくなってしまいます。

=IF(F3>400,”高い”,IF(F3>200,”普通”,IF(F3>100,”安い”,”すごく安い”)))

そこで覚えておきたいのが、IFS関数です。IFS関数を使えば、IF関数を複数使うことなく、表示内容を3つ以上に分けることができます。

IFS関数の書式は次のようになっています。

=IFS(条件式1,条件式1が真の場合の表示内容,条件式2,条件式2が真の場合の表示内容,……)

上でIF関数を3重にネストして書いた計算式と同じ処理をIFS関数で行うには、次のように書くだけでOKです。

=IFS(F3>400,”高い”,F3>200,”普通”,F3>100,”安い”,F3,”すごく安い”))

IFS関数なら直感的でわかりやすい計算式になりますね。IFS関数も便利なので覚えておきましょう。

まとめ

本記事ではエクセルのIF関数について解説しました。IF関数がどんなものかおわかり頂けたでしょうか?IF関数を使えば条件式に当てはまるかどうかで表示内容を変更することができます。

条件式の書き方を覚えるのが少し面倒ですが、IF関数を使いなせるとエクセルでできることの幅が広がるので、少しずつ覚えてみてくださいね。

さらにIF関数と他の関数を組み合わせることで、複数の条件がすべて成立した場合や、いずれかの条件が成立した場合などに、表示内容を変えることができます。さらにIF関数を複数使えば、表示内容を3つ以上に増やすことも可能です。

ぜひIF関数を使って作業効率アップを目指してみてくださいね。