• ベストアンサー

エクセルで特定文字列の抽出

例えば、個人名で A1「掛布、岡田、バース」 A2「宇野、谷沢、大島」 A3「原、中畑、イチロー」 A4「衣笠、山本浩二、八重樫」 等あるととします。 その時、所属名 B1「阪神、阪神、阪神」 B2「中日、中日、中日」 B3「巨人、巨人」 B4「広島、広島、ヤクルト」 のようにして取り出したいです。 予めどの名前が、どこに所属するかは決まっています。 所属先がない場合は空欄のままにしたいです。 こういったことはできますでしょうか? 教えて下さい。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VLOOKUP関数(FALSE型)は有名で、その関数そのものズバリの使い方で出来るのでは。 ただしA1セルにこの質問の課題を解決するための、値が 複数個入っているのが難。 データ区切り位置で複数セルに分離するか ユーザー関数で、第何番目を取れるようにするか VBAでSplitして、VLOOKUP関数を使うか などを使う。 ーー 上記第1の方法でやってみる 例データ(セルに分離後の説明) A1:C3 掛布 岡田 バース 宇野 谷沢 大島 原 中畑 ーー 検索表 I1:j8 掛布 阪神 岡田 阪神 バース 阪神 宇野 中日 谷沢 中日 大島 中日 原 巨人 中畑 巨人 ーー E1に =IF(A1="","",VLOOKUP(A1,$I$1:$J$100,2,FALSE)) といれH1まで式を複写 E1:H1を下方向に式を複写。 結果 阪神 阪神 阪神 中日 中日 中日 巨人 巨人 見つからない場合も考慮すると、ISERRORを使って式を組み立てるが、今回は略。 「ISERROR VLOOKUP」でWEB照会すれば、解説がでる。

ha-chansan
質問者

お礼

ありがとうございます。 おっしゃる通りできました。 見つからない場合のISERR ORというのが 理解できませんでしたが、なんとか解決できました。

その他の回答 (1)

  • naoja
  • ベストアンサー率9% (2/21)
回答No.1

まずは参考意見です。 A1「掛布、岡田、バース」 となっていますが、一つのセルに複数の文字列が含まれている状態では文字列操作が複雑になってしまうと思われます。 そこで、この文字列を分解してしまうと如何でしょう? A1 「掛布」 B1 「岡田」 C1 「バース」 その上で、INDEX関数などを利用して文字列に対応する別の文字列を引き出すと上手くできるように思いますが・・・

ha-chansan
質問者

お礼

ありがとうございます。 できあがりをひとつのセルとしたかったので 分解することは考えていませんでした。 INDEX関数はよくわかりませんでした。

関連するQ&A

専門家に質問してみよう