AIと戦って、あなたの人生のリスク診断 >>

このような条件から、条件に合致したものをあるセルに返したい場合、どのような関数を使うと一番簡単にできるでしょうか?

例)条件1 売上額の範囲
     (1000円~10000円、10001円~20000円)
条件2 遅刻回数
    0~1回
    2~5回

たとえば、売上額が10000円で、遅刻回数が1回なら評価S、
     売上額が10000円で、遅刻回数が2回なら評価A
     売上額が20000円で、遅刻回数が2回なら評価B

などとしたいのですが、このような場合の関数の作り方を教えてください。よろしく願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

B2=売上額、C2=遅刻回数として



遅刻回数/売上額
______0__1000__10001__20001
0_____A_____S_____SS____SSS
2_____A_____A______B______C
5_____A_____A______A______B
のような表を作成上記がAA1:AE4の範囲なら
D2=INDEX($AB$2:$AE$4,MATCH(C2,$AA$2:$AA$4,1),MATCH(B2,$AB$1:$AE$1,1))
または
D2=VLOOKUP(C2,$AA$2:$AE$4,MATCH(B2,$AB$1:$AE$1,1),TRUE)
または
D2=HLOOKUP(B2,$AB$1:$AE$4,MATCH(C2,$AA$2:$AA$4,1),TRUE)
    • good
    • 0
この回答へのお礼

ありがとうございます。やってみます。

お礼日時:2007/06/21 16:39

一発でという関数は無いと思います。


ーーーー
無理して関数をネストせずに書いて見ます。
そこで、2列のワーク列とVLOOKUP表を2つ、INDEX用の基準表をやむを得ず使います。
(1)条件1で判別されるデータの入っている列に対し、VLOOKUP関数(TRUE型)でランク記号化します
(2)条件2を適用する列に対し、VLOOKUP関数(TRUE型)でランク記号化します
(3)(1)(2)の記号組み合わせ表(2次元表)に対し、行列でINDEX関数で表を引き、最終的に評価の記号を得ます
ーーー
VLOOKUPの表(2つ)の例は
G列  H   I    J
0A0X
1000B1Y
10000C3Z
20000D5U
100000E7V
10W
G列とH列は売上額ランク化記号用
I,Jは遅刻回数ランク化用の表の例。
ーーー
A-D列のデータ例と結果は(A、Cは入力列、B、Dは後述の関数により導出)
A列  B    C   D
12A0X
2345B3Z
11000C5U
20023D2Y
199999D8V
1000B11W
10000C6U
0A0X
A列は売上データ、C列は遅刻回数のデータの例
B列の関数 
B1に
=VLOOKUP(A1,$G$1:$H$4,2,TRUE) を入れてそれを縦方向に式を複写
D列の関数 
D1に
=VLOOKUP(C1,$I$1:$J$7,2,TRUE) を入れてそれを縦方向に式を複写
ーーー
INDEXの(基準に使う)表
最終の評価記号(私の例では、数字コードにしていること、全部違う
数字コードを割り当てているが、同じ数字コードが出るマスがあっても良い。むしろ普通ではあるでしょう。)実際問題にあわせ、実情で表を作ってください。
L1:Q6
XYZUVW
A123456
B789101112
C131415161718
D192021222324
E252627282930
売上Aランク、遅刻Zランクは9を与えるという表の例。
ーーーー
最終評価を出す列
E1セルの式
=INDEX($L$2:$Q5,MATCH(B1,$K$2:$K$5,0),MATCH(D1,$L$1:$Q$1,0))
E2以下に縦方向に式を複写。
結果E1:E8
1
9
16
20
23
12
16
1
    • good
    • 0
この回答へのお礼

ありがとうございます。がんばってやってみます。

お礼日時:2007/06/21 16:38

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


人気Q&Aランキング