らくらくIT活用術

PC活用講座 - Excel

「Excelの便利機能活用術」
「○歳以上は○割引き」のシミュレーションに便利!
複数の計算式を素早く切り替えるには

ITライター 立山秀利

シミュレーションの際、1つのセルで複数の計算式を切り替えて値を表示したい場合、CHOOSE関数を使うと効率的である。

リストから指定した値を抽出するCHOOSE関数

まずはCHOOSE関数の基本的な使い方を解説する。例えば図1のような利用申請書があり、B5セルに1~3の番号を入力して、下記の該当する年齢区分をC5セルに表示したいとする。

------------
1:18歳未満
2:18~64歳
3:65歳以上
------------

図

                                          図1

ここで利用するのがCHOOSE関数だ。引数に指定した番号の値をリストから抽出する関数である。書式は次の通り。

------------------------------------------------------------------
=CHOOSE(インデックス,   値1,      値2,     値3・・・)
         ------------    ---       ---      ---
=CHOOSE(     B5,   "18歳未満","18~64歳","65歳以上" )
------------------------------------------------------------------

引数「インデックス」には番号を指定。すると、引数「値1」以降に指定した値のリストから、該当する番号の値を抽出して表示する。

今回の例の場合、引数「インデックス」に1を指定したら、値として文字列「18歳未満」を抽出し、2を指定したら「18~64歳」、3を指定したら「65歳以上」を抽出できればよい。以上を踏まえると、C5セルには以下のようにCHOOSE関数を入力すればよいことになる。番号はB5セルに入力されるので、引数「インデックス」はB5セルを指定する。

これで、B5セルに入力した番号の数値に従い、該当する年齢区分がC5セルに表示されるようになる。

図

図2

なお、似たようなことはVLOOKUP関数やINDEX関数でもできるが、両者とも抽出元の表を別途用意しておく必要がある。それに対してCHOOSE関数は抽出元のリストを引数に指定するだけで済み、関数一つで完結できる。

CHOOSE関数で複数の数式を切り替える

CHOOSE関数はリストに値だけでなく、数式を指定することも可能だ。例えば図3のように、商品の値引きパターンが1~3の3通りあるとする。C3セルに指定した値引きパターンの番号に応じて、各商品の売値を標準価格から算出してC6~C9セルに求めたいとする。

図

図3

1の場合の値引きパターンは10%オフなので、標準価格に0.9を掛ければ求められる。2の場合は500円引きなので、標準価格から500を引けば求められる。3は10%オフと500円引きなので、標準価格に0.9を掛けた値から500を引けば求められる。

これら3つの数式をCHOOSE関数の引数「値1」以降に指定すればよい。引数「インデックス」は値引きパターンが入力されるC3セルを指定する。以上を踏まえると、例えば商品Aの売値なら、C6セルに以下の数式を入力すればよい。

------------------------------------------------------------------
=CHOOSE(インデックス,   値1,      値2,         値3・・・)
         ------------    ---       ---          ---
=CHOOSE(    $C$3,     "B6*0.9", "B6-500",  "B6*0.9-500" )
------------------------------------------------------------------

C7~C9セルにもオートフィルでC6セルの数式をコピーすれば完成だ。引数「インデックス」を絶対参照にしているのは、C7~C9セルにオートフィルでコピーした際に参照先セルのずれを防ぐためである。

図

図4
(画像をクリックすると拡大表示します)

なお、以前取り上げた「データテーブル」機能との違いだが、データテーブルは数式を自由に指定できるが、毎回書き換える必要がある。一方、CHOOSE関数はあらかじめ用意しておいた数式を切り替えられる。CHOOSE関数なら引数「値1」以降にあらかじめ用意した数式しか使えないが、番号を指定するだけで切り替えが済む。両者の使い分けは、多彩な数式を自由に入力したいならデータテーブル、あらかじめ用意した数式を素早く切り替えたいならCHOOSE関数を使うとよい。

このようにCHOOSE関数を使えば、複数の数式を素早く着替えられ、効率よくシミュレーションが行えるようになる。

その他の【Excel】を見る

PC活用講座 一覧へ

立山秀利(たてやま・ひでとし)

カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。

(監修:日経BPコンサルティング)