• ベストアンサー

エクセル2010 一覧表から抽出したい

一覧表の中に複数の業者があり、それを別の表に1種類(1業者毎に)づつ表示する事はできますか? 言葉がわからないので抽出と書きました F列に自分で業者名を書いて合計を出すことはできますが、自分で書かなくても 自動で重複することなく並べたいです。 また、別シートにも同じように重複することなく並べたいと思っています 画像を添付しますので宜しくお願い致します 説明が下手ですいません

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>結果として表には「いいい」から始まりました。「あああ」からにするにはどうすれば良いでしょうか? すでに回答したようにINDEX関数の範囲をB:Bのように1行目から始まる数式($B$1:$B$41)にしないと、1つずれたデータが抽出されます。 実戦的には今後のデータ追加分を見込んで$B$2:$B$100のように少し大きめの範囲(必要以上に範囲を大きくしないこと)を指定するとよいと思います。 >また、私が作った例は「あああ」~「おおお」の5種類ですが、仮に7種類分行を作ったら 残り2行は#REFとなります。5種類だったら残りは空白としたい場合はどうすれば良いでしょうか? 私の提示した数式で、問題なくデータの種類の数だけ表示されるはずです。 >同じ結果を別のシートに表示する場合は(B2:B41)を(違うシートB2:B41)とすれば良いでしょうか? その通りです。

taku-_-0512
質問者

お礼

できました! 最初のB:BをB2:B41にしてしまったのがミスでした>< とても助かりました。ありがとうございました^^

その他の回答 (2)

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

[ピボットテーブルレポート]という手法を使えば、一発です。 数式なんて一切使いません! 結果だけを示しておくので、ご自分で勉強なさってぇ~

taku-_-0512
質問者

お礼

勉強します ありがとうございました

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

例示のレイアウト(データ数が100件以内)なら、以下の式を入力して下方向にオートフィルコピーしてください。 =INDEX(B:B,SMALL(INDEX((MATCH($B$2:$B$100&"",$B$2:$B$100&"",0)<>ROW($B$2:$B$100)-1)*1000+ROW($B$2:$B$100),),ROW(1:1)))&""

taku-_-0512
質問者

補足

MackyNo1さん 早速の回答ありがとうございます 凄い関数ですね!^^ 質問ですが、列は41行だったので =INDEX($B$2:$B$41,SMALL(INDEX((MATCH($B$2:$B$41&"",$B$2:$B$41&"",0)<>ROW($B$2:$B$41)-1)*1000+ROW($B$2:$B$41),),ROW(1:1)))&"" としました。 結果として表には「いいい」から始まりました。「あああ」からにするにはどうすれば良いでしょうか? また、私が作った例は「あああ」~「おおお」の5種類ですが、仮に7種類分行を作ったら 残り2行は#REFとなります。5種類だったら残りは空白としたい場合はどうすれば良いでしょうか? 同じ結果を別のシートに表示する場合は(B2:B41)を(違うシートB2:B41)とすれば良いでしょうか? 教えてください。宜しくお願い致します

関連するQ&A