時短エクセル(第18回) Excelの新「複数条件の場合分け」が使える

パソコン スキルアップ

公開日:2019.06.03

 Excel 2019で、新しい関数がいくつか追加された。関数はこれまでにもたくさんあったが、とても全部は使いこなせない。しかし、新しく追加された関数のうち「IFS関数」と「SWITCH関数」は、非常に簡単な記述で利用できるので、ぜひ覚えておきたい。

※当記事では練習用のサンプルファイルがダウンロードできます(ページ下部)

得点に応じて「A」「B」「C」「D」のランク分けをする-これまでのIF関数編

 これまでは、複数の条件で場合分けをする場合、「IF関数」をいくつも重ねて(入れ子にして)記述する必要があり、かなり複雑だった。閉じカッコが1つ少ないだけでもエラーになり、入れ子が多くなると間違いを見つけづらい。

 例えば、「合計得点が170以上ならA、120以上ならB、70以上ならC、どれにも当てはまらない場合はD」という場合分けをしたいとする。従来のIF関数なら以下のようになる。

IFを使う場合、「=IF(D3>=170,”A”,IF(D3>=120,”B”,IF(D3>=70,”C”,”D”)))」という記述となり、頭が混乱してしまう

IFS関数を使えば、条件と表示したい文字列を次々と並べて記述していくだけ

 Excel 2019では、IF関数の入れ子使いを解消すべく「IFS関数」が追加された。IF関数の複数条件対応版ともいえるものだ。

=IFS(論理式1,真の場合1,論理式2,真の場合2,…)
●「論理式1」に指定した条件が満たされるときは「真の場合1」に指定した内容を選び、満たされないときは「論理式2」に指定した条件が満たされるかどうかを調べる…というように複数の条件を順に調べ、条件に合った内容を選ぶ
 

 関数の解説をすると上記の通りだが、読んでも分かりづらいと思うので実例で確認してみよう。IF関数を使ってランク分けしたのと同じ例題でIFS関数を使ってみる。

IFS関数を使うと式は「=IFS(D3>=170,”A”,D3>=120,”B”,D3>=70,”C”,TRUE,”D”)」となる

 まずは「=IFS(」と記述し、合計が170以上「(「D3>=170)」と、その条件に合致するときに表示したい「”A”」をカンマで区切って併記する。文字列を記述する場合は「”」(ダブルクォーテーション)で囲むのがルールだ。これを場合分けしたい数だけどんどん並列に記述していく。最後に「どれにも当てはまらない場合はDとする」という意味の「TRUE,”D”」を記述して最後に「)」(閉じカッコ)を追加すれば完成だ。これは「D3<70,”D”」(合計が70未満ならD)という記述でも成立する。ドラッグして下までコピーする。

 IF関数なら場合分けの数だけカッコが増えていくため非常に煩雑だが、IFS関数ならカンマで区切って条件と表示したい結果を並べていけばよい。だから非常にシンプルだ。人事関連、営業成績、広報の記者リスト、プロジェクト進捗状況確認表など、条件に応じて結果を表示したいシーンは結構あるはずだ。これまでIF関数の入れ子が複雑過ぎてさじを投げていた人も、IFS関数なら覚えることができ、業務に活用できるのではないだろうか。

1位なら金、2位なら銀、3位なら銅など、1対1で対応する結果を表示する

 もう1つ、ぜひ覚えておきたい新しく追加された関数が「SWITCH関数」だ。これも「IFS関数」によく似ていて、場合分けしたいときに使う。IFS関数が「170以上の場合はA」などと範囲で条件を指定していたのに対し、SWITCH関数は「1なら金」というように、1対1で対応する場合分けに利用する。

=SWITCH(検索値,値1,結果1,値2,結果2,…,既定の結果)
●「検索値」に一致する値を探し、一致した「値」の直後の「結果」を返す。「値」の中に一致するものがない場合は「既定の結果」を返す

 一番分かりやすい例を見てみよう。

「=SWITCH(B2,1,”金”,2,”銀”,3,”銅”,”メダルなし”)」という式を立てる

 「順位(B列)が1位なら金、2位なら銀、3位なら銅、4位以下はメダルなし」という結果を表示する式だ。注意したいのは、最初に「検索値」を1回だけ記述することと、最後の「既定の結果」という部分。値と結果を並列で並べていき、最後はどれにも当てはまらない場合に表示する「結果」だけを記述する。下までドラッグでコピーすれば表は完成する。

 ここでは1位は1人しかいないが、同じ値が複数あっても問題はない。同じ値には同じ結果を表示する。同じ値が複数ある例を見てみよう。

部署名に対応する部署コードを表示する例

 「新規事業部」は新設部で、まだ部署コードが割り当てられていない。そのため「既定の結果」に「-」を記述している。部署コードが割り当てられれば、

=SWITCH(B2,”開発部”,”101″,”営業部”,”201″,”総務部”,”301″,”経理部”,”302″,”-”)

=SWITCH(B2,”開発部”,”101″,”営業部”,”201″,”総務部”,”301″,”経理部”,”302″,“新規事業部”,”303″,“-”)

というように、部署名と部署コードを追加して表の下までコピーするだけでOKだ。もちろん、部署コードが変わった場合も関数を修正するだけで済むので、短時間で表の修正が完了する。

 関数は、一定のルールや条件に従って一気に求めたい結果を返してくれる。うまく活用できればかなりの時短になる。自分が使いそうな関数だけでも覚えておけば、業務の効率化に大きく寄与してくれるはずだ。

第19回は2019年7月1日(月)公開

【ダウンロード】
「時短エクセル」Excelの新「複数条件の場合分け」が使える のお試しファイルのダウンロードはこちらから(Excelファイル)
※ここで紹介している関数は、買い切り型のOffice 2019(Excel 2019)または、サブスクリプション型のOffice 365を使っている場合にのみ使用できる

執筆=内藤 由美

大手ソフト会社で14年勤務。その後、IT関連のライター・編集者として活動。ソフトウエアの解説本、パソコンやスマートフォンの活用記事などを執筆、編集している。

【T】

あわせて読みたい記事

  • 目的別ショートカットまとめ(第44回)

    【ファイル操作編】右クリックメニューやプロパティを表示するショートカットキー

    パソコン スキルアップ

    2025.01.24

  • 時短エクセル(第86回)

    都道府県別データを3Dマップで表現する

    パソコン スキルアップ

    2025.01.21

  • 目的別ショートカットまとめ(第43回)

    【Windows編】画面のスクリーンショットや切り抜きに便利なショートカットキー

    パソコン スキルアップ

    2025.01.10

連載バックナンバー

時短エクセル