こんにちは、とりっぷぼうるです。
元々エクセルとは全く縁のない生活をしていましたが、人員不足などで少しでもデータ入力作業や集計作業を効率化するしか方法が無く、仕方がなくエクセルに取り組み始まました。

作業効率化にはユーザーフォームを使いますが、様々な計算などはエクセル関数が必須です。
エクセル関数を使うことができないと、VBAどころじゃありませんし、成績表も作る事ができないのです。
当然ながらエクセルの専門知識もなく、学校に通うこともできずにただ単にエクセルの書籍とにらめっこしながら取り組んでいます。

でも書籍のままだと実用的でないことが多く、エクセル関数を組み合わせてみたら動いた!という実用例・体験談を書いています。
エクセル関数使用頻度トップ50以下のCHOOSE関数
仕事の作業効率化に絶対にマスターしておきたいエクセル関数といえば、「IF関数」という方が多いです。
私自身も同意見で、条件に応じて答えを振り分けたり複数の条件を組み合わせたりと、実際に使用頻度が高いエクセル関数です。
もし~が■または▲だったら○、そうでなかったら×なんてのも実際ありますし、エクセル関数の関連記事では一番読まれています。

IF関数では対応できないというより、対応したくない場合ありませんか?
実際にエクセルでデータ集計や検索をしている時に、このような事がありました。
もし男性だったら、女性だったら、従業員だったら、プロボウラーだったら
この上記の例はIF関数のページに書いてあるのでここでは省略しますが、もし~が4回も続けなくてはいけません。
たまたま、条件式が短いからいいですが、他の数式などが加わるととんでもなく長い数式になってしまいます。
検索条件のセルの値は決まっていて、検索結果が複数ある場合のエクセル関数と探してもCHOOSE関数にはたどり着きませんでした。
それもそのはず、検索方法も良くないですし、CHOOSE関数自体が一般的に使われていないのです。
覚えておきたいエクセル関数トップ10はもちろん、おススメ関数トップ20とか使用頻度の高いエクセル関数トップ50にも入っていないからでした。
リストから値を返すCHOOSE関数
エクセルの書籍などには、「インデックスを使用して、値引数のリストから値を返します」と書かれています。
こんなキーワードで検索できる人いるんですかね?
Officeサポートにはこのように書かれています。
CHOOSE 関数を使用すると、インデックス番号に基づいて最大 254 個の値から 1 つを選択することができます。たとえば、値 1 ~値 7 が曜日を表す場合、1 ~ 7 のいずれかの数値をインデックスとして使用すると、該当する曜日が返されます。
最初読んだ時はいまいち理解できませんでしたが、セルA1の値が「1」だったら日曜日、「2」だったら月曜日・・・「7」だったら土曜日って事と思っていました。
これを踏まえて、ボウリングのリーグ戦での成績表の選手登録に男性・女性の他に従業員やプロなどを加えて性別(種別)に応じて、振り分けることができるか試しました。
IF関数の数式をイメージで記載すると、下記のようになりますね。
これをCHOOSE関数で表記すると、
これだけスッキリします。
あんまり専門用語はよくわからないですが、ある特定のセルの数値が「1」の時は〇、「2」の時は×、「3」の時は△、「4」の時は□・・・と254まで可能という事です。
CHOOSE関数を理解したことにより、ある特定のセルの数値が「1」の時は、この表の中から条件に合う値を探して表示、「2」の時は、別の表の中から条件に合う値を探して表示・・・ということができるようになりました。
もちろんCHOOSE関数だけではなくてVLOOKUP関数を組み合わせた方法です。


Excel-VBAを使えば数分かかる作業がたったの1秒で終了しますよ!