-
Home »
-
エクセル関数一覧表 »
-
Excel関数の目次 »
-
CHOOSE関数の使い方
更新:2024/2/23;作成:2009/7/11
リストから指定した値を返す
チューズ
=CHOOSE(インデックス,値1,値2,値3・・・)
- 値のリストから指定したインデックスの値を取出します。
- インデックスに指定した番号に基づいて、最大 254 個の値の中から 1 つの値だけを選択できます。 なお、Excel2003までは29個です。
- インデックスが 1 の場合は値1 が返され、2 の場合は値2 が返されます。
- インデックスが 1 より小さいか、引数リストの値の個数よりも多い場合、エラー値 #VALUE! が返されます。
- インデックスに小数点以下の値が含まれていても、整数部分だけが計算に使われます。
- 値1,値2,... の引数には、数値、セル参照、名前、数式、関数、または文字列を指定できます。
- リストを作成する場合はLOOKUP関数やVLOOKUP関数が使えます。
わざわざリストを作成するまでもないようなときに利用できます。
- 【使用例1】
B列の値によって、「1です」「2です」・・・「4です」と表示します。
C2セル =CHOOSE(B2,1,2,3,4)&"です" としてC8までコピーします。
(2021/10/21 数式を書き換えました。=CHOOSE(B2,"1です","2です","3です","4です")はちょっと冗長でしたね(;^_^A )
- C5は「インデックスに小数点以下の値が含まれていても、整数部分だけが計算に使われます。」よって、3となります。
C7は「インデックス(5)が 引数リストの値の個数よりも多いため」エラーとなります。
C8は「インデックス(0)が 1 より小さいため」エラーとなります。
- 上記のエラーを表示しないようにするには
- =IF(OR(B2<1,B2>4),"",CHOOSE(B2,1,2,3,4)&"です")
- =IF(ISERROR(CHOOSE(B2,1,2,3,4)),"",CHOOSE(B2,1,2,3,4)&"です")
- =IFERROR(CHOOSE(B2,1,2,3,4)&"です","")
といった式が考えられます。
これらの関数の使い方は ISERROR関数 IF関数 IFERROR関数 をご覧ください。
エラーのセルが空欄「””」になりました。
問題1
- 消費税が軽減税率 8%と標準税率 10%が混在しているケースがあるとします。
課税されるものには8%の課税をします。下表の税額の列を埋めなさい。
|
B |
C |
D |
E |
2 |
商品番号 |
金額 |
税区分 |
消費税額 |
3 |
E151 |
15,000 |
軽減税率 |
1,200 |
4 |
G504 |
25,000 |
軽減税率 |
2,000 |
5 |
E153 |
18,000 |
標準税率 |
1,800 |
6 |
G507 |
35,400 |
軽減税率 |
2,832 |
7 |
G509 |
31,800 |
標準税率 |
3,180 |
問題1の解答例
- 軽減税率と標準税率の選択をMATCH関数で行ってみました。
MATCH(D3,{"軽減税率","標準税率"},0) として、D列が軽減税率の時は「1」、非課税の時は「2」が返されます。
- CHOOSE関数で「1」の時は8%、「2」の時は10%を返すようにしています。
金額に8%または10%を掛けることで税額を求めました。
=c3*CHOOSE(MATCH(D3,{"軽減税率","標準税率"},0),8%,10%)
- IF関数を使って書くと、
=C3*IF(D3="軽減税率",8%,IF(D3="標準税率",10%,""))
といった感じになります。
問題2
- 下表のような3パターン(1:上昇パターン、2:平坦パターン、3:下降パターン)を計算したいと考えました。
B9セルにパターンのNo1〜3を入力すると、D8セルの売上金額がどのように変化するのかをC9:F9セルに計算しなさい。
|
B |
C |
D |
E |
F |
2 |
No |
パターン |
今月 |
来月 |
再来月 |
3 |
1 |
上昇パターン |
100% |
120% |
130% |
4 |
2 |
平坦パターン |
100% |
100% |
100% |
5 |
3 |
下降パターン |
100% |
90% |
80% |
6 |
|
|
|
|
|
7 |
|
売上金額 |
1,500,000 |
|
|
8 |
No |
|
今月 |
来月 |
再来月 |
9 |
1 |
上昇パターン |
1,500,000 |
1,800,000 |
1,950,000 |
問題2の解答例
- C9セルに =CHOOSE(B9,C3,C4,C5) と入力します。
- D9セルには =$D$7*CHOOSE($B$9,D3,D4,D5) と入力して、右方向へ数式をコピーします。
- パターンが2,3の場合は下図のような結果が得られます。
問題3
- 適切な例ではありませんが、使い方の例として書いています。
実際に曜日を求めたいときには=TEXT(B2,"aaa") とすればよいです。
ここではあくまでもCHOOSE関数の使い方の例として書いています。
- C列に曜日を求めなさい。
-
|
B |
C |
2 |
2009/7/1 |
水 |
3 |
2009/7/2 |
木 |
4 |
2009/7/3 |
金 |
5 |
2009/7/4 |
土 |
6 |
2009/7/5 |
日 |
7 |
2009/7/6 |
月 |
8 |
2009/7/7 |
火 |
9 |
2009/7/8 |
水 |
問題3の解答例
- C2セルに =CHOOSE(WEEKDAY(B2),"日","月","火","水","木","金","土") として、下方向へコピーしています。
曜日を求めるのにWEEKDAY関数を利用し、その返り値から文字列の曜日を取り出しています。
問題4
- セル範囲を指定することもできます。
商品A〜Cの合計を求めなさい。
|
B |
C |
D |
E |
F |
G |
2 |
商品A |
商品B |
商品C |
|
商品A |
50,000 |
3 |
10,000 |
5,000 |
1,000 |
|
商品B |
25,000 |
4 |
10,000 |
5,000 |
1,000 |
|
商品C |
5,000 |
5 |
10,000 |
5,000 |
1,000 |
|
|
|
6 |
10,000 |
5,000 |
1,000 |
|
|
|
7 |
10,000 |
5,000 |
1,000 |
|
|
|
問題4の解答例
- 商品のデータ範囲をCHOOSE関数で取り出します。
- G2セルに=SUM(CHOOSE(MATCH(F2,$B$2:$D$2,0),$B$3:$B$7,$C$3:$C$7,$D$3:$D$7))と入力して下方向へコピーします。
- この数式の MATCH(F2,$B$2:$D$2,0) 部分を計算すると、↓のようになり、各セル範囲を指定することができます。
G2セル=SUM(CHOOSE(1,$B$3:$B$7,$C$3:$C$7,$D$3:$D$7))
G3セル=SUM(CHOOSE(2,$B$3:$B$7,$C$3:$C$7,$D$3:$D$7))
G4セル=SUM(CHOOSE(3,$B$3:$B$7,$C$3:$C$7,$D$3:$D$7))
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
CHOOSE関数の使い方
PageViewCounter
Since2006/2/27