「エクセル使いこなせていますか?」
サラリーマン歴13年で培ったエクセルスキルを基に、エクセルの使いこなし方を解説していきます。
今回は、論理関数の基本中の基本である「IF関数」の【実践編】です。
例えば、次のような人にぜひ読んでもらいたいです。
- 論理式をどう書けばいいのかいまいちわからない…
- 基本は分かったけど実際どう使えばいいかイメージわかない…
それでは一緒に見ていきましょう!
【実践編】IF関数の実践的な使い方!
実践編では、IF関数を実際に使えるようになるために必要な知識を解説いたします。
それは、「論理式」です!IF関数を使う上では避けて通れない知識です。しっかりと押さえておきましょうね。
論理式とは何か理解しよう!
そもそもIF関数の「論理式」とは何だったか、おさらいをしておきましょう。
IF関数の引数としての「論理式」とは、「結果が真または偽になる値、もしくは数式を指定します」と説明されています。ここで言う「真」や「偽」とは、「IF関数の基礎編の記事」で説明していますので、「それってなんだっけ?」という方はぜひご覧くださいね。
では具体的に、「結果が真または偽になる値、もしくは数式を指定」とはどのように行えばよいのでしょうか?ここでその方法を詳しく紐解いてみましょう。
結果が真または偽になる値
まず、「結果が真または偽になる値」とはなんでしょうか?これは比較的簡単です。
「結果が真になる値」とはすなわち「TRUE」のこと、「結果が偽になる値」とはすなわち「FALSE」のことです。つまり、次のようにIF関数の論理式として「TRUE」や「FALSE」を指定できるということですね。
=IF(TRUE,値が真の場合,値が偽の場合) =IF(FALSE,値が真の場合,値が偽の場合)
ちなみに、TRUEとFALSEの2つの値を「論理値」と言います。また、TRUEの代わりに「1」、FALSEの代わりに「0」を用いることもできます。
結果が真または偽になる数式
次に、「結果が真または偽になる数式」とはなんでしょうか?
これはズバリ言うと、『「比較演算子」を用いて2つの値や式を比較して、結果として真や偽を返す式』のことです。そして、ここで言う「比較演算子」とは、等号(=)や不等号(<や>)の総称です。
算数や数学でおなじみの記号ですね。エクセルでは、次の6種類があります。よく使うので覚えておきましょう。特に、最後の「等しくない」を表す比較演算子は、算数や数学ではこのような記号で表さないため、きちんと覚えておく必要があります。
比較演算子 | 意味 | 使用例 | 備考 |
= | 等しい | A=B(AとBは等しい) | |
> | より大きい | A>B(AはBより大きい) | |
< | より小さい | A<B(AはBより小さい) | |
>= | 以上 | A>=B(AはB以上) | 記号は「大なり(>)イコール(=)」の順 |
<= | 以下 | A<=B(AはB以下) | 記号は「小なり(<)イコール(=)」の順 |
<> | 等しくない | A<>B(AとBは等しくない) |
さて、この比較演算子を用いた論理式は、必ず真か偽のいずれかになります。いくつか具体例でイメージしてみましょう。
- 「1=1」⇒1は1と等しいので、この論理式(1は1と等しい)は「真」
- 「1=2」⇒1は2と等しくないので、この論理式(1は2と等しい)は「偽」
- 「2>1」⇒2は1より大きいので、この論理式(2は1より大きい)は「真」
- 「2>=2」⇒2は2と等しいので、この論理式(2は2以上)は「真」
- 「3<1」⇒3は1より大きいので、この論理式(3は1より小さい)は「偽」
- 「3<>3」⇒3は3と等しいので、この論理式(3は3と等しくない)は「偽」
いかがですか?なんとなくイメージできたでしょうか。
さて、上の例では、イメージしやすいように値同士の論理式で例示しましたが、実際は値だけでなく文字列やセル参照、さらには数式も使うことが出来ます。このようにして、IF関数を作り上げていくわけです。
比較演算子については、IF関数以外でも出てくることがあるので、しっかり使いこなせるようになっておきましょう。
論理式の具体的な書き方を知ろう!
さて、比較演算子を用いた論理式を書けばいい!ということは分かりましたが、では実際問題として具体的な書き方ってどうすればいいのでしょうか。ここからは、値や文字列、セル参照や式を用いた場合の論理式の書き方について、具体的な例を用いてイメージしてもらいたいと思います。
例として、次のような表で考えてみます。A社営業部のある月の営業成績の表です。この表のC列およびD列に評価とそれに基づく加点、また営業部の全体評価をIF関数を使って表してみましょう。
論理式にセル参照を使う場合
まずはC列の評価をIF関数を用いて表示してみましょう。よくあるケースなので、少し丁寧に説明していきます。
上の図のオレンジの表から、「80万円以上であれば評価A、80万円未満であれば評価B」となることがわかりますので、これをIF関数で表していきます。また、C2セルにIF関数を入力し、他のC列のセルには関数をコピペすることにしましょう。
最初に主役となる対象を決めます。この主役となる対象とは、値や他のセルなどと比較していきたいセルや式などのことです。今回は、2行目の鈴木さんの売上がB2セルに入力されており、このB2セルと80万円を比較する論理式を考えたいので、B2セルが主役となる対象ということになります。
次に論理式の骨組みを考えます。下の図のようになりますね。この骨組みを元に論理式を完成させましょう。
まず「セル参照」にはB2セルが入りますので、そのまま「B2」が入ります。また、「金額」には80万円の値が入りますので、そのまま「800000」という数値を入力します。
そして比較演算子ですが、「80万円以上であればA評価」「80万円未満であればB評価」という条件から「以上」または「未満」を表す比較演算子を入れれば良さそうということがわかります。どちらを入れるかについてですが、今回はどちらでもOKなので「以上」を表す比較演算子(>=)を入れることにします。
よって、論理式は次のようになります。
また、今回はセル参照と数値を比較しましたが、セル参照同士の比較をすることもできます。そのような場合でもポイントは変わりません。繰り返しになりますが、ポイントは「主役となる対象と値や他のセルと比較する式」を作るということです。
論理式の書き方のポイントは、主役となる対象と値や他のセルと比較する式を作る!
ちなみに、IF関数としてはまだ完成していませんね。「論理式が真の場合」と「論理式が偽の場合」の引数の設定についても確認してみましょう。
論理式は「B2セルが80万円以上」というものでした。もしこの論理式が真であれば、つまりB2セルが80万円以上であれば、評価はAになります。よって、 「論理式が真の場合」 の引数には「A」が入ります。
一方、この論理式が偽であれば、つまりB2セルが80万円未満であれば、評価はBになるということです。 よって、「論理式が偽の場合」 の引数には「B」が入ります。
ということで、C2セルに入力しようとしていたIF関数は、下の図のようになります。(評価のAとBは文字列なので、「”(ダブルクォーテーション)」で囲みます。)
IF関数が完成しました。いかがでしょうか?IF関数を使うときに、論理式にセル参照を使わないケースはない、と言っても過言ではないほどによくあるケースですので、自在に使えるようにしておきましょう。
論理式に文字列を使う場合
続いてD列に加点をIF関数で表示してみましょう。B列の売上からIF関数を作成してもいいのですが、今回はC列の評価から作ってみましょう。
加点は「評価がAのとき加点1」「評価がBのとき加点0」というものでした。この条件とC列の評価を元にD列にIF関数を書いてみます。今回もD2セルに関数を書いて、他のセルにコピペする前提で説明しますね。
まずは、先ほど同様に主役となる対象を決めます。今回は鈴木さんのデータの内、評価について比較したいので、C2セルが主役となる対象です。そして、C2セルの値がAなのかBなのかを比較したいわけですね。つまり、論理式の骨組みは次のような形になるということです。
「セル参照」にはC2セルが入りますので、そのまま「C2」が入ります。
「評価」にはAまたはBが入りますが、今回はどちらでも問題ないので「A」を入れておきます。ただし、ここで注意が必要です。先ほど「800000」とは異なり、今回「A」は文字列です。関数の引数の中で文字列を使う場合は、「”(ダブルクォーテーション)」で囲む必要があります。ですので、「“A”」となります。
「比較演算子」は、文字列を比較する場合は大小関係がないため、「=(等しい)」か「<>(等しくない)」のいずれかしか使えませんので注意が必要です。今回は「 =(等しい) 」で比較することにします。
よって、論理式は次のようになります。
論理式に文字列を使うときのポイントは、①「“(ダブルクォーテーション)」で囲む 、②「=(等しい)」「<>(等しくない)」しか使えない
最後に、「論理式が真の場合」と「論理式が偽の場合」の引数の設定についてですが、「C2=”A”」が真の場合は加点が1、「C2=”A”」が偽の場合は評価がBということになるので加点が0、となります。
結果、D2セルに入力しようとしていたIF関数は、下の図のようになります。
論理式に文字列を使う場合は、数値と異なって注意しなければならないポイントがあるので、覚えておきましょう。
論理式に式を使う場合
最後に、7行目の全体評価をC7セルに入れてみましょう。全体評価は売上の合計が目標の「400万円以上」を達成していれば「目標達成!」、達成していなければ「目標未達成…」と表示されるようにしてみます。
同様にして、まずは主役となる対象を決めます。今回は「売上の合計」が主役となる対象です。しかし、売上の合計はどこにも計算されていませんね…。仕方がないのでSUM関数を使うことにしましょう。すなわち、売上の列のB2~B6セルの合計ということで、「SUM(B2:B6)」が今回の主役となる対象です。
このように、関数の中の引数には関数の式を使うことが可能です。このとき、セルに関数を書く時には「=(イコール)」から書き始めていましたが、これはセルに式を書く時に『「=(イコール)」から書き始めなさい』というルールなだけであって、必ず関数と「=」をセットで使わなければならないというものではありません。
ということで、最終的にIF関数は次のように書けばよいことになります。
ちなみに、関数の中に関数を重ねて使うことを「ネスト」や「入れ子」と言います。これもまた大変よく使う知識になりますが、これについてはまた別の機会に説明します。
IF関数を使おう!
今回はIF関数の論理式について徹底的に解説してきました。IF関数の使い方のポイントがわかったかと思います。
そして、今回の各ポイントは、IF関数に限らずエクセルをいじっているときに非常に重要になってくるポイントでもありますので、記事を繰り返し読んでもらえると理解が深まるのではないでしょうか。
次回は【応用編】として、IF関数の「ネスト」「入れ子」について説明し、そもそも 「ネスト」「入れ子」 とは何なのか、についても触れていこうと思います。
バリバリ使えるようになりましょう!!
コメント