この記事で分かること
- CHOOSE関数が番号を指定して複数の値から1つを返す仕組み
- 整数設例でシナリオ切替(ベース・強気・弱気)に使う数式と検算
- インデックス番号に小数を入れたときの挙動(四捨五入ではなく切り捨て)
- INDEX関数との使い分けと、ケース数が増えたときの弱点
30秒で分かる定義
CHOOSE関数とは、指定した番号(インデックス番号)に対応する値を、複数の候補の中から1つ返す関数です。読み方はチューズ。財務モデルでは、シナリオ番号を入力するトグルセル(切替セル)と組み合わせ、ベースケース・強気ケース・弱気ケースといった複数の前提を1つのセルの数値だけで切り替える用途で頻繁に使われます。値1から値254まで指定でき、数値・文字列・セル参照のいずれも候補にできます。
なぜ実務で重要なのか
財務モデルでは、複数の前提ケースを用意し、1つのスイッチで一括切替できる構造が標準的とされます。シナリオ設計とスイッチで扱う「1セルでケースを切り替える」設計を実装する具体的な手段の1つがCHOOSE関数です。IB・PEの面接やモデルテストでも、シナリオ切替の実装方法を問う出題は定番で、CHOOSE関数はその代表的な解答になります。
計算式(または仕組み)
インデックス番号が1なら値1、2なら値2が返ります。整数以外(小数)を指定した場合、四捨五入ではなく小数点以下を切り捨てた整数部分が使われます。例えば2.9を指定してもケース3ではなくケース2として扱われる点に注意が必要です。CHOOSE関数は配列も返せるため、=CHOOSE(MATCH(選択セル,ケース名リスト,0),配列1,配列2,配列3)のように単一の値だけでなく行・列全体を切り替える組み方も可能です。
整数設例で確認する
設例(架空数値)。当期売上高20,000百万円に対し、3つの成長率シナリオ(ベース4%、強気7%、弱気1%)を用意します。切替セルC3に1・2・3のいずれかを入力し、=CHOOSE(C3,4%,7%,1%)で採用する成長率を決めます。
- C3=1(ベース):翌期売上=20,000×(1+4%)=20,800百万円
- C3=2(強気):翌期売上=20,000×(1+7%)=21,400百万円
- C3=3(弱気):翌期売上=20,000×(1+1%)=20,200百万円
手計算でも、20,000×0.04=800(20,800)、20,000×0.07=1,400(21,400)、20,000×0.01=200(20,200)と一致することを確認できます。ここでC3に「2.9」という小数を誤って入力した場合、CHOOSE関数は小数点以下を切り捨てて2として扱うため、四捨五入で3になることはなく、強気ケースの7%(21,400百万円)がそのまま採用される点に注意が必要です。
財務モデルでの位置付け
CHOOSE関数は、前提条件シートの中でも採用ケースを決定する最上流の1行に位置づけられます。この行の結果が売上成長率・マージン・割引率といった前提に流れ込み、最終的にPL・BS・CFの全体が連動して切り替わる設計にするのが定石です。切替セルはExcelのデータの入力規則でリストを設定し、1・2・3以外の値が入力されないようにしておくと、想定外のインデックス番号でエラーを返すリスクを防げます。
財務モデル・Excelでの使い方
- 切替セルには入力規則でリスト(1・2・3)を設定し、セルの隣に「1=ベース、2=強気、3=弱気」という凡例を明記する
- ケース数が3〜4程度で固定ならCHOOSE関数が読みやすい。可変または5以上になる場合は、候補を縦に並べた表を用意し
=INDEX(候補範囲,インデックス番号)で選ぶ方式の方が行追加だけで済み保守しやすい - チェック行として
=IF(OR(C3=1,C3=2,C3=3),"OK","ケース番号エラー")を設け、想定外の番号が入力されていないかを監視する
この用語をExcelで「組める」状態にする
CHOOSE関数と入力規則を組み合わせ、1つの切替セルでベース・強気・弱気の3ケースが前提行から3表まで連動する仕組みを実装できるようになる。
実務家が確認するポイントとよくある誤解
誤解1:「CHOOSE関数は3つの候補までしか使えない」→ 実際には値1から値254まで指定できます。シナリオ切替で3〜4ケースを扱うことが多いだけで、関数自体の制約ではありません。
誤解2:「CHOOSE関数はIF関数の代わりに何にでも使える」→ 2条件の分岐ならIF関数の方がシンプルで、CHOOSE関数は3つ以上の離散的な選択肢を番号で選ぶ場面に向いています。
誤解3:「インデックス番号に小数を入れると四捨五入される」→ 誤りです。小数点以下は切り捨てられ、2.9は2として扱われるため、意図せず一段下のケースが採用される事故につながります。
確認ポイント:モデルレビューでは、候補の並び順が凡例(1=ベース等)と一致しているか、後から入れ替えた際に数式内の順序を直し忘れていないかを確認します。
日本実務での扱い
日本のIBD・PEファンドのモデルテンプレートでは、シナリオ切替を「基準・強気・弱気」や「ベース・アップサイド・ダウンサイド」といった日本語ラベルとともに実装するのが一般的です。会社によってはCHOOSE関数を標準として採用する一方、候補の値が数式内に直接書き込まれ一覧性が低いという理由から、表とINDEX関数の組み合わせを標準とする会社もあります。どちらを採用するかは各社のモデリングスタイルガイドに依存するため、初めて参画する案件では既存モデルの流儀に合わせるのが基本です。
面接・モデルテストで問われるポイント
Q:3ケースのシナリオ切替をCHOOSE関数で実装する数式を書いてください。また、4ケース目を追加する際の弱点を説明してください。
「切替セルをC3として、=CHOOSE(C3,ベース値,強気値,弱気値)のように候補を並べます。4ケース目を追加する場合、この数式自体に4つ目の候補を追記する必要があり、同じ数式が使われているすべてのセルを一括で修正しなければなりません。候補が縦に並んだ表を用意しINDEX関数で選ぶ方式であれば、表に行を1つ追加するだけで済み、修正漏れのリスクが小さくなります。」
深掘りでは、CHOOSE関数とINDEX関数のどちらを標準とするかの判断基準、ケース番号の入力規則との組み合わせ方が問われます。
よくある質問(FAQ)
Q. CHOOSE関数とIF関数はどう使い分けますか?
A. 条件が2択(YESかNOか)の場合はIF関数の方がシンプルです。3つ以上の離散的な選択肢を、あらかじめ決めた番号で切り替えたい場合はCHOOSE関数が向いています。
Q. CHOOSE関数の候補にセル範囲や配列を含めることはできますか?
A. できます。候補として単一の数値・文字列だけでなく、セル参照や配列を指定することも可能です。この性質を使えば、インデックス番号に応じて行・列全体を切り替える数式も組めます。
出典・参考(2026-07-21確認)
- Microsoft サポート(CHOOSE関数のリファレンス、引数と戻り値の仕様) https://support.microsoft.com/
- ICAEW「Twenty principles for good spreadsheet practice」(シナリオ切替セルの設計指針) https://www.icaew.com/
※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための架空数値です。