ビジネス能力検定サーティファイの Excel®表計算処理技能認定試験2級の問題集の知識問題を問いていると、いくつかの関数の知識が問われる場面に遭遇しました。
その関数とはHLOOKUP関数、DAVERAGE関数、CHOOSE関数の3つです。それぞれ日をまたいで解説していきたいと思います。
というわけで今日は、CHOOSE関数について解説したいと思います。応用編としてCHOOSE関数と相性の良いMATCH関数も使用したデータの抽出も行っていきたいと思います。
CHOOSEとは「CHOICE」の過去形で「選んだ」という意味があります。つまり、条件分岐から「選んだ関数」という意味になります。
CHOOSE関数について解説するための下準備
表を用意する
CHOOSE関数を使用するための箱、つまり表を用意します。次のような表でCHOOSE関数がどのように動くかをみていきましょう。
CHOOSE関数を使って複数の条件分岐から対象となるデータを取り出そう
CHOOSE関数の構文について
CHOOSE関数の構文について触れておきます。数式バーの左側のfxというマークから関数を呼び出すのが一番楽なのですが、直接セルに関数を打ち込むことも可能です。
=CHOOSE(インデックス, 値1, 値2, 値3, …)
これが構文となります。
そして、上の用意した表について解説致しますと、D15がインデックスとなります。D19~D25の値を求めたいとき、その後に続くのが、値1がD6~D12、値2がE6~E12、値3がF6~F12、値4がG6~G12、値5がH6~H12となり、これらを参照してCHOOSE関数を使用します。
まずはD19の単価を求めたいので、D19にCHOOSE関数を使用する場合、インデックス=$D$15、値1=D6、値2=E6、値3=F6、値4=G6、値5=H6となります。
インデックスがなぜ$Dなのか?
CHOOSE関数というのは、値1~値254までに指定した数値・文字列からどれを「選ぶ」かということを行うものです。
どれを「選ぶ」かを決めるのがインデックスです。ここはショップNo.を入力する場所である必要があるので、D15となります。
さらに、CHOOSE関数を縦にコピーしていくのでインデックスがずれては困るので、$D$15となります。
値1がなぜD6~D12なのか?
インデックスD15で選択されたショップの1つ目の単価を設定していくので、D列、即ち、KZレンタル社の単価を表すD6~D12が設定されます。
同様にしてRentストア社ではE列、DX-Rental社ではF列、MMレンタル社ではG列、ストアR社ではH列を設定していきます。
CHOOSE関数を呼び出す
数式バーの左側のfxという関数を呼び出すマークをクリックします。
関数の分類をすべて表示にして、関数名に表示された関数を適当にクリックし、CHOOSEの頭文字のCHOを素早く打ち込みます(CHだけだとCHAR関数が先に来るため)。するとCHOOSE関数のところにフォーカスが動きますので、OKをクリックします。
するとCHOOSE関数の入力画面が開きますので、CHOOSE関数の構文についてのところで指定した値を入力していきます。(スクロールしないと見えませんが、値5には「H6」が選択されています。
すると次のようになります。ショップNo.◯◯のテントの値段が反映されました。
D15に何も値が入っていない場合、D19には「#VALUE!」という謎のメッセージが表示されますので、D15にはとりあえず値1~値✕✕の中の、1~✕✕のいずれかの数値を入れておきましょう。
ここまで出来ましたら、あとはD19を選択したままオートフィルで下の列へも関数を反映させていきましょう。
完成です。これであとはショップ選択のところのNo.を1~5の範囲で入力してあげれば小計までの値が反映され、どのショップに依頼すると一番安く済むかということがCHOOSE関数を用いて計算することができますね。
次は応用編です。いちいち数字を入力するのは面倒ですし、もっと表示を便利にしたいですよね。
というわけで、、、
CHOOSE関数を使ったデータ抽出にMATCH関数を加えて便利にしよう
上の例では、D15のセル内に1~5までの数字を指定することで「どのショップの単価を取得するか」を指定しました。やはりこのままですといちいち数字を入力するのが面倒ですし、もっと直感的に操作ができたほうが、「使いやすい」ですよね。
そこで、ショップ名のリスト化とMATCH関数を用いて、もっと直感的に操作できるよう改良を加えてみることにしました。
ショップ名のリスト化
「データの入力規則」を使って「ショップ名」を一覧から選択できるようにします。以下の手順で「データの入力規則」を指定する。
- C15セルを選択し、「データ」タブ→「データの入力規則」をクリック
- 入力値の種類で「リスト」を選択
- 元の値に「ショップ名が入力されているセル範囲(D5:H5)」を指定
OKをクリックします。C15がリスト化されたことがわかります。次は「ショップ名」リストに対応した「インデックス番号」を自動生成する処理を追加します。ここでMATCH関数を使用します。
MATCH関数の構文について
MATCH関数の構文について触れておきます。数式バーの左側のfxというマークから関数を呼び出すのが一番楽なのですが、直接セルに関数を打ち込むことも可能です。
=MATCH(検査値, 検査範囲, 照合の種類)
これが構文となります。
ショップNo.をD15にMATCH関数を使って反映させる場合、検査値=C15となります。検査範囲=D5:H5となります。「検査値」と等しいデータを探したいので、照合の種類=0となります。
MATCH関数を呼び出す
数式バーの左側のfxという関数を呼び出すマークをクリックします。
関数の分類をすべて表示にして、関数名に表示された関数を適当にクリックし、MATCHの頭文字のMを入力します。するとMATCH関数のところにフォーカスが動きますので、OKをクリックします。
するとMATCH関数の入力画面が開きますので、MATCH関数の構文についてのところで指定した値を入力していきます。
CHOOSE関数、データの入力規則によるリスト化、MATCH関数を用いて完成した表
CHOOSE関数で作成した表に、「データの入力規則」によるリスト化、MATCH関数を用いた結果、使いやすくなった表がこちらです。
最後に
いかがでしたでしょうか?
CHOOSE関数を使って複数の条件分岐から対象となるデータを取り出す方法について解説しました。おまけとして、データの入力規則を用いてリスト化を図り、それをMATCH関数で数値に変換するということをやりました。
結構実務的な内容だったのではと思います。
ではでは、参考までに。
おまけ
サーティファイの Excel®表計算処理技能認定試験2級を受験するにあたり、これさえ買っておけば必ず受かるといっても過言ではない一冊の本をオススメ致します。
それがこちら。
私も購入させていただき、大変お世話になっております。
コメント