EXCEL VBA Switch関数の使い方(最初の条件式に関連付けられている 値または、式を返す・複数条件設定)

 

 

EXCEL VBA Switch関数の使い方(最初の条件式に関連付けられている 値または、式を返す・複数条件設定)

 

 

 ●はじめに

今回は、Switch関数の取り扱い方法を説明いたします。Switch関数は、Select CaseステートメントやChoose関数と似ていますが、Switch関数のリスト内に複数条件を設定して最初に条件一致した値または、式を返します。
また、IF関数で複数条件を設定するよりも、Switch関数を使うとシンプルに条件設定する事が出来きます。それでは、順番にサンプルプログラムを交えて説明いたします。

【参照ページ:Choose関数】

EXCEL VBA Choose関数の使い方(数値に応じて値を返す・リストの値を返す)

 

【参照ページ:Select Case】

EXCEL VBA Select Caseの使い方(複数条件)

【参照ページ:IF Then Else Elself】

EXCEL VBA IF…Then…Else..ElseIfの使い方

 

 

●書式の説明  (Switch関数)
● Switch(expr-1, value-1[, expr-2, value-2 … [, expr-n,value-n]])

Switch関数リスト内に複数条件を設定して最初に条件一致(真:True)した、値または式を返します。expr-n :リスト内の条件式を指定します。(複数条件指定可能)
value-n : expr-nと対象なる条件式が(真:Ture)の時に値または式を返します。

【使用例】

Ans = Switch(Way = “東”, “East”, Way = “西”, “West”)
MsgBox Ans※Wayが【東】ならば、【East】をメッセージボックスで表示します。
※Wayが【西】ならば、【West】をメッセージボックスで表示します。
※Wayが【東】・【西】以外だと【Null】を返します。(エラー発生)
【注意点】

設定した複数条件でTrueとなる条件が存在しない場合は、Nullを返します。

 

 

入力した値(条件)に対して該当する値を返します。

 

 

●プログラム説明 サンプル① 【Switch関数】

下記のサンプルプログラムは、入力した値に対して該当する値を返すサンプルプログラムです。

 

 

●実行前~実行後 ※プログラム実行後、メッセージボックスが表示されるので、【東・西・南・北】のいずれがを入力します。入力して値に対して、【東・西・南・北】の英語をメッセージボックスに返します。
(画面クリックして拡大)

 

 

 

セルに登録されているデータを元に、Switch関数を使い該当する数値を返す。(条件判断・複数条件)

 

 

●プログラム説明 サンプル② 【Switch関数】

下記のサンプルプログラム、セルに登録されているデータを元に、Switch関数を使い該当する数値を返すサンプルプログラムです。具体的には、エクセルシートに社員情報の一覧が表示されています。そのデータ内にあるD列の【役職名】から該当する【基本給】をE列に代入します。

 

 

 

 ●実行前~実行後 ※プログラム実行後、社員情報一覧のD列【役職名】から該当する【基本給】をE列に代入されました。
(画面クリックして拡大)

 

 

 

セルに登録されているデータを元に、Switch関数を使い複数条件で合否を判定する。(テスト結果の合否判定)

 

 

●プログラム説明 サンプル③ 【Switch関数】

下記のサンプルプログラムは、個人のテスト結果(国語・数学・英語)より、テスト結果の合否を判定するサンプルプログラムです。Switch関数を利用する事で、複数条件による判定させるプログラムもシンプルに作成する事ができます。

【テスト結果の合否:複数条件】
①国語60点以上 かつ 数学60点以 かつ 英語60点以上 ⇒【合格】
②国語50点以上 かつ 数学50点以 かつ 英語50点以上 かつ 補習受講 ⇒ 【合格】

 

 

 

 

  ●実行前~実行後 ※個人のテスト結果(国語・数学・英語)により、テスト結果の合否判定されました。複雑な複数条件であってもSwitch関数を使う事で、見やすくプログラムも作成できました。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。