事務作業の省力化や資料作成に役立つ、Excelの使い方を紹介

Excelの機能を最大限に生かして、業務の省力化や経営状況を分析できる資料の作成方法を解説します。

IFS 関数 と SWITCH 関数を使って条件を分岐させる(その1)

IFS関数SWITCH関数は、Excel2016から追加された新しい関数です

 

IF関数を使うと関数(数式)が複雑になってしまう

 「もし~ならば・・・」のように、指定した条件に応じて分岐させる場合、IF関数が用いられてきました。

 しかし、指定する条件が複数」の場合はIF関数を「ネスト(入れ子)構造」にする必要があり、関数(数式)がとても複雑なものになります。

 Excel2016から新しく追加された、IFS関数SWITCH関数を使えば関数(数式)を簡潔にすることができます。

 

条件分岐させる方法は複数あります

 「値が○○であれば○○、△△であれば△△、□□であれば□□、…」という条件を指定する方法は複数あります。

  1. IF関数"ネスト(入れ子)構造" にする
  2. VLOOKUP 関数を使う
  3. IFS関数を使う
  4. SWITCH関数を使う

 

1.IF関数 "ネスト(入れ子)構造" にする

 IF関数 "条件を1つ" しか設定できないので "複数の条件" を設定するためには、数式を「ネスト(入れ子)構造」にする必要があり、数式(関数)が複雑になってしまいます。

 IF関数は、論理式に毎回異なる条件セルを指定できます

   

   f:id:k-ohmori9616:20200804111440p:plain

 

2.VLOOKUP関数 を使う

 条件が合えば(検索範囲の項目が左端にある場合)VLOOKUP関数を使うことで、とても簡潔な数式(関数)にすることができます。

  

   f:id:k-ohmori9616:20200804123502p:plain



3.IFS関数を使う

 IFS関数SWITCH関数よりも、数式が多少複雑になるものの、複数の条件(論理式)を、複数の場所(範囲)に指定することができます。

 IFS関数は、論理式に毎回異なる条件セルを指定できます

  • IFS関数は判定対象を"複数"指定できる
  • SWITCH関数は判定対象を"1つ"しか指定できない

 

   f:id:k-ohmori9616:20200804124406p:plain

 

4.SWITCH関数を使う

 SWITCH関数は、IFS関数に比べると数式(関数)が簡潔になります。

 しかし、"検索値(交換する値)は1つだけで、指定した値がどれに当てはまるのかということしか調べられません。

 SWITCH関数の特徴は、一致する値がない場合「規定値」を表示させることができます。

   

   f:id:k-ohmori9616:20200804111256p:plain

 

チケットの料金を "表引き" して表示する

 チケットの料金を「料金表」から "表引き" して、"一般"、"ジュニア"、"学生" それぞれの料金を表示します。

 このように "表引き" をする場合は、VLOOKUP関数を使う方法が一般的です。

 しかし、VLOOKUP関数「検索値」"左端" にない場合は使うことができません。

 そのような場合はLOOKUP関数MACH関数を組み合わせたりすることで "表引き" をします。

 今回は、「条件に合う場合は、○○を表示する」場合の分かりやすい例として "表引き" する方法で、それぞれの関数を説明します。

 

   f:id:k-ohmori9616:20200804115554p:plain

 

IF関数の場合

 従来からある "IF関数" を使って料金を表示させるには「ネスト(入れ子)構造」にすることで「複数の条件」を設定する必要があり、数式(関数)が複雑になってしまいます。

  • 引数「論理式」を "E3=B3" にして、「区分」の値が一致する場合
  • 引数「値が真の場合」の "C3" 料金を表示
  • "E3=B3" にならなかった場合、引数「値が偽の場合」に ネスト(入れ子)構造にした2つ目の "IF関数" を入力していきます。
  • 最後の条件にした "IF関数の「偽」の引数" 「要確認」を入力

   f:id:k-ohmori9616:20200804135127p:plain

 

VLOOKUP関数の場合

 検索値が「表」の左端にある場合は、VLOOKUP関数を使うことができ、"表引き" することにより簡潔な数式(関数)にすることができます。

  • 引数「検索値」の "E3"
  • 引数「範囲」の "B3:C5" の「表」の "左端の列" を検索して一致する行を探し
  • 引数「列番号」に入力した "2列目" 一致する行を表示

   f:id:k-ohmori9616:20200804122624p:plain

 

IFS関数の場合

 IFS関数は、IF関数"条件(論理式)を1つしか設定できない" という欠点を解消し「複数の条件(論理式)」が設定できる新しく追加された関数です。

「区分に入力した値と表の区分が一致した場合にその料金を表示するという論理式を、"区分" の数だけ繰り返します(※ 126まで)

 IFS関数は「規定値」を表示させる "引数" はありませんが、最期に設定する引数 "論理式"「TRUE」にし、その結果を「 "要確認" 」することで「規定値」にすることができます。

  • 引数「論理式」"E3" "B3" が一致した場合
  • 引数「値が真の場合」 "C3" を表示 
  • 最後の引数「論理式」「TRUE」を入力し
  • 最後の引数「結果」「"要確認"」を入力することで、「区分」に該当しない値が入力された場合に「要確認」が表示されるようにします。

   f:id:k-ohmori9616:20200804133613p:plain

 

SWITCH関数の場合

 SWITCH関数IFS関数と同時に追加された新しい関数です。

 分かりやすい簡潔な数式(関数)にすることができますが、欠点は「検索値(論理式)を1つしか設定できないことです。

 長所は条件(論理式)に合致するものがない場合に表示する「規定値」を設定できることです。

  • 引数「式」"E3" 
  • 引数「値」"B3" と一致した場合
  • 引数「結果」 "C3" を表示
  • 引数「規定または結果#」「 "要確認" 」にすることで、"条件に該当するものがない場合" の規定値にします

   f:id:k-ohmori9616:20200804131824p:plain

 

 このように「条件分岐」させる方法は複数あります。

 それぞれに長所と欠点があるので、状況によって使い分ける必要があります。

 今回は、それぞれの数式(関数)の構造を分かりやすくするために、「チケットの料金表(1つの表)を "表引き" するという比較的簡単な「条件」を例にしました。

 (その2)では、もう少し複雑な条件分岐」を例にしてより詳しくそれぞれの数式(関数)の説明をします。