- 締切済み
エクセル 複数の列から共通の文字を抽出する
本を見たりネットで調べましたが全く同じものでは無かったため、うまく自分で解釈出来なかったので教えてください…。 以下のような表があるとします A B C D 1 会社名 担当 担当 担当 2 吉野家 吉田 金子 八木 3 松屋 金子 進藤 新庄 4 すき家 八木 吉田 高橋 これを人別に抽出したいのですが… 例えば… 吉田が担当の会社を抽出したい A B C D 1 会社名 担当 担当 担当 2 吉野家 吉田 金子 八木 3 すき家 八木 吉田 高橋 4 松屋 金子 進藤 新庄 こんな風に(>_<) 本当の表はもっと多いのですが…。 1つの列しか抽出できなくて B列だけ反映されて以下のような事になります…。 A B C D 1 会社名 担当 担当 担当 2 吉野家 吉田 金子 八木 すみませんがよろしくお願い致します!
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
会社名が一意のリストになっているなら(会社名にダブりが無ければ、という意味です) =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)
こんばんは! 一例です。 >本当の表はもっと多いのですが…。 とありますので、やり方だけです。 (列が増えても方法は一緒です) 作業用の列を設けています。 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