- ベストアンサー
エクセルで これはif関数でいいいのでしょうか?
超初心者です。 ロールプレイングゲームの経験値表のようなものを作っているのですが、数字を入れるだけでレベルが出る様にしたいと思っています。 レベルが1上るのに、前のレベルの必要経験値+50必要だとして、 それをエクセルの表に1時間ごとチェックしていきたいのです。 つまり、A列を現在の経験値、B列をレベルとして、 A1=0 B1=0 A2=50 B2=1 (純増:50) A3=150 B3=2 (純増:前のレベル必要分50+50で100) A4=300 B4=3 (純増:前のレベル必要分100+50で150) A5=500 B5=4 (純増:前のレベル必要分150+50で200) ↑ここで、もしA5に490と入れたなら、B5は条件を満たしてないので『3』のまま出るようにしたいのです。 また、もし、A5にいきなり750といれたなら、B5は4を越えてしっかり次のレベル『5』と出て欲しいのです。 わかっていただけるでしょうか・・・ 初心者ながらこれはif関数だ!と思ったのですが、 どういう式が一番いいのでしょうか? os:Me excel2000 です。 急いでいないので、お時間のある方ご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VLOOK関数でできると思います。 SHEET2のA1からB21まで以下のテーブルを作っておきます。 A B 1 0 0 2 50 1 3 100 2 4 150 3 5 200 4 6 ・・・・ ・・・・・・ 21 1000 20 ↑ 行番号 SHEET1のB1セルに以下の関数を入力します。 =VLOOKUP(A1,Sheet2!$A$1:$B$21,2) 必要に応じて、B1の式を以下の行ににコピーしておきます A1に経験値をいれるとB1にレベルが出ます。
その他の回答 (1)
- esprei
- ベストアンサー率56% (718/1271)
もし、レベルに対する経験値の増加が一定ならば50で割れば良いかと思います。 =int(A1/50) これをB1に入れて下にコピーして下さい。 intは割った時の小数を切り捨ててくれます。
お礼
すいません、質問文をもっと正確に書き直して見ます。 ありがとうございました。
補足
いや、増加分が変わるから悩んでいるんです。 A列には気が向いた時に今現在の経験値の値を入れるので、前からいくら増えてるとか、次はいつレベルが上るか等は要らず、その時の経験値を入れるとその場合のレベルが出るような表を作りたいのです。 私、難しく考えすぎているのでしょうか・・・
お礼
もう一度質問を書き直してみます。 ありがとうございました!