結構使えるCHOOSE関数

エクセルにもある関数ですが、OpenOfficeでもCHOOSE関数が使えます。
関数名:CHOOSE関数
書式:=CHOOSE(インデックス;値1;値2;値3;値4;.......)
何ができる:インデックスで指定された順番の値を返す
平たく書くと:=CHOOSE(1;"A";"B";"C";"D")でインデックスが1のときにA,2のとき、Bが返されます。

使い方の例CHOOSE関数の制限参考記事サンプルファイル ●ランク関数と連動させて表彰メダルを確定させる例

使い方の例

ほかの関数と組み合わせた例をいくつか紹介したいと思います。
送信者 OpenOffice
上の画像の1番は、A列の値がインデックスになり、それに対応する文字列が値としてB列に返されています。
=CHOOSE(A1;"いち";"にぃ";"さん";"よん";"ごお";"ろく";"なな";"はち")
これは、IF関数でも同じようなことができます。例えば、=IF(A1=1;"いち";IF(A1=2;"にい";IF(A1=3;"さん";IF(A1=4;"よん"))))
ご覧になっていただけるとお分かりいただけると思いますが、すごくシンプルに書くことができますね。

上の画像の2番は、D列に登場する名前の回数に対して、コメントがE列にCHOOSE関数によって返されています。
=CHOOSE(COUNTIF($D$2:D10;D10);"初めて";"二回目";"三回目だ";"よんかいめえ")
これは、COUNTIF関数によって、一行目の時点での登場回数、二行目の時点での登場回数・・・・を数えてその値をインデックスにして、E列にコメントを返しています。

上の画像の3番は、H列の得点に対して、コメントがG列にCHOOSE関数によって返されています。
=CHOOSE(RANK(H5;$H$2:$H$5);"トップ";"2番目";"後ろから2番目";"びり")
これは、RANK関数によって、H列の得点に基づいてランクを付けてその値をインデックスにして、G列にコメントを返しています。

2、3番のような何かの値に対してコメントを返すような例はVLOOKUP関数がよく用いられていて、例えば2番の場合、
=VLOOKUP(COUNTIF($A$2:A2;A2);$C$1:$D$4;2;0)と数式を作成することができますが、コメントをC1:D4のセルに表示されている表の2列目から返すということなので、C1:D4列に表を作らないといけないわけですね。CHOOSE関数ではこの表を作らなくてもいいのです。
さらに、3番では、コメントが評価対象の値が入力されている列の左側に表示されています。
これは、VLOOKUP関数ではできないことです。

上の画像の4番は、行の番号に対してK列にA,B,C.Dを返しています。
=CHOOSE(ROW(A4);"A";"B";"C";"D")

CHOOSE関数の制限

CHOOSE関数は、値を30個まで設定できるという制限があります。
さらに、インデックスに数値を設定しなければいけないことも使用の範囲を制限しています。
が、同様に、上に書いたようなメリットもあります。


と、ここまで書いてCHOOSE関数のエクセルでの使い方を探していたら、ご本家マイクロソフトのページに書いてあったのでそれを参考に例を作ってみました。

送信者 OpenOffice
これは、得点の合計を参照するセルの範囲をCHOOSE関数で指定してます。
=SUM(CHOOSE(F1;B3:B7;C3:C7;D3:D7))
F1のセルに入力された番号がインデックスになり、セルの範囲が値に設定されています。このために、F1の値を変えるだけで、簡単に合計の参照範囲を変えることができて、見たい合計を見ることができることになります。

参考:
OpenOfficeで期間内の土曜日の回数を求める
OpenOfficeでランクを付けて並べ替える
OpenOffice条件によって集計する SUMIF関数 COUNTIF関数
サンプルファイル
CHOOSE関数の使い方のサンプルファイルはcalc074.odsをダウンロードしてください。
なお、上のマイクロソフトのサイトを参考にさせていただいた例は、calc074.odsのsheet2に載せています。

最後になりましたが、マイクロソフト様には、OpenOfficeのファイル置き場としてSKYDRIVEを使わせてもらってることを感謝します。ありがとうございます。
また、エクセルの使い方を、OpenOffceの使い方に転用させてもらったりもしていること、寛大な心でお取り計らいのほど、よろしくお願いします。

2011年9月27日書き足し:
ランキングと連動して表彰のメダルを確定させるときにもCHOOSE関数が使えます。

送信者 OpenOffice
ランキングと表彰メダル連動のサンプルファイルは、calc081.odsをダウンロードしてください。