dポイントプレゼントキャンペーン実施中!

添付図のようなランク表が有って、G3に得点を入力すると隣のセルに表にあったランクが表示されるようにしたいのですが。
例えば得点セルに13.5と入力したらH3に「C」が表示されるようにしたいのです。

単純にIF関数だとこれ以上の大きな表には不向きなので、何か大きな表でも融通の利く方法は無いかと考えたのですがやはり最終的には各ランクの得点を列記するIF関数しか思いつかず。

「エクセルで得点に対応する文字を求める」の質問画像

A 回答 (3件)

CSE 数式にすれば IF 関数でも求められます。


{=CONCAT(IF((C3:C12<=E6)*(E6<=D3:D12),D6:D10,""))}

入力方法が特殊になるので、そこだけはご注意ください
参考)
https://support.microsoft.com/ja-jp/office/%E9%8 …

別案として VLOOKUP や INDEX/MATCH が使えます

条件を簡略化すれば
=VLOOKUP(G3,C3:E12,3,1)

厳密に判断するなら
=VLOOKUP(SUMPRODUCT(C3:C12,C3:C12<=E6,E6<=D3:D12),C3:E12,3,0)
=INDEX(E3:E12,MATCH(SUMPRODUCT(C3:C12,C3:C12<=E6,E6<=D3:D12),C3:C12,0))

参考)
https://support.microsoft.com/ja-jp/office/vlook …
    • good
    • 0
この回答へのお礼

やってみました。
アレマッ!!
VLOOKUPは良く使う関数なのですが、こういう風に使えるとは知りませでした。また範囲の右未満であることも参考になります。

最初はIF関数、その次にVLOOKUP関数を考えたのですが結局
=IF(G3が〇<で<〇なら、A)・・・みたいになって
総当たりの式しか思いつかず質問させて頂いたのですが、こんな使い方は目から鱗!!

=INDEX+MATCH関数は式が長くなるので私の場合は毎回それなりの試行錯誤が必要だし、と言うことであっさりお知恵拝借となりました。

早々の一発回答ありがとうございました。

お礼日時:2023/05/31 14:36

添付画像をご覧ください。

H3セルに

=IF(G3="","",VLOOKUP(G3,C:E,3))

という数式を記述しています。

但し、前提条件として、得点は0.1点刻みで小数点2位以下の発生するケースはないものとし、50点を超える得点もないものとします。

以下は余談です。
ご質問のケースでは各範囲の最大値以下を当該ランクとするという条件です。数学的にいえば、「~以上~以下」という表現では区切りの数値が重複するか、不連続になるという問題が発生するので好ましくありません。

実務の世界では人為的に付与された値を集計する場合、結果の桁数が不定ということはあり得ない訳ですが、科学的な計測では小数点以下の桁数は計測精度によって異なる場合もあります。

従って区分範囲を表す場合は、その数値を含むか含まないかという数式をそのまま表現する方法、つまりAを含まない場合「数値>A」なら「A超」、「数値<A」なら「A未満」、Aを含む場合「数値>=A」なら「A以上」、「数値<=A」なら「A以下」という表現が好ましいことになります。

ご質問者が掲出された表は「5.1以上10以下」「10.1以上15以下」・・・という造りになっていますが、5.0超5.1未満の範囲や10.0超10.1未満の範囲は表から漏れていることになります。これを「5超10以下」「10超15以下」とすれば連続した範囲になり漏れがなくなります。
前述のとおり、得点をランク付けするわけですから、科学計測と異なり「そもそもその範囲の数値は存在しない」のだとは思いますが、EXCELは数式を扱うわけですから、「数式で表現する」ということを常に念頭に置いて考えると、このような不連続な範囲設定は避けるべきではないかと思いました。
「エクセルで得点に対応する文字を求める」の回答画像3
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

>「~以上~以下」という表現では区切りの数値が重複するか、不連続になるという問題が発生するので好ましくありません。

ハイ、実は数値は正の整数なので、~5、5.1~としてみました。

VLOOKUPが使えることが分かりました。

お礼日時:2023/06/02 07:54

添付図参照(Excel 2019)


 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓
「エクセルで得点に対応する文字を求める」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

#No1さんの回答でもVLLOKUPで出来る事をりました。
非常に参考になりました。

お礼日時:2023/06/02 07:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!