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項も埋めてやりたいのですが
うまくいかず質問させていただきました。
すぐに回答ほしいです
入力した学年の列を抜き出す作業行を用意し、その列に対して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))
これでどうでしょう？
しかしながら、もう少し判りやすい例にして頂きたい物です…。
F、G、H、X、Y、Zでは、列と混同しますし、説明文も書きにくいです。
あと、「学年Zにした場合は↓」と、ありますが、コレは学年Yの間違いですよね？
まず、見づらかった点お詫びします。最初から1年など名づければよかったと
反省しています。
本題の表ですが、やりたかったことがすべてでき感動しました。
なるほど、作業枠を作りCOLUMNで列指定すのですね…
勉強になりました。
それに、わざわざ画像も貼っていただきましてありがとうございました。
とてもわかりやすかったです。
このQ&Aは役に立ちましたか? 0人が「このQ&Aが役に立った」と投票しています