番号で選択肢を切り替えたいCHOOSE関数-GSS/Excel/関数

番号で選択肢を切り替えたいCHOOSE関数-GSS/Excel/関数

数値に応じて異なる値を返したい、複数の選択肢から1つを選んで表示したいことってありますよね。成績評価や曜日表示、四半期判定など、番号や順序に応じて結果を変えたい場面は意外と多いものです。 今回はCHOOSE関数をご紹介します。IF関数の連続使用より簡潔で分かりやすく書けるので、ぜひマスターしましょう!早速やっていきましょう。
学生ID 成績番号 評価
A001 1
A002 3
A003 2

上の表のような成績番号から評価への変換で、CHOOSE関数が威力を発揮します。

構文

=CHOOSE(インデックス番号, 値1, 値2, 値3, ...)
  • インデックス番号:どの値を選ぶかを指定する番号(1から始まる)
  • 値1, 値2, 値3...:選択肢となる値やセル参照

インデックス番号が1なら値1、2なら値2、3なら値3...という具合に対応します。

基本的な使用例(仮)

1シンプルな例

=CHOOSE(2, "月曜日", "火曜日", "水曜日", "木曜日", "金曜日")

結果:火曜日

インデックス番号が2なので、2番目の値「火曜日」が返されます。

2セル参照を使った例

A B C
月番号 3
四半期 =CHOOSE(B1,"Q1","Q1","Q1","Q2","Q2","Q2","Q3","Q3","Q3","Q4","Q4","Q4") Q1

3月(月番号3)なので、3番目の値「Q1」が返されます。

ただし、これも最適解ではありません。なぜかというと、セル参照が固定されていないからです。

実践的な活用例

1成績評価システム

A B C
学生名 成績番号 評価
田中 1 =CHOOSE(B2,"優","秀","良","可","不可")
佐藤 3 =CHOOSE(B3,"優","秀","良","可","不可")
鈴木 2 =CHOOSE(B4,"優","秀","良","可","不可")

複数のセルに同じような関数をコピーするとき、セル参照が自動的に調整されるよう絶対参照と相対参照を適切に使い分けることが重要です。

絶対参照と相対参照の使い分け

改良版の成績評価システム

A B C D E
評価設定
学生名 成績番号 評価
田中 1 =CHOOSE(B3,$B$1,$C$1,$D$1,$E$1)

この方法なら、評価設定を変更したときに全ての結果が自動更新されます。

重要なポイント
  • インデックス番号は1から始まります(0ではありません)
  • インデックス番号が選択肢の数を超えるとエラーになります
  • 小数点のインデックス番号は整数部分のみが使用されます

他の関数との組み合わせ

WEEKDAY関数との組み合わせ

=CHOOSE(WEEKDAY(TODAY()),"日","月","火","水","木","金","土")

今日の曜日を漢字で表示します。

MONTH関数との組み合わせ

=CHOOSE(MONTH(A1),"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月")

日付から月名を日本語で表示します。

IF関数の連続使用
=IF(B1=1,"優",IF(B1=2,"秀",IF(B1=3,"良",IF(B1=4,"可","不可"))))
CHOOSE関数
=CHOOSE(B1,"優","秀","良","可","不可")

CHOOSE関数を使うことで、複雑なIF文の連続を避けることができ、可読性が大幅に向上します。

注意点とエラー対策

よくあるエラーと対策
  • #VALUE! エラー:インデックス番号が選択肢の数を超えている場合
  • #VALUE! エラー:インデックス番号が1未満の場合
  • #NAME? エラー:構文に誤りがある場合

エラー対策の例:

=IFERROR(CHOOSE(B1,"優","秀","良","可","不可"), "範囲外")

さらに安全な方法:

=IF(AND(B1>=1,B1<=5),CHOOSE(B1,"優","秀","良","可","不可"),"範囲外")

まとめ

  • CHOOSE関数の使い所:番号に応じて異なる値を返したいとき
  • 構文:=CHOOSE(インデックス番号, 値1, 値2, 値3, ...)
  • 例文:=CHOOSE(B1,"優","秀","良","可","不可")
  • メリット:IF関数の連続使用より簡潔で読みやすい
  • 活用場面:成績評価、曜日表示、四半期判定、ランク分けなど
  • 注意点:インデックス番号は1から始まり、範囲外はエラーになる

CHOOSE関数をマスターすることで、条件分岐の処理が格段にスッキリします。特に選択肢が多い場合は、IF関数の連続よりもはるかに管理しやすくなります。ぜひ実際のデータで試してみてくださいね!

コメントを残す