見出し画像

#19 関数が苦手な人は〇〇を知らない

わたしのnoteは1回3分で読めるExel解説本です。

突然ですが、Excel関数は得意でしょうか?

「はい、得意です!!」と言い切れる人は意外と少ないです。多くの人から「自信のなさ」が感じられます。

しかし、なぜでしょう??

原因はいくつか考えられますが、その中の1つにIF関数、特に【入れ子構造】の存在があるかと感じています。

「いれここうぞう??」

たとえば、こんな関数を見たことはありませんか?

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

これを見て「うっ💦」と思った人、正常な反応です。

私も、いまだに「うっ💦」となります。

今日はここであきらめず、もう1歩踏み込んでみましょう。

もう1度、関数を眺めてみます。

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

IF関数が使われていますね。

IF関数とは?構造をおさらい。

=IF(論理式, TRUEの場合, FALSEの場合)
論理式:答えが「はい」または「いいえ」の2択になる計算式
TRUEの場合:答えが「はい」の場合の結果
FALSEの場合:答えが「いいえ」の場合の結果

踏まえて、分解してみます。

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

論理式:A1>=80
TRUEの場合:"優良"
FALSEの場合:IF(A1>=60,"合格","不合格")

TRUEのケース。A1が80以上の場合は"優良"と表示する。ここはOKですね。

問題は次、FALSEのケースです。

IF関数の中にIF関数があります。
これが【入れ子構造】です。

マトリョーシカを想像してください。

ロシアの民芸品「マトリョーシカ人形」

大きい人形の中に、小さな人形が入っていますよね。

これが【入れ子構造】です。

関数の中に関数を書くことを【入れ子構造】と呼びます。

改めて、先ほどの関数を眺めます。

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

論理式:A1>=80
TRUEの場合:"優良"
FALSEの場合:IF(A1>=60,"合格","不合格")

FALSEの中身を分解します。
論理式:A1>=60
TRUEの場合:"合格"
FALSEの場合:"不合格"

A1が60以上なら”合格”、60未満なら"不合格"だと分かります。

ここまでを整理します。
少しややこしい話をします。ここはとっても大事なポイントなので、分からない人は何度も読み返して、ついてきてください。

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

IF関数の中にIF関数がある、入れ子構造の話をしています。

最初のIFは『A1が80以上なら"優良"』です。
A1が80未満の場合は、次のIFへ。
次のIFは『A1が60以上なら"合格"』です。
A1が60未満なら"不合格"になります。

整理すると、こうなります。

A1が80以上なら”優良”
 └A1が60以上なら”合格”
  └それ以外なら"不合格"

階層構造になっているのが、分かりますか?
これが【入れ子構造】です。

=IF(A1>=80,"優良",IF(A1>=60,"合格","不合格"))

このような関数を見たときに、

論理式:A1>=80
TRUEの場合:"優良"
FALSEの場合:
 論理式:A1>=60
 TRUEの場合:"合格"
 FALSEの場合:"不合格"

と分解して、

A1が80以上なら”優良”
 └A1が60以上なら”合格”
  └それ以外なら"不合格"

と構造的に捉えることができれば、OKです。

私もやっていましたが、慣れないうちは書き出すことをおすすめします。

式:
TRUE:
FALSE:
 式:
 TRUE:
 FALSE:

こんなイメージです。
入れ子の関数を1段ずらすのがコツです。

本日はここまで。

次回はAND関数とOR関数を掘り下げます。論理式をより詳しく解説します。その次になると思いますが、入れ子構造の落とし穴も解説したいなと考えています。

気になる方は、フォローして来週の投稿をお待ちください。

参考になった方、次回も楽しみと思われた方は、
『スキ』と『フォロー』してくれるとうれしいです。

最後までお読みいただき、ありがとうございました😊✨

アンケートのお願い

配信の質を上げるため、アンケートにご協力ください。
2~3分で終わります。

いいなと思ったら応援しよう!