エクセル関数 同順位を別名前で抽出する方法
エクセル2003を使用しています。
【表1】は別表から重複外のみを抽出。
【表2】は【表1】から順位付けの為、抽出。
【表2】から【表3-2】のようにTOP10を自動抽出したいのですが、
同順位があると【表3-1】のようになり項目名がうまく表示されません。
【表3-1】に於いては、重み付けし試みたのですが、うまく表示されませんでした。
どのようにしたら需要家No.と項目名が別名にて表示されるのでしょうか。
御教授願います。
【表1】
J K L M
4 需要家NO 需要家名 総台数 基本料金総額
5 15027 (株)AAA 1 \25,200
6 15256 (株)BBB 1 \28,000
7 20604 (株)CCC 1 \23,800
8 20609 DDD(株) 1 \23,800
〈以下にデータ有〉
セルL…=COUNTIF($D$5:$D$81,J5) →別表から
セルM…=SUMIF($D$5:$D$81,J5,$H$5:$H$81) →別表から
【表2】
P Q R
4 順位 需要家NO 需要家名
5 16 15027 (株)AAA
6 1 26492 EEE(株)
7 7 26500 FFF(株)
8 4 28267 (株)GGG
9 7 26535 (株)HHH
10 16 26697 (株)JJJ
11 1 41301 (株)KKK
12 1 42897 LLL(株)
(以下にデータ有)
セルP…==RANK(L5,$L$5:$L$1000) →表1から
【表3-1】
T U V W
4 順位 需要家NO 需要家名 重み付け
5 1 26492 EEE(株) 1.005
6 1 26492 EEE(株) 1.006
7 1 26492 EEE(株) 1.007
8 4 28267 (株)GGG 1.008
9 5 22763 (株)ZZZ 1.009
10 5 22763 (株)ZZZ 1.01
11 7 25628 (株)YYY 1.011
12 7 25628 (株)YYY 1.012
(以下にデータ有)
セルT=RANK(LARGE($L$5:$L$1000,ROW(C1)),$L$5:$L$1000) →表2から
セルU=VLOOKUP(T5,$P$5:$Q$53,2,FALSE) →表2から
セルV=VLOOKUP(T5,$P$5:$R$53,3,FALSE) →表2から
セルW=RANK(P5,$P$5:$P$1000)+ROW()/1000 →表2から
【表3-1】を以下【表3-2_10位まで抽出】のようにしたい
【表3-2】
T U V
4 順位 需要家NO 需要家名
5 1 26492 EEE(株)
6 1 41301 (株)KKK
7 1 42897 LLL(株)
8 4 28267 (株)GGG
9 5 22763 (株)ZZZ
10 5 30446 (株)aa
11 7 25628 (株)YYY
12 7 26426 OOO(株)
13 7 26500 FFF(株)
14 7 26535 (株)HHH
また、基本的には1位から10位まで枠があればいいのですが、同順位の場合、以下【表3-3】のように自動でセルを増やし、抽出するにはどのようにしたら宜しいでしょうか。
【表3-3】
T U V
4 順位 需要家NO 需要家名
5 1 26492 EEE(株)
6 1 41301 (株)KKK
7 1 42897 LLL(株)
8 4 28267 (株)GGG
9 5 22763 (株)ZZZ
10 5 30446 (株)aa
11 7 25628 (株)YYY
12 7 26426 OOO(株)
13 7 26500 FFF(株)
【同順位分自動で下記行を増やしたい】
14 7 26535 (株)HHH
15 7 27264 ddd(株)
16 7 27818 (株)SSS
17 7 28134 WWW(株)
18 7 30520 (株)UUU
19 7 30531 TTT(株)
以上、宜しくお願い致します。
お礼
どうも有難うございました。電車編成表を買ったはいいのですが、記号の意味がわからず困っておりました。