2009年09月21日

得点に応じた賞品

【数式クイズ】 難易度:★★★☆☆
ゲームの得点に応じて、1等から5等までの賞品がもらえます。

10001点〜:1等
1001〜10000点:2等
101〜1000点:3等
11〜100点:4等
1〜10点:5等

ゲームのルール上、最低得点は1点、最高得点は20000点です。
(つまり、最低でも5等の賞品はもらえます。)

各等の賞品は、次のようになっています。

quiz07.jpg

D2セルに入力された得点に応じて、D5セルに獲得賞品を表示させます。
D5セルにはどのような数式を入力すればよいでしょうか?


【解答例】
=INDEX(B2:B6,6-LEN(D2-1))

得点から1を引くことで、5等なら1桁、4等なら2桁……のように、各等がすべて同じ桁数の範囲内に収まります。
数値の桁数はLOG10関数などで求められますが、確実に整数であることがわかっている場合はLEN関数のほうが簡単です。
求めた桁数に応じて、INDEX関数で賞品名を取り出します。

また、INDEX関数の代わりにLOOKUP関数と、A列に入力された数字を利用して、

=LOOKUP(6-LEN(D2-1),A2:B6)

のようにする手もあります。

実はこの問題は、もともとLOOKUP関数を使ったもっと複雑な数式の利用例として考えていたのですが、LEN関数を使えば簡単だということに気がつき、まあこっちでもいいかな、と。(^^;)
posted by 土屋和人 at 10:03| Comment(0) | TrackBack(0) | Excelクイズ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/32291369
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック