回答編集履歴

1 誤記訂正

takito

takito score 3005

2017/09/15 19:12  投稿

なんらかのリストから別のリストを元に検索したい時、よく使われるのは`index`と`match`の組み合わせです
今回のケースではこんな感じに組み合わます
```
=INDEX($D$1:$D$11,MATCH(TRUE,INDEX(ISNUMBER(FIND($C$1:$C$11,$A1)),),0))
```
これをB1に入れて下方向へコピーします
ご提示のデータではD列に「医学」が2つあって重複しているので、医学研究科を「医研」などにした方がよいかも?
「無し」を表示したい場合を考えてみましたが、ちょっと思いつかないので強引なやりかたで、、、
```
=IF(ISNUMBER(MATCH(TRUE,INDEX(ISNUMBER(FIND($C$1:$C$11,$A5)),),0)),INDEX($D$1:$D$11,MATCH(TRUE,INDEX(ISNUMBER(FIND($C$1:$C$11,$A5)),),0)),$E$1)
=IF(ISNUMBER(MATCH(TRUE,INDEX(ISNUMBER(FIND($C$1:$C$11,$A1)),),0)),INDEX($D$1:$D$11,MATCH(TRUE,INDEX(ISNUMBER(FIND($C$1:$C$11,$A1)),),0)),$E$1)
```
E1セルに「無し」を入れておけば、これでとりあえず欲しい結果は出てます
もっとよい方法が他の方から出るかもしれませんがご参考まで

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る