状況は添付のとおりです。
学生4名が例示してありますが、
1)「進路の第一希望」(◎がついているもの)の項目名を表示させたい。
2)選択授業の第一希望(1)・第二希望(2)をそれぞれ科目名(項目名)で表示させたい。
以上を別のシートで自動的に表示させるには、どのような関数を使えばいいでしょうか。ifとvlookupの組み合わせだととんでもない入れ子になってしまいますが、すっきりした方法はありますか。
登録直後でポイントがありませんので0ptで登録していますが、解決できましたら後日500ポイントほど進呈したいと思っています。よろしくご教示くださいませ。
INDEXとMATCH関数を使います。
元の表(緑)をSheet1としています。
1)進路の第一希望
=INDEX(Sheet1!D2:G2,1,MATCH("◎",INDIRECT("Sheet1!D"&MATCH(A2,Sheet1!A:A,0)&":G"&MATCH(A2,Sheet1!A:A,0)),0))
=INDEX(Sheet1!H2:K2,1,MATCH(1,INDIRECT("Sheet1!H"&MATCH(A2,Sheet1!A:A,0)&":K"&MATCH(A2,Sheet1!A:A,0)),0))
=INDEX(Sheet1!H2:K2,1,MATCH(2,INDIRECT("Sheet1!H"&MATCH(A2,Sheet1!A:A,0)&":K"&MATCH(A2,Sheet1!A:A,0)),0))
ありがとうございます!
2016/06/14 16:48:08ひとまず貼りつけてみた範囲では、微修正できちんと動作しました。
INDEX、MATCH、INDIRECTを理解して、応用してみたいと思います。
INDEXで指定する範囲の中から、”◎”や”1””2”と一致する(MATCH)セルを返しています。
ここでA2にある生徒番号と一致する行を探して、
ここで◎のある列を探しています。
INDIRECTでは上記のMATCHを補佐していますが、関数の機能としては文字列である”A1”なんかを引数として扱えるようにするための関数です。 2016/06/14 17:14:24