こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel、LARGE関数と抽出

__F__G__H  範囲A1~D4にこのようなデータがあり各項目でまとめた表を
X_1__2__3 作りたいのですがうまくできなく質問させていただきます。
Y_6__5__4  1つのセルにA2からA4の値をいれ他の2項の上位を2つを検出
Z_7__9__8 したいと思っています。
 
 便宜上、上記の表が学校別、学年別の生徒数だとすると

学年○○校名○○生徒数○○
    校名○○生徒数○○
これに、学年Xを入力すると    学年Zにした場合は↓
学年X 校名H 生徒数3______学年Y 校名F 生徒数6
____校名G 生徒数2_________校名G 生徒数5
 
 このように1つの項で連動させ残り2項も埋めてやりたいのですが
うまくいかず質問させていただきました。

投稿日時 - 2009-02-12 10:02:50

QNo.4710481

すぐに回答ほしいです

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

入力した学年の列を抜き出す作業行を用意し、その列に対してLARGE関数を使います。
校名はその結果を対象にMATCH関数とINDEX関数の組み合わせで求められます。

学年入力欄をA7セルと仮定します。
8行目を作業行として使う場合、B8セルに↓の式をいれ、D8までコピーします。
=VLOOKUP($A$7,$A$2:$D$4,COLUMN(),FALSE)

これで、入力した学年のデータが表示されますので、B8:D8を対象にLARGE関数を使います。
B10セルに1位の値 =LARGE(B8:D8,1)
B11セルに2位の値 =LARGE(B8:D8,2)

校名は次の様になります、
A10セルに1位の校名 =INDEX(B1:D1,MATCH(B10,B8:D8))
A11セルに2位の校名 =INDEX(B1:D1,MATCH(B11,B8:D8))

これでどうでしょう?

しかしながら、もう少し判りやすい例にして頂きたい物です…。
F、G、H、X、Y、Zでは、列と混同しますし、説明文も書きにくいです。
あと、「学年Zにした場合は↓」と、ありますが、コレは学年Yの間違いですよね?

投稿日時 - 2009-02-12 11:20:57

お礼

まず、見づらかった点お詫びします。最初から1年など名づければよかったと
反省しています。
本題の表ですが、やりたかったことがすべてでき感動しました。
なるほど、作業枠を作りCOLUMNで列指定すのですね…
勉強になりました。
それに、わざわざ画像も貼っていただきましてありがとうございました。
とてもわかりやすかったです。

投稿日時 - 2009-02-12 20:39:06

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

学年X入力時に校名F、学年Y入力時に校名H、それぞれの生徒数は表示しないのですか?

表示する条件、表示されない条件がなにか別にあるのでしょうか?

無いのであればVLOOK関数で呼び出せばよいと思います。

投稿日時 - 2009-02-12 11:11:50

お礼

ありがとうございます。
学年を入力することで生徒数の上位2校の名とそれに合わせた生徒数を
出したかったのです。

投稿日時 - 2009-02-12 20:33:15

あなたにオススメの質問