ブログ
3.52020
【Excel】IF関数を複数回使用する場合の「これが私のやり方」
Excelにて「IF関数」は理解したけれども、長いIF関数を作成することが苦手!という方は多いと思います。長いIF関数は「=IF(a=1,IF(b=1,IF(c=1,IF(d=1,”成功!”,”-“),”-“),”-“),”-“)」という感じです。見た目から「えっ!もうわかんない!!」とあきらめてしまいがちですが、これを作るのは結構簡単なのです。今回は、この長いIF関数を作成する際の私のやり方をご紹介します。以下の記事を読まれていない方は、そちらを読まれてからこの記事の続きをお読みください。
たとえ長くても所詮は「部品の集合体」です。
先ほどお見せした「 =IF(a=1,IF(b=1,IF(c=1,IF(d=1,”成功!”,”-“),”-“),”-“),”-“) 」というIF関数ですが、確かに一目では理解しがたい数式ではあります。しかし、基本は
これでしかありません。そして、先ほどの長い数式は「これの組み合わせを繰り返しただけ」なのです。と言っても、現段階ではイメージ出来ないと思いますので、次から実践していきます。
最初から正解を作らなくていい
今回、作成するIF関数のフローチャートは以下になります。
このフローチャートから、必要な論理式を抜き出します。
作成する論理式は、
①お客様は女性ですか?
②髪型はポニーテールですか?
の二つです。
それぞれを、ひとつずつ作成していきます。
まずは[論理式①]のみを考えてIF関数を作成します。
上記のようなデータの場合、セル【C2】へIF関数を作成すると思いますが、ひとまず、セル【D2】へ[論理式①]のみを作成します。※それが何故なのかはあとでわかります。
まず、「 =IF(A2=”女性”, 」まで打ち込みます。その続きは[真の場合]となりますが、そこは[論理式②]が入る場所になりますので、ひとまず無視して、[偽の場合]を入力します。
これではIF関数が成立しません(エラーになる)ので、暫定的に[真の場合]に「1」を入れてIF関数を成立させます。
数式を確定させて、結果を確認します。「1」が表示されていますので、この数式自体は「正しい」ということが確定します。
続いては、[論理式②]を考えます。
先ほど、セル【D2】に作成した数式とは、別のセルに[論理式②]の数式を作成します。今回は、セル【D3】に作成します。髪型(【B2】)がポニーテールであれば「フルーツパフェ」で、異なれば「なにもない」という数式です。
これで[論理式②]は成立していますので、確定して結果を確認します。
これで、[論理式①]と[論理式②]の作成が完了しました。もちろん、IF関数は完成していません。ここまでは「部品(材料)を用意した」というイメージです。
作ったIF関数をひとまとめにするには「代入」すればいい
本来ならば、セル【C2】へ作成するIF関数を、セル【D2】【D3】へ作成しました。ここからは、セル【C2】へIF関数を完成させます。
まずは、セル【D2】へ作成した数式をコピーします。この際にセルのコピーは行わないでください。セルのコピーをしてしまうと、セルの参照が調整されてしまうからです。必ず文字列をコピーしてください。
セル【D2】にアクティブセルを移動させ、「F2」キーを押し編集状態にします。続いて、コピーする文字列を選択し、「コピー」をします。
続いて、セル【C2】へアクティブセルを移動し、「F2」キーを押し、編集状態にします。その後、先ほどコピーした数式を貼り付け、数式を確定させます。
続いて、セル【D3】へ作成した数式をコピーします。今回は「 セル【C2】へこの数式を組み込む 」ため、「=(イコール)」は不要となります。
先ほど、コピーしたセル【D3】の数式は、セル【C3】の「 真の場合のIF関数 」になるので、まずは「1」を選択します。
次に「 貼り付け 」をします。これで「 IF関数が完成 」しました!!
再度の確認ですが、上記のIF関数は以下のフローチャートにて作成しています。
最後に、【C2】を【C3:C4】へコピーして結果を確認してみましょう!
これで、IF関数を複数回使用する際の私のやり方です!
「あれ?【D2】とか【D3】で作った数式はどうするの?」と思いましたか??
答えは簡単です。「消せばいい」んですよ♪
この「代入する」という考え方は様々な場面で…
今回のポイントは
① 一気に数式を完成させずに「部品ごと」に数式を完成させる。
② 必要な個所にその「部品」を代入する。
③ 部品が必要なければ、あとで削除すればいい
というところでしょうか。
特に①のポイントは大事です。私も長い数式を作成することがありますが、ほとんど「コレ」を意識しています。適当なセルに正しい数式を完成させ、そして、あとでひとまとめにする。。。という感じです。
いかがだったでしょうか?
それでは、以下のフローチャートを基に、IF関数を完成させてみましょう!!
がんばってくださいね♪
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。