条件に応じて処理を分岐させるときは、IFやIFSといった関数を使用するのが一般的だ。これらのほかにも、Excelには「条件分岐処理を行える関数」がいくつか用意されている。ということで、今回は関数CHOOSEの使い方を紹介していこう。関数IFSに比べるとマイナーな関数であるが、「引数の指定が少なくて済む」という利点がある。

関数CHOOSEを使ったデータの取得

今回は、関数CHOOSEを使って条件分岐を行う方法を紹介していこう。CHOOSEはインデックス番号(1、2、3、…の整数)に応じて条件を分岐させる関数となる。このため、関数MATCHと組み合わせて使用されるケースが多い。

  • インデックス番号に応じて処理を分岐させる関数CHOOSE、MATCH

まずは、関数CHOOSEの書式から紹介していこう。関数CHOOSEを使用するときは、以下のように引数を指定する。

◆関数CHOOSEの書式
=CHOOSE(インデックス番号, 1の処理, 2の処理, 3の処理, …)

第1引数となる「インデックス番号」にはセル参照を指定するのが一般的だ。続いて、この「インデックス番号」が数値の「1」であった場合の処理、「2」であった場合の処理、「3」であった場合の処理を順番に記述していく。

少しわかりにくいと思うので、具体的な例を使って解説していこう。

たとえば、ある商店街がイベントを開催するとしよう。このイベントを実施するには、「テント、長机、椅子」をレンタルし、オリジナルの「Tシャツ、ハッピ、のぼり」を作成しなければならない。その料金(単価)を調べたのが以下の図だ。

  • 各ショップの価格を調査した表

今回は、「MNレンタル」、「Eveアシスト」、「Rent-S」、「CxRent」といった4つのショップで料金(単価)を調査した。この調査結果をもとに「どこに依頼したら最も安く済むか?」をExcelで比較検討してみよう。

ということで、各商品の必要数(数量)と、その金額を計算する表を以下の図のように作成した。現時点では「どのショップに依頼するか?」を決めていないので、「単価」の列は空白になっている。その代わりに、ショップを番号で選択するためのセル(D14セル)を用意してある。

  • レンタル&作成の費用を計算する表

このような場合に関数CHOOSEを使うと、「単価」のデータを自動取得することが可能となる。順番に解説していこう。

今回は各ショップの番号(1~4)をD14セルに指定するので、関数CHOOSEの第1引数にはD14を指定する。後ほど、この関数CHOOSEをオートフィルでコピーしたときにセル参照が変化しないように、このセル参照だけは絶対参照で記述する。

続いて、ショップの番号が「1」の場合、「2」の場合、「3」の場合、「4」の場合のときに取得するデータを順番に指定していく。ここでは「テント」の単価を取得したいので、それに対応する「D5,E5,F5,G5」のセル参照を順番に指定していけばよい。

  • 関数CHOOSEの入力

「Enter」キーを押して関数の入力を確定すると、以下の図のような結果が得られる。現在はショップ番号に「1」が入力されているので、D5セルの値が取得されることになる。

  • 関数CHOOSEの処理結果

あとは、この関数CHOOSEをオートフィルでコピーするだけ。これで全商品の「単価」を自動取得できるようになる。もちろん、取得した「単価」をもとに「金額」と「小計」も自動計算される。

  • 関数CHOOSEをオートフィルでコピーした様子

この結果を見ると、「MNレンタル」に依頼した場合の料金は16万7,940円になる、ということを把握できる。他のショップに依頼した場合の料金を知りたいときは、ショップ番号の数値を変更すればよい。

たとえば、ショップ番号を「2」に変更すると、関数CHOOSEによりE5~E11のデータが自動取得され、その「単価」での計算結果が表示される。今回は、小計が18万3,740円という結果になった。

  • インデックス番号を変更した様子(1)

同様に、ショップ番号を「3」に変更すると「Rent-S」の単価で計算した結果、ショップ番号を「4」に変更すると「CxRent」の単価で計算した結果を得ることができる。

  • インデックス番号を変更した様子(2)

このように、インデックス番号(1、2、3、4、…)を変更することにより条件分岐を行うのが関数CHOOSEの基本的な使い方となる。

関数MATCHを使ったインデックス番号への変換

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら