人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelでの質問です。表内で○を付けたものの「項目名」を自動で表示させるにはどうすればいいでしょうか。

状況は添付のとおりです。
学生4名が例示してありますが、
1)「進路の第一希望」(◎がついているもの)の項目名を表示させたい。
2)選択授業の第一希望(1)・第二希望(2)をそれぞれ科目名(項目名)で表示させたい。
以上を別のシートで自動的に表示させるには、どのような関数を使えばいいでしょうか。ifとvlookupの組み合わせだととんでもない入れ子になってしまいますが、すっきりした方法はありますか。

登録直後でポイントがありませんので0ptで登録していますが、解決できましたら後日500ポイントほど進呈したいと思っています。よろしくご教示くださいませ。

1465783356
●拡大する

●質問者: skrk1969
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● たか
ベストアンサー

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))


2)選択授業の第一希望・第二希望
=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))


(絶対参照は省いています)


skrk1969さんのコメント
ありがとうございます! ひとまず貼りつけてみた範囲では、微修正できちんと動作しました。 INDEX、MATCH、INDIRECTを理解して、応用してみたいと思います。

たかさんのコメント
INDEXで指定する範囲の中から、”◎”や”1””2”と一致する(MATCH)セルを返しています。 <pre>MATCH(A2,Sheet1!A:A,0)</pre> ここでA2にある生徒番号と一致する行を探して、 <pre>MATCH("◎",</pre> ここで◎のある列を探しています。 INDIRECTでは上記のMATCHを補佐していますが、関数の機能としては文字列である”A1”なんかを引数として扱えるようにするための関数です。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ