• ベストアンサー

【Excel数式】5段階を3段階へ置き換えたい

5段階評価されている数値(ただし、2.4、3.8といった端数の数値も存在します)を、3段階の数値に置き換えたい場合の方法が分からず困っています。 (例)5→3へ、3→2へ、1→1へ その間の端数は3~1の適した端数へ置き換えたい。 n進法→n進法等で検索してみたのですが該当する数式が見つけられませんでした。 どなたかご存知でしたらぜひ教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

最初の回答でも確認しましたが, >A1に1から5までがあるとすると これは1から始まって1.2や2.0,4.9や5.0まであるけど,ゼロや0.2,5.3とかは無い,という前提です。いいですね? 1~5を1~3に振り分ける: =(A1-1)/(5-1)*(3-1)+1 1から5まで,あいだの幅が4あるところから,1から3までの2の幅に比例配置します。 A1にあるa~bを,c~dに振り分ける: =(A1-a)/(b-a)*(d-c)+c です。 aやcは,必ずしも「1から」とは限らない評点も可能ですね。

natsukoso
質問者

お礼

keithin様 数度にわたりありがとうございます。 最初の前提条件は、そのとおりです。 「間の幅が4ある」というところに着目するところからなんですね。 すごくよく分かり、スッキリしました。 ありがとうございます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

>応用できるようになっておきたいのですが、例えばn段階の評価をm段階へ置き換える場合 気分的には「置き換える」、かもしれないが、計算のしなおし(関数式の再設定)だろう。 VLOOKUP関数のTRUE型を勉強して、区分(区画)の境界の値は自分で別途計算しなおして、 変換表を作り直せば、新しい区分に対応するコードなりを、返せるよ。 1を3区分するなら $E$1:$f$3に 0 1 0.34 2 0.67 3 のような対応表を作っておいて =VLOOKUP(A1,$E$1:$F$3,2,TRUE) の式で0.33までは1、0.66までは2、それ以上は3になる。こういうので良いのかな。

natsukoso
質問者

お礼

imogasi様 VLOOLUPは仕事で頻繁に使う数式なので、教えていただいた方法は違和感なくすっと入ってきました。 変換表を作っておくというのも一つの方法だったんですね。 全く思い浮かびませんでした・・・。 今回の質問で、アプローチの仕方はいろいろあることを実感しました。 ありがとうございました。

回答No.3

ちょっと修正 引く場所間違った m(_ _)m y=(m-1)/(n-1)x-(m-1)/(n-1)+1 つまり y=(m-1)/(n-1)(x-1)+1

natsukoso
質問者

お礼

CoalTar様 丁寧なご回答本当にありがとうございます。 久しぶりに数学の式を見て、理解までにしばらく時間がかかりました・・・(^^; もともと算数・数学が苦手な私にとって、このようにさっと考えられるみなさんは尊敬の的です。 ありがとうございました。

回答No.2

>今後、応用できるようになっておきたいのですが、例えばn段階の評価をm段階へ置き換える場合、 >どのように考えればよろしいのでしょうか? 中学数学の直線の傾きを考える。 x = 1~n段階の評価 y = 1~m段階の評価 として xの値をyに換算します。変化は比例するので、直線y=ax+bを考えます              既知1 既知2 例 x = 1~n段階の評価  1  n  n=5 y = 1~m段階の評価  1  m  m=3 直線の傾きはyの増加分/xの増加分 よって、傾きaは (m-1)/(n-1) あとは既知1をxに代入して 1=(m-1)/(n-1)*1+b b=-(m-1)/(n-1)+1 代入して y=(m-1)/(n-1)x-(m-1)/(n-1)+1 つまり y=((m-1)/(n-1)-1)x+1 直感的に考える。(0~100%がキーワードかもしれない) 1から始まっているので1引く 変化はn-1分なのでn-1で割って、0~100%換算し、 m-1を掛けて0~m-1までに換算し、 +1して 1~mに換算される。 (X-1)/(n-1)*(m-1)+1 # ベストアンサーはkeithinさんへ

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

A1に1から5までがあるとすると B1は =(A1-1)/4*2+1 といった具合に。 端数が気に入らないときは =ROUND((A1-1)/4*2+1,1) といった具合でも。

natsukoso
質問者

お礼

keithin様 早速回答いただきありがとうございます。大変助かりました。 端数は端数として残したいので、上の計算式を活用させていただきます。 今後、応用できるようになっておきたいのですが、例えばn段階の評価をm段階へ置き換える場合、 どのように考えればよろしいのでしょうか? お礼で再度質問を重ねてしまい、大変申し訳ありませんが もしよろしければお願いいたします。

関連するQ&A