今回は、「IF関数」についてご紹介します。
この「IF関数」ですが、関数というと今ひとつピンと来ないところがありますが、英語で言うところの「もし~なら」のif文と同じです。C言語やJava、あるいはVBAといったプログラム言語でもとても重要なif文と同じ役割を持ちます。
このIF関数は、値の比較や値の範囲をチェックするのに非常に役立ちます。
例えば、もともと正しい結果が入力されているセルと、
ある計算式により導き出された結果が出力されたセルを比較して、
その値が同じかどうかを一発でチェックすることができます。
目視よりも確実です。これにより、品質を向上させることができるわけです。
人間の目で見て「あってます」と言われるより、
セル比較の結果差分なしとIF関数により出力されれば、信用できますよね?(笑)
合ってれば「○」、違っていれば「×」を表示
まずは、IF関数の構文です。
IF関数の構文
IF(論理式,[真の場合],[偽の場合])
<論理式>条件文になります。
条件文とは、左側の内容と右側の内容を比較するという意味になります。比較には、以下の等号、不等号の組み合わせが使用されます。
例)
・A2=A3 A2セルとA3セルの内容がイコールか?
・A2<>A3 A3セルとA3セルの内容が異なっているか?
「=」:一致
「<>」:不一致
「<」:小なり(未満)
「<=」:以下
「>」:大なり(超過)
「>=」:以上
<真の場合>論理式の結果が正しい場合の処理を行う。
例)
・論理式が、「A2=A3」の場合、
A2が10で、A3も10なら、同じであり、結果が正しいので、真であるといいます。
<偽の場合>論理式の結果が異なる場合の処理を行う。
例)
・論理式が、「A2=A3」の場合、
A2が10で、A3も9なら、結果が異なるので、偽であるといいます。
結果の表示
それでは、例を示しましょう。
以下の図を用意しました。
A列には、比較する側の値を入力しています。
B列には、比較される側の値を入力しています。
比較結果が一致の場合
下図のC2セルに、IF関数が設定されています。赤枠内です。
意味は、A2セルの内容とB2セルの内容が同じ(真)場合、「○」を表示し、違う(偽)場合、「×」を表示しなさいということになります。
そこで、A2セルとB2セルを比較した結果は、双方とも「15」で内容が同じであるため、真となり、真の処理である、「○」が表示されます。
C2セルは「○」になっていますね。
比較結果が不一致の場合
今度は、逆の不一致(偽)の場合についてです。
下図のC3セルに、IF関数が設定されています。赤枠内です。
意味は、一致の場合と同じですので省略します。
比較結果を見ると、A3セルが「20」、B3セルが「21」で内容が違うため、偽となり、偽の処理である「×」が表示されます。
C3セルは、「×」が表示されていますね。
複雑なIF関数
IF関数の基本的な構文は、上記のパターンですが、真の場合の処理、偽の場合の処理には、表示させるだけではなく、更に論理式を書く事ができます。
例えば、上記の真の場合を拡張して、論理式に変更(例:B2=C2)とすることもできます。以下のような感じです。もちろん、偽の場合にも論理式を設定することができます。
IF(A2=B2,IF(B2=C2,”全部OK”,”一部OK”),”NG”)
ちなみに意味は、A2セルとB2セルが一致、そして、B2セルとC2セルも一致していたら「全部OK」と表示し、違っていたら、「一部OK」と表示しなさい。A2セルとB2セルが違っていたら、「NG」と表示しなさいということになります。
この複数の条件を組み込むのは便利なのですが、見た目がわかるづらくなり、意図する結果にならないなんてこともよくあります。
ですので、複数の条件を使う際には、メモ帳などのテキストエディタとかでいったん編集してから、関数の窓に入力したほうが確実です。
まとめ
今回は、IF関数についてご紹介しました。
例では、簡単な比較を取り上げましたが、実際には複数の条件が組み込まれていることが多いです。更に、IF関数の中に、他の関数が組み込まれたりすることもよくあります。
しかし、最初のうちは、非常に混乱してくると思うので、あまり複雑な関数は避けて、ある程度理解し使えるようになってから挑戦したほうがいいと思います。
まずは、しっかりひとつの関数を使えるように試しながら自分のものにしてみてください。
では、また。