エクセルで必須といえるIF関数(条件により処理を変える)の使い方

スポンサーリンク

エクセルには計算や文字列操作など便利な関数が多数用意されています。

その中でも、必ずといっていいほど使われるのがIF関数。

IF関数は『ある条件を満たした場合は、○○の処理をする。そうでない場合はXXの処理をする』というように、判定の結果で処理を変えることができる関数です。

関数の中でも基本的な関数になるので、ぜひ使い方をマスターしましょう。

エクセルの関数がよくわからない人は、上の記事で関数の基本的な解説をしているので、ぜひ参考にしてください。

IF関数の書式(書き方)

まずは、IF関数の書式(書き方)を解説。

IF関数の書式

最初の引数である『論理式』は『判定のための式』(条件)と思ってください。

 

IFは『もし、○○なら』という意味なので、『判定のための式』(条件)には『もし、A3セルの値が100以上なら』という意味の式(A3 >= 100)を入力します。

そして、IF関数の書式は『A3セルの値が100以上だったら○を表示、100未満だったら×を表示』、『B5セルに入力があれば”入力済み”、未入力だったら”未入力”を表示』のようになります。

まとめると、

最初の引数には『条件』を書いて、第二引数はその条件を満たす(真)場合の処理を、第三引数には条件を満たさない(偽)場合の処理を書いていきます。

論理式に書くことが多い、比較演算子

論理式に続いて、ちょっと馴染みのない『比較演算子』というのが出てきました。

といっても難しいものではなく、小学校の算数で習った『A > B』などと同じものです。

IF関数でよく使われる比較演算子
演算子詳細
A = BAとBが等しい場合は『真』(TRUE)、

等しくない場合は『偽』(FALSE)

<>A <> BAとBが等しくない場合は『真』(TRUE)、

等しい場合は『偽』(FALSE)

A > BAがBより大きい場合は『真』(TRUE)、

そうでない場合は『偽』(FALSE)

<A < BAがBより小さい場合は『真』(TRUE)、

そうでない場合は『偽』(FALSE)

>=A >= BAがB以上(等しいか大きい)の場合は『真』(TRUE)、

そうでない場合は『偽』(FALSE)

<=A <= BAがB以下(等しいか小さい)の場合は『真』(TRUE)、

そうでない場合は『偽』(FALSE)

見ての通り、『大きいか』、『小さいか』、『等しいか』ぐらいしかないので、難しくありません。

IF関数の最も基本的な使い方

では書式がわかったところで、IF関数の具体的な例で一番基本的な使い方を解説します。

 

模試(数学)の結果の表があって、点数が80以上であれば『合格』を『合格判定』列に表示、80未満だったら『不合格』を表示させたい場合。

IF関数で合格、不合格を表示

 

まず、最初の列のF4にセルをダブルクリック又は『F2』キーを押して編集モードにし、次のようにIF関数を入力。

=IF(E4>=80, “合格”, “不合格”)

IF関数で合格、不合格を表示

IF関数の書式解説

このIF関数は、左のE4の値が80以上であれば真(TRUE)となり、”合格”がIF関数を入力したセル(F4)に表示されます。

逆にE4の値が80未満の場合は偽(FALSE)となるので、”不合格”が表示されます。

 

他の人の結果も同様に判定したいので、IF関数を入力したF4のセルをそのままF10のセルまでコピーしたら完成です。

F4のセルをクリックすると、セルの右下に四角のマーク(フィルハンドル)が表示。

フィルハンドル

 

四角のマークをマウスでクリックしたまま、F10の位置までずらして離す。

オートフィルでIF関数をコピー

そうすると、全ての人の合格判定結果が一気に表示されます。

IF関数で合格、不合格を表示

IF関数で片方の条件を満たす場合だけ処理したい場合

IF関数では『条件を満たす場合』と『満たさない場合』の処理をそれぞれ指定することができますが、『片方の条件を満たす場合だけ処理したい』ということもできます。

 

下の表のように、合格点に達した人だけ『合格』と表示する場合ですね。

片方の条件のみ処理をするIF関数

この場合は、合格点に達していない人、つまり、条件が『偽』であった場合は何もしない書き方になります。※もちろん、条件を満たす『真』の場合に何もしないことも可能

 

具体的には、次のように書きます。

=IF(E4>=80, “合格”, “”)

これで、合格点に達していない場合は『何もしない』ということになります。

 

ちなみに、=IF(E4>=80, “合格”)のように、条件を満たさない方に何も書かなくても書式としては間違いではないですが、下の表のように『偽』を表す『FALSE』がそのまま表示されてしまいます。

条件を満たさない時に何も書かない場合のIF関数

何も処理しない場合でも、“”と書く癖をつけましょう。

IF関数を使って3つ以上の条件で処理を分けたい

ここまで、条件を満たす『真』か、満たさない『偽』の場合を例に解説しました。

しかし、3つ以上条件に分けて処理したい場合もあります。

 

例えば、次のようなもの。

3つ以上の条件で処理を分けたい

  • 点数が50点未満だったら『レベルC』
  • 点数が50点以上80点未満だったら『レベルB』
  • 点数が80点以上だったら『レベルA』

この場合は、次のように結果が3通りになります。

条件が3つあるIF関数

 

書式としては、ちょっとややこしくなります。

条件が3つあるIF関数の書式

最初のIF関数で条件を満たさない場合に、さらにIF関数で条件によって処理させる書き方になります。

IF関数の中にIF関数を書くので、『入れ子にする』とか、『ネストにする』とかいいます。

 

例をまとめると、最初のIF関数で50未満を満たしたら『C』

50以上の場合だったら次のIF関数の判定に進み、80未満だったら『B』

80以上だったら『A』というように、処理が分かれます。

エクセルで必須といえるIF関数のまとめ

エクセルの中でも必須で基本的なIF関数の使い方を紹介しました。

 

IF関数はエクセルを使っていると必ず使用する場面が出てきます。

ここで解説したように、『もし、○○だったら△△の処理、そうでなかったら××の処理』というように、条件によってやりたい処理を書いていくだけです。

 

ただし、IF関数の中にIF関数を書いていく『入れ子』を使う場合は、一回までにした方がいいです。

それ以上入れ子が増えると条件がどんどん複雑になり、書いているIF関数が正しいかどうかの検証も難しくなって頭が痛くなります^^

そういう場合は、IF関数を使わないなどの『発想を変える』ことも大事です。

 

使いどころが多いIF関数だからこそ、自分で作ったIF関数が何をしたいのかわからないものにならないように、できるだけシンプルなIF関数になるように気をつけましょう。

 

もしかして、アナタが作ったIF関数は誰かが見ることもあるかもしれませんよ^^