アプリ版:「スタンプのみでお礼する」機能のリリースについて

自分なりにしらべたのですがどうしても難しくて
ご教授お願いします。
当方をHLOOKUPやINDEX+MATCH 関数などは使えるつもりくらいのレベルです
マクロなどは使用なしでお願いします。

画像みてもらって質問はF3:F5になります
現在は関数ではなくて手打ちで入れてますがそれを自働入力したいです。
獲得率が20%、40%、60%。80%、100%で EDCBAの評価
解約率が30%を超えたら ワンランクダウン (獲得率がB評価の人はC評価までおちる)
さらに80%超えたら 2ランクダウン(獲得率がB評価の人はD評価)
C5には HLOOKUP(B5,I2:M3,2)をいれて獲得率におうじて評価を変更することができましたが
解約によるランクダウンがわかりません。
どなたか私にご教授ください

「エクセルで獲得率で評価を判断して解約率で」の質問画像

A 回答 (3件)

NO.2の回答を修正します。


Hypnomaticさんの読図を参考に考えた場合、エクセルの表の一部を変えたらどうなのかなと思いました。
参照するテーブルを変更した図を添付します。
「エクセルで獲得率で評価を判断して解約率で」の回答画像3
    • good
    • 1

もとの画像が読み取れないのですが、Hypnomaticさんの読図を参考に考えた場合、エクセルの表の一部を変えたらどうなのかなと思いました。


参照するテーブルを変更した図を添付します。

結果として使った式は
C列 HLOOKUP(B★,I$2:N$3,2,TRUE)
E列 HLOOKUP(D★,I$5:K$6,2,TRUE)
F列 CHAR( CODE(C★)+HLOOKUP(D★,I$5:L$7,3))
「エクセルで獲得率で評価を判断して解約率で」の回答画像2
    • good
    • 1

できれば、表を書き直した方が式も単純で、後から修正も楽になるかと思いますが、とりあえず質問されているものに対しての回答になります。



また、添付画像が小さくて正しく読み取れないのと、質問にもいくつか不明点がありますので、以下の前提とします

・A列は人物の名前(評価されるもの)
・B列は獲得率(手動入力)
・C列は評価(関数による自動入力)
・D列は解約率(手動入力)
・E列は解約率によるダウン(関数による自動入力)
・F列は獲得率と解約率を考慮した総合評価(関数による自動入力)

※質問の解約率の表の下には「○ランクダウン」と文字で記載されていますが、関数式を作成するにあたって、より煩雑になってしまうので、今回は「2ランクダウン→-2」、「1ランクダウン→-1」と入力することにします


では本題です。
使う関数はIF、ISERROR、INDEX、MATCH、VLOOKUP関数になります。

1.Index関数
INDEX(範囲,行番号,列番号)

範囲=I3:M3
(獲得率の表の評価文字:ABCDEの範囲を指定)
行番号=1
(ABCDEの1行しかないので、行番号は1)
列番号
(後述のMatch関数とHLOOKUP関数を用いて指定します。すなわち獲得率による評価文字をMatch関数から探し、解約率による評価の減少数をHLOOKUP関数にて探します)

2.Match関数
MATCH(検査値,検査範囲,照合の型)

検査値=C3
(1番目の人物の獲得率に対する評価文字を指定)
検査範囲=I3:M3
(獲得率の表から、検査値の文字を探します)
照合の型=0
(検査値が文字なので指定しなくてもいいですが、0で完全一致)

3.HLOOKUP関数
HLOOKUP(検索値,範囲,行番号,検索の型)

検査値=D3
(手動入力した解約率を指定)
範囲=I5:J6
(解約率の表を指定)
行番号=2
(解約率によってさがるランクの表を指定)
検査の型=1
(検査値(解約率)以下の最大の値を検索)

4.ISERROR関数
ISERROR(テスト対象)

テスト対象がエラーの時に真(True)、エラーではないときに偽(False)を返します

例えば、獲得率でEランクを取り、解約率で1ランクor2ランクダウンを受けた時、Eランク未満はありませんからエラーになりますので、その判定に用います

5.IF関数
IF(論理式,真の場合,偽の場合)

理論式=ISERROR関数の結果を受け取り真の場合(E評価未満となった場合)、偽の場合(E評価以上の場合)に分けます

真の場合=”E"
※すなわち、総合評価がE未満だった時、上記の理論式はISERROR関数の結果を受けて、”真”になるので、評価はEを指定します

偽の場合=理論式に用いたのと同じ数式を入れます
E評価未満とはならない場合の評価を返します。すなわちIndex、Match、Hlookup関数から得た評価文字です




最終的に、1人目の総合評価(F3セル)に入る式は以下になります。
=IF(ISERROR(INDEX($I$3:$M$3,1,MATCH(C3,$I$3:$M$3,0)+HLOOKUP(D3,$I$5:$J$6,2,1)))=TRUE,"E",INDEX($I$3:$M$3,1,MATCH(C3,$I$3:$M$3,0)+HLOOKUP(D3,$I$5:$J$6,2,1)))
    • good
    • 0

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