IF関数を使って仕事を楽にしたい…… だけど使い方がイマイチ分からない
IF関数はどう活かせば良いんだろう?…… 複雑な条件はどうやって判断させたら良いの?
こういった疑問に答えます
✔IF関数の使いこなす方法のテーマ
①IF関数を使いこなすなら魔法の呪文だと思って設定するのが正解です
②IF関数で複雑な条件を設定するには他の関数とくっつけるのが正解です
この記事を書いているのはOffice歴約20年
現在、エステサロン経営をしながらITを使った現場のマネジメントをしています
「IF関数の使いこなし方」に関して実体験に基づいて解説しています
関数の使い方と実務でも応用が効く使い方について実体験を交えて解説します
目次を使って読みたい項目へ
IF関数を使いこなすなら魔法の呪文だと思って設定するのが正解です
IF関数の使い方のコツは「魔法の呪文」だと思って設定するのが正解です
魔法が呪文を正しく唱えることで使えるのと同じように、IF関数も正しい書き方が出来るようになれば使いこなせるようになります
IF関数は難しいイメージがあるかも知れませんが、基本を押させてしまえば簡単に使いこなせるめちゃくちゃ便利な関数です
IF関数の基本的な書き方はまさに呪文のようなものです
呪文をルールにそって唱える(書く)事ができれば、魔法の様に自動的に結果を判断して表示してくれるとっても素敵な関数です
それではIF関数の基本的な使い方を分かりやすいように解説していきましょう
今回は「じゃんけんゲーム」という勝負表を作ってみました
じゃんけんは3種類の「手の形の組み合わせ」で勝敗を決めますよね
その結果をIF関数を使ってD列に自動で表示出来るようにしてみましょう
まずは「もう一回」と「勝った」と表示する方法を例にIF関数の説明をします
今回はD3セルの式を元に解説していきます
「=IF(B3=C3,“もう一回”,“勝った”)」この式をまずは日本語にしてみましょう
「=IF(条件の設定,条件と一致した時に表示する内容,条件と一致しない時に表示する内容)」
こんな風に分けることができます
この設定が「魔法の呪文」の部分になります
一般的に「条件の設定=条件式」と呼び
「条件と一致した時に表示する内容=真の場合」
「条件と一致しない時に表示する内容=偽の場合」と呼ぶことがあります
まず、「条件の設定は数式で判断させる」というルールがあります
今回は「もう一回(アイコ)」の場合はどうするか? ということを基準に条件を設定しています
なぜなら「アイコは3通りの手の出し方で共通している出し方」だからです
つまり、B3セルとC3セルの内容が同じなら「必ずアイコ」ですよね
しかもどの手にも共通しています
そのため、アイコを先に条件として指定するのが一番効率的ですよね
それが、「=IF(B3=C3,」の部分です
今回は「B3セルの内容」と「C3セルの内容」が一致しているかどうか? を判断します
判断の結果、一致していた場合は「”もう一回”,」の部分で「もう一回」と表示してねと指定してます
関数は基本的に全て「半角英数」を使って入力します
また日本語を表示させたい時は、「”文字”」といったように
半角の「“”(ダブルコーテーション)」で「日本語(全角の文字)」を囲む必要があります
そうでなければ、「勝った」と表示してねという設定をしています
これを図解にしてみましょう
IF関数はこんな風に条件を設定した結果が「条件と合っているか、そうでないか」で結果を自動的に変えて表示してくれます
これがIF関数の基本的な使い方なので覚えちゃいましょう
繰り返しになりますが、IF関数の使い方のコツは「魔法の呪文」だと思って設定するのが正解です
IF関数で複雑な条件を設定するには他の関数とくっつけるのが正解です
IF関数で複雑な結果を表示させるためには、他の関数とくっつけるのが正解です
IF関数は便利ですが弱点があります
それは、基本的な使い方では複数の条件を設定出来ないことです
では、複数の条件とは何のことでしょうか?
今回の例では「アイコ」の判定は問題なくできました
ただ、このままだと勝敗の判定が出来ませんよね
「アイコ」以外は勝ったという設定になっているので
ではココでじゃんけんのルールを整理してみましょう
相手が出す手の形 | 自分が出す手の形 | 結果 |
---|---|---|
グー | パー | 勝ち |
グー | チョキ | 負け |
チョキ | グー | 勝ち |
チョキ | パー | 負け |
パー | チョキ | 勝ち |
パー | グー | 負け |
こんな感じで「アイコ」以外ではこんなに組み合わせがあります
この組み合わせを解決するためには条件をもっと複雑にする必要がありますね
それでは具体的な方法についてまとめていきましょう
ココからは結構複雑になってきますが、落ち着いて一つずつ理解していけば大丈夫です
なるべく分かりやすいようにココからは「ジャンケン勝敗表」という名前に変えて結果を自動で判断するように設定していきます
実際の式はこんな感じです
「=IF(B3=C3,”もう一回”,IF(OR(AND(B3=”グー”,C3=”パー”),AND(B3=”チョキ”,C3=”グー”),AND(B3=”パー”,C3=”チョキ”)),”勝った”,”負けた”))」
こんな風にすごく複雑です
これでもなるべく分かりやすく設定しましたが、かなり面倒そうですよね
ただ、これをちゃんと分解すれば理解出来るので分かりやすく分解してみましょう
まずこんな風に分けましょう
「=IF(B3=C3,”もう一回”,(省略),”負けた”))」
この部分を日本語化してみましょう
「もし(「B3セルとC3セルの内容が一緒なら」、「もう一回」と表示してね、そうでなければ次の判断をしてね、どれにも当てはまらなければ「負けた」と表示してね)」
という意味になります
ココが重要ですが「アイコ」と「負け」の判断は比較的簡単にできます
要は「自分と相手が同じ手を出した=アイコ」にすればいいですね
次に「相手に勝てなければ負け」と表示すれば良いということになります
では、次に一番むずかしいところに挑戦しましょう
まずは、どうしたら勝ちを判断が出来るのか設定する必要がありますね
ポイントは「IF関数とAND関数・OR関数の組み合わせ」になります
まず、「IF関数のネスト(入れ子とも言う)」で関数を重ねる方法があります
今回の場合は、「IF関数の中にIF関数を入れて」います
ネストの書き方は「=IF(条件1,条件1と一致した場合,IF(条件2,条件2と一致した場合,どれにも当てはまらない(条件1にも2にも当てはまらない)場合))」
ここまでを図解にしてまとめてみましょう
こんな風に「条件1でまずアイコになるか判断」します(省略部分)
次は「勝ちと負け」の判断が必要ですよね
そこで条件2には「勝ち」の条件を指定しています
「勝ち」ではない場合は「負け」しか無いので「負けた」と表示するように設定しています
ココまでは整理出来ましたか?
一番難しいのは「勝つための条件」を判断することです
一見簡単そうですが勝つための条件をもう一度表にまとめてみます
相手が出す手の形 | 自分が出す手の形 | 結果 |
---|---|---|
グー | パー | 勝ち |
チョキ | グー | 勝ち |
パー | チョキ | 勝ち |
コレが勝つための組み合わせです
全部で3種類の勝ちパターンがありますね
負けパターンも同じ数ありますが、勝ちではないものは負けにすればいいので条件の設定はいりませんよ
この3パターンをそれぞれ「条件式」として書き出してみましょう
- AND(B3=”グー”,C3=”パー”)
- AND(B3=”チョキ”,C3=”グー”)
- AND(B3=”パー”,C3=”チョキ”)
これがそれぞれの条件式ですが、ココで「AND関数」というものが出てきます
AND関数は「どちらの条件も満たす場合」の判断に使います
基本的には他の関数と組み合わせて使う関数です
今回の場合は、例えば「AND(B3=”グー”,C3=”パー”)」ですね
この意味は「B3セルの内容が「グー」でC3セルの内容が「パー」の場合」という意味です
複数の条件を設定する時は「,」で条件を分けます
他の条件も意味は同じなのですがココまで整理出来ましたか?
さて、厄介なのが次の工程です
それぞれの勝ちパターンをA~Cとしますね
AND(B3=”グー”,C3=”パー”) = 「A」・AND(B3=”チョキ”,C3=”グー”) = 「B」・AND(B3=”パー”,C3=”チョキ”) = 「C」こんな感じです
この勝ちのパターンは3種類あるのでどれかの勝ちパターンと一致していれば「勝った」と表示したい訳です
つまり、「A~Cの条件のどれかに一致しているか」を判断する必要がりあます
そこで使うのが「OR関数」です
OR関数はAND関数と使い方は一緒ですが、「どれかの条件も満たす場合」の判断に使います
今回の場合は「OR(A,B,C)」という使い方をします
実際には「OR(AND(B3=”グー”,C3=”パー”) ,AND(B3=”チョキ”,C3=”グー”) ,AND(B3=”パー”,C3=”チョキ”))」こんな感じです
「勝ち」を判断するには意外と長い式が必要になりますね
これで「グーとパー」「チョキとグー」「パーとチョキ」のどれかの条件に当てはまったら、「勝った」と表示してね
という意味になります
OR関数の中にAND関数をネストしている上、その外側にはIF関数がいるので意味が分からなくなりますね
こういう複雑な式を組み立てる時は、基本は1ずつ分解して内容を作っていきましょう
最後にネストを使って関数をくっつけると比較的簡単に作ることが出来ます
これで「ジャンケンの結果を自動で判断する設定」のベースは完成したので最後に関数をつなぎ合わせると
「=IF(B3=C3,”もう一回”,IF(OR(AND(B3=”グー”,C3=”パー”),AND(B3=”チョキ”,C3=”グー”),AND(B3=”パー”,C3=”チョキ”)),”勝った”,”負けた”))」という式の出来上がりです
今回の方法は意外と複雑なので関数に慣れていないと厳しいです
そんな時は、例えば「IFS関数を使う」「列ごとに条件を判断させて列を非表示にする」「ユニークな値を作ってなるべく式を短くする」などのやり方がありますが、関数を設定するだけでもシステムっぽい(魔法みたいな)ことが出来るんだなということを知ってもらえると嬉しいです
繰り返しになりますが、IF関数で複雑な結果を表示させるためには、他の関数とくっつけるのが正解です
オススメのExcel関数の解説書 5選
関数を本で学ぶ時は次に上げるものがオススメです
本を購入をオススメしている理由と各本の紹介に関して、下記の記事で詳しく解説しているので合わせて読んでみてください
コメントを残す