• 締切済み

エクセル 複数の列から共通の文字を抽出する

本を見たりネットで調べましたが全く同じものでは無かったため、うまく自分で解釈出来なかったので教えてください…。 以下のような表があるとします     A     B     C     D    1 会社名   担当   担当   担当 2 吉野家   吉田   金子   八木 3 松屋     金子   進藤   新庄   4 すき家   八木    吉田  高橋    これを人別に抽出したいのですが… 例えば… 吉田が担当の会社を抽出したい     A     B     C     D    1 会社名   担当   担当   担当 2 吉野家   吉田   金子   八木 3 すき家   八木    吉田  高橋  4 松屋     金子   進藤   新庄  こんな風に(>_<) 本当の表はもっと多いのですが…。 1つの列しか抽出できなくて B列だけ反映されて以下のような事になります…。     A     B     C     D 1 会社名   担当   担当   担当 2 吉野家   吉田   金子   八木 すみませんがよろしくお願い致します!

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

会社名が一意のリストになっているなら(会社名にダブりが無ければ、という意味です) =IF(ROW(A1)>COUNTIF(B:D,"吉田"),"",INDEX(A:A,SMALL(IF($B$1:$D$99="吉田",ROW($B$1:$D$99)),ROW(A1)))) と記入してコントロールキーとシフトキーを押しながらEnterで入力、以下コピー 他のデータは会社名からふつーにVLOOKUPして引っ張ってきてください。 会社名にダブりがあって会社名からだけではデータを引っ張れないなら =IF(ROW(A1)>COUNTIF(B:D,"吉田"),"",SMALL(IF($B$1:$D$99="吉田",ROW($B$1:$D$99)),ROW(A1))) と記入してコントロールキーとシフトキーを押しながらEnterで入力、以下コピー 実際のデータは =INDEX(A:A,上述で求めた数字) のようにして引っ張ってきてください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 >本当の表はもっと多いのですが…。 とありますので、やり方だけです。 (列が増えても方法は一緒です) 作業用の列を設けています。 G1セルに検索したい人を入力するとします。 作業列E2セルに =IF(COUNTIF(B2:D2,$G$1),ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 G3セルに =IF(COUNT($E:$E)<ROW(A1),"",INDEX(A:A,SMALL($E:$E,ROW(A1)))) という数式を入れ列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 参考になりますかね?m(_ _)m