いまさら聞けないExcelの使い方講座

【Excel】IF関数が複雑になりすぎ!エクセルで複数の条件を混乱せずに指定するコツ

IF関数が複雑になりすぎて混乱……

 Excelでよく使う関数の1つにIF関数がありますよね。皆さんも一度は使ったことのある関数ではないでしょうか。IF関数は、指定した条件に応じて表示内容や処理を変えたい時に使う関数で、さまざまな場面で活躍する関数です。でも、複数の条件を指定したい時は、IF関数の中にさらに新たなIF関数を記述することになり、数式が複雑になってしまうのが難点です。

 試しに、次の「営業成績表(上半期)」に複数の条件を指定したIF関数を入力してみましょう。この表のI列(①)に、半期の合計(H列の値)に応じた評価をA~Dの値で表示する例を考えてみます。ここでは、半期の合計が200以上ならA、150以上ならB、100以上ならC、それ以外はDという基準で評価を表示するものとします。

 これをIF文で記述すると、セルI3には、「=IF(H3>=200,"A",IF(H3>=150,"B",IF(H3>=100,"C","D")))」(②)という式を入力する必要があります。IF関数がいくつも入れ子(ネスト)されていて、とても複雑ですよね。

 複数の条件に応じて処理や表示内容を変えたい時は、IF関数ではなく、IFS関数を使うのがおすすめです。IF関数に比べてかなりシンプルに記述できるので、関数に慣れていない人でもあまり抵抗感なく使えるでしょう。今回は、このIFS関数の使い方について解説します。

 IFS関数は、Excel 2016ではOffice 365を契約していなければ使用できませんでしたが、Excel 2019からはOffice 365を契約していなくても使用できるようになりました。今から覚えるなら、IFS関数がおすすめです! IFS関数を使える環境を持っている人は、ぜひトライしてみましょう。

IFS関数は条件と表示内容のペアを並べるだけ!

 ではまず、IFS関数の書式を確認しましょう。

 IFS関数は、複数の条件に応じて表示内容を変えることのできる関数ですが、条件と表示内容のペアを並列して記述することができることが利点です。「論理式1」に条件を指定し、「真の場合1」にその条件を満たす時の表示内容を記述します。複数の条件がある場合は、このペアを順々に指定していけばよいのです。冒頭で紹介したIF関数では、複数の条件を記述する時に、IF関数の中に新たなIF関数を書き、入れ子(ネスト)にしていたことを考えると、ずいぶんシンプルでわかりやすいです。

 文章で説明するよりも、やってみたほうがわかりやすいので、冒頭の例を使って数式を作成していきましょう。今回は、「関数の挿入」機能を使って数式を組み立てていきます。「関数の挿入」機能は、数式の作成が不安だったり、引数などがうろ覚えだったりする時に役立つ機能です。ウィザードのような形式になっていて、誘導されるとおりに入力していけば数式を完成できます。

 セルI3(①)を選択し、[数式]タブ(②)→[関数の挿入](③)をクリックしましょう。

 [関数の挿入]ダイアログボックスが表示されます。「関数の検索」欄に「IFS」(④)と入力し、[検索開始](⑤)をクリックします。すると、その下の関数の一覧に「IFS」(⑥)が表示されるので選択し、[OK](⑦)をクリックします。

 [関数の引数]ダイアログボックスが表示されます。まず、「論理式1」欄と「値が真の場合1」欄に、最初の条件式とその条件を満たした時に表示する値を入力します。ここでは、セルの値が200以上の時に「A」と表示したいので、「論理式1」欄に「H3>=200」(⑧)と入力し、「値が真の場合1」欄に「"A"」(⑨)と入力します(「A」は文字列なのでダブルクオーテーションで囲みますが、単に「A」と入力するだけで、自動的にダブルクオーテーションが補完されます)。

 同様にして、次の条件式とその条件を満たした時に表示する値を入力します。「論理式2」欄に「H3>=150」(⑩)と入力し、「値が真の場合2」欄に「"B"」(⑪)と入力します。なお、入力欄は自動的に拡張されていきます。

 また、[関数の引数]ダイアログボックスでは、数式を作成しながら結果も確認できます。この例では、セルH3に「178」と入力されているので、論理式2の条件が当てはまり、表示内容は「B」となります。よって、[論理式2]欄の右横にはTRUE(⑫)と表示され、ダイアログボックスの左下には「数式の結果 = B」(⑬)と表示されます。

 論理式3と論理式4のペアも同様に入力していきます。「論理式3」欄に「H3>=100」(⑭)と入力し、「値が真の場合3」欄に「"C"」(⑮)と入力します。続けて、「論理式4」欄に「H3<100」(⑯)と入力し、「値が真の場合4」欄に「"D"」(⑰)と入力します。

 引数をすべて入力できたら、[OK](⑱)をクリックしてダイアログボックスを閉じます。

 セルI3に「=IFS(H3>=200,"A",H3>=150,"B",H3>=100,"C",H3<100,"D")」という数式が自動的に入力され、計算結果が「B」(⑲)と表示されます。

 オートフィルを使って、先ほど作成した式をI列のほかのセルにもコピーしましょう。セルI3の右下に表示されるフィルハンドルをセルI7までドラッグします(⑳)。すると、書式までコピーされてしまうので、セルI7の右下に表示される[オートフィルオプション](㉑)をクリックして、[書式なしコピー(フィル)](㉒)を選択します。

 数式はコピーされたままの状態で、セルの背景色だけが元に戻りました(㉓)。

これから覚えるならIFS関数!

 今回は、IF関数よりもシンプルで簡単に複数の条件を記述できるIFS関数の使い方を解説しました。IF関数は、実務でも登場回数の多い関数だと思います。今まで、複数条件を指定したい時に、複雑になりすぎて困っていた人は、ぜひIFS関数を使ってみてください。また、慣れない関数を使う時は、今回解説したように「関数の挿入」機能を使うことをおすすめします。 ぜひトライしてみてくださいね!