• ベストアンサー

エクセルでデータ抽出

エクセル初心者です。 エクセルでに次のような表を作っております。 (Sheet1) 担当 会社 郵便番号 住所 菊地 A社 0000000 ○○○○ 菊地 B社 0000000 ○○○○ 菊地 C社 0000000 ○○○○ 田中 D社 0000000 ○○○○ 田中 E社 0000000 ○○○○ 山本 F社 0000000 ○○○○ 山本 G社 0000000 ○○○○        ・        ・        ・ と800件くらいあるのですが、 これを 別シート(Sheet2)で名前を菊地と入力すると菊地のデータが一覧で出るようにしたいのですが、どうしたらよいでしょうか。 できれば、マクロを使わずに関数でやりたいです。 VLOOKUPかな?と思い、いろいろ調べたのですが、抽出したいデータが複数あるので、悩んでおります。 すみませんが、どなたかご指導お願い致します。

noname#5598
noname#5598

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

  • ベストアンサー
  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.6

式を修正しました。表はA列からD列までとしています。式をB1に入れた後、下と右方向へオートフィルしてください。 =INDEX(Sheet1!$A$1:D$1010,IF(COUNTIF(Sheet1!$A$1:$A$1000,$A$1)>=ROW(),MATCH($A$1,Sheet1!$A$1:$A$1000,0)+ROW(A1)-1,1010),COLUMN()-1) 該当データが無い場合は、各列の1010行のセルの内容が表示されます。0を消す方法を#4に書きましたが、データ中に0があることが考えられる場合は、スペースを使った方法の方がいいかもしれません。

noname#5598
質問者

お礼

回答ありがとうございます。 おお!できました!感謝です! とりあえずコピペしてやっただけなんですが、これから式のほうも、研究させていただきます☆ わがままにつきあっていただきありがとうございました。

その他の回答 (5)

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.5

#4です。m(__)m すみません。#4のは、名前しか抽出しませんね。寝起きの頭で考えていて、ボケてました。ああ、恥ずかしい。

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.4

表はあらかじめ担当名をキーに、ソートしてあるものとします。また、表の最終行は1000行としています。 Sheet2のA1に検索する名前を入力するものとして、 B1に以下の式を入れて、下へ必要分だけオートフィルしてください。 =INDEX(Sheet1!$A$1:$A$1010,IF(COUNTIF(Sheet1!$A$1:$A$1000,$A$1)>=ROW(),MATCH($A$1,Sheet1!$A$1:$A$1000,0)+ROW()-1,1010),0) 名前が入らないセルには0が表示されますが、この0はSheet1のA1010の内容を表しています。 0を表示したくない場合は、A1010にスペースを入力するか、式を入れたセルの書式の表示形式を、ユーザー定義で#にしてください。

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

関数は、条件に合った行の抜き出しが不得手です。 だからマクロはいや、操作がいやというのは考えを改めるべきと思います。 本質問コーナーで関数式に拘る方が多いのですが、関数式の得手不得手を考えないと。 関数の回答を上げますが、正直のところ技巧的だと思います。 (データ)サンプルとして、Sheet2のA1:B11に 東田 大分市 大川 別府市 菊地 下関市 大川 防府市 三田 三原市 河野 新見市 大川 倉敷市 山田 姫路市 西野 明石市 浜野 尼崎市 大川 長岡京市 (質問では、同名は同一営業マンのケースですが、変えてますがよろしく) (条件) 探す人の名前をSheet3のA1セルに「大川」と入れます。 (関数式) Sheet3の B1セルに=IF(Sheet2!A1=$A$1,1,"")といれB11(最下行)まで複写します。 C1セルに=COUNT($B$1:B1)といれ最下行まで複写します。 D1セルに=IF(ROW()<MAX($C$1:$C$11)+1,OFFSET(Sheet2!$A$1,MATCH(ROW(),$C$1:$C$11,0)-1,0),"") といれ最下行まで複写します。 E1セルに=IF(ROW()<MAX($C$1:$C$11)+1,OFFSET(Sheet2!$A$1,MATCH(ROW(),$C$1:$C$11,0)-1,1),"") といれ最下行まで複写します。(D列と1字違いだけです。) D,E列のような式をFG・・列に項目(フィールド)数だけ作ります。 (結果)Sheet3のD1:E4に 大川 別府市 大川 防府市 大川 倉敷市 大川 長岡京市 (その他) Sheet3のBとC列は(楽屋裏のデータで)邪魔なので、見え難いX、Y列などに持っていくのがよいかも。 上記を理解し、自分のケースではどこをどう変えるべきか を会得してください。

noname#5598
質問者

お礼

回答ありがとうございます。 >だからマクロはいや、操作がいやというのは考えを改めるべきと思います。 すみません。色々わけありでして、このデータを私本人が管理するのであれば、マクロでも操作でも問題ないのですが、上からとにかく使いやすくしろとのことで。。 こんなわがままにつき合わせて申し訳ありません。m(_ _)m これから回答の方試してみます。 まずは、御礼だけ先にさせていただきます。

回答No.2

[データ]->[フィルタ]->[フィルタオプション]で、抽出先をSheet2の任意の場所、リスト範囲をリスト全体、検索条件範囲をSheet2の任意の場所(上の方がよい)二設定します。 抽出条件は、 担当 会社 郵便番号 住所 菊地 のようにします。 AND条件のときは、同じ行に OR条件のときは、別の行に 条件を設定します。

noname#5598
質問者

お礼

回答ありがとうございます。 すみません。できればメニューの機能などは使わずに、別シートに名前を入力すると一覧が表示されるというような設定にしたいのですが。。

  • fiva205c
  • ベストアンサー率43% (234/533)
回答No.1

同じシートになりますが、フィルターを使えば菊地分だけ抽出できますけど、それはもうご存知でしたか? http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu9_2.htm

参考URL:
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu9_2.htm
noname#5598
質問者

お礼

回答ありがとうございます。 フィルターは知りませんでした(^^; しかし、やはりメニューの機能などは使わずに、別シートに名前を入力すると一覧が表示されるというような設定にしたいのですが。。

関連するQ&A

  • エクセルのデータの抽出

    仕事で1000個ぐらいの地名と住所がセットになったエクセルのデータを別のシートの決まった場所に抽出したいのですが、どうすればいいでしょうか? 自分でいろいろと調べたところマクロを使えばいいということですが、普通にマクロを使っても最初のデータしか抽出されず、残りの999個は結局Macro2, Macro3, Macro4, Macro5......Macro1000のマクロをつくらなければなりません。 いったいどうすればいいでしょうか? エクセルデータは次のようになっています       地名        住所 1    ○×消防署   △○区000 2    ×□公園    ■○区 1111 3    ●●小学校   ●×区 2222 4    ××神社    ×●区3333 ・ ・ ・ 1000   △●公園    ●□区101010 いちいち一つずつマクロを作っていては直でキーボードから入力するのとあまり変わりません。 ひとつのマクロで済ませられる方法があればどうか教えてください。

  • 条件にあったデータを抽出する関数またはマクロ

    エクセルの関数またはマクロで以下のようなことをしたいと思っています。以下のような表を「Sheet1」に作成しています。 A社 住所1 電話番号1 B社 住所2 電話番号2 C社 住所3 電話番号3 D社 住所4 電話番号4 「Sheet2」にて、A1に“A社”と入力すると、B1に住所、C1に電話番号が表示されるようにしたいのです。INDEXやVLOOKUPなどでやってみたのですが、うまくいきません。ご指導をお願いいたします。

  • 別シートに抽出

     データを別シートに抽出したい。 画像を参照して下さい。 シートの「一覧」を別シートへ関数を使って抽出したのですが、 思うような結果になりません。お教え下さい。 別シートに VLOOKUP(A3,'一覧'!$A$3:$E$36,2,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,3,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,4,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,5,1)の関数をセルに入れてセル事に 抽出します。その時に別シートに A01・A02・A03・A03・A04・・・・ の順序で抽出したいのですが、うまく抽出できません。

  • エクセルでデータ抽出するには?

    まったくのエクセル初心者です。 エクセルで、シート1のデータの特定科目を抽出してシート2にコピーしたいのです。 シート1のデータは 5/1 消耗品    2500 5/3 水道光熱費  8000 5/5 消耗品     700 5/7 消耗品    1200 この中から消耗品と記入されている行をシート2に抽出したいのです。 マクロは全然わかりません。。簡単にできる方法は無いでしょうか?よろしくお願いします。

  • エクセルでの重複データの抽出とフラグ

    エクセルでのデータの作成で困っております 下記のように「送り主」と「届け先」の重複データを抽出し数字を与えたいのですが、どうしてよいか判らず困っております。 教えて頂けますでしょうか ギフト配送先のデータ抽出 送り主     届け先  商品 田中太郎  1 佐藤花子(りんご1個) 田中太郎  1 佐藤花子(みかん1個) 田中太郎  1 佐藤花子(バナナ1本) 田中太郎  2 山本○子(みかん1個) 田中太郎  2 山本○子(バナナ1本) 山本○次  1 鈴木△子(りんご詰め合わせ) 山本○次  2 高橋×子(みかん詰め合わせ) 山本○次  3 田中□子(りんご詰め合わせ) 宜しくお願い致します

  • EXCEL データの抽出と転記

    1.添付ファイル(JPEG)では、Sheet 10とSheet 5を両方表示しています。同じブッ ク内ですが、当然分離しています。 2.やりたいことはSheet 10からデータを抽出してSheet 5に転記することです。   Sheet 5の9組に、その例を表示しました。 3.Sheet 5には25名分を表記しています。組はランダムです。 4.Sheet 10では、実際の組の数は全部で9つあり、No.は188あります。氏名と組には ところどころ空白があります。(不在者です) 氏名は昇順とは限りません。  それに対応できる「計算式」をお願いします。 5.私はEXCELに詳しくありません。マクロが使えません。Sheet 5の組がランダムに 表記されているので、どう抽出したらよいのか困っています。「〇〇関数を使えば よい」の回答は不要です。具体的な計算式での回答をお願いします。  尚、私はINDEX関数やMATCH関数は使いますが、VLOOKUP関数は使いません。 7.過日一度質問を投稿したのですが、私の不手際で「プライバシーの侵害につながる恐れのある内容が含まれていた」と判断されてしまいました。そして添付ファイルを削除され、質問の内容を編集されました。結果、質問の内容が回答者には伝わらなくなってしまいました。今回は質問の仕方を変えて再投稿しています。今度の添付ファイルは問題がないと思っています。 説明が長くなってしまいました。 よろしくご指導下さい。

  • 抽出したデータを使って納品書を作成・印刷したいのですが・・・

    題名の通りなのですが、まず見積書を作成します。作成した後、エクセルの手入力で工場で製造指示書を作っています。 ここまでは良いのですが・・・ 納品書を作成する時に、製造指示書や見積書等のデータを見ながら納品書を作成しなくてはいけません。 また、私一人が納品書を作成するなら良いんですが、年配の方が納品書を作成されるので記入漏れ等も発生していて、記入漏れを防ぐ為にもマクロ等でボタン1つでデータが納品書に移る様にしてほしいと頼まれました。 <例> sheet1 NO. 会社名 郵便番号 住所 tel fax 1  あ     ***-***  い   11  22 sheet2 物件名 うう 商品名 ええ sheet3(納品書) 郵便番号 ***-*** 住所 い tel 11  fax 22 会社名 あ 物件名 うう  商品名 ええ VLOOKUP関数で会社名を基に抽出したら良いと言うのは想像つくのですが、私は関数等はある程度出来ますが、マクロが初心者の為に良い形に組むことが出来ません。 バージョンはエクセル2002です。 どなたか、ご教授願います。

  • エクセル 複数データ 抽出

    エクセルの複数データの抽出で困っています。 助けてください。 以下の様なシートで別シートから複数のデータを取り出したいのですが・・・・ 他の方の質問を参照したのですがうまく行かなく 皆さんの知識を教えてください。 シート1  テーブル A列     B列    C列   D列 グループ  メーカ   部品  数量  1      A社    AAA   1  1      B社    BBB   2  1      C社    CCC   4  2      F社    ZZZ   3  2      S社    HHH   2  3      以下も同様  3  4  5  5  5 シート2 摘出を考えているのですが シート1のA列グループを選択すると全て摘出する様にしたいです。 シート2 グループ選択 「1」 「2」 を選択すると 1と2が全て摘出される  1      A社    AAA   1  1      B社    BBB   2  1      C社    CCC   4  2      F社    ZZZ   3  2      S社    HHH   2 選択は1と3 2と4 1と5 とか結構なパターンがあります。 VLOOKUP、その他の方の回答例も使用してみましたがうまく出来ませんでした。 関数、マクロ問いませんので どうぞ、お力をお貸し願います。

  • エクセルで検索と抽出

    マイクロソフトエクセル2003で Aさん   100   1月 Bさん   101    Cさん   102   1月 Dさん   103    Fさん   104   1月        から抽出 Aさん   100 Cさん   102 Dさん   103 とういうデーターから1月と記入がある人だけど別のシートの抽出したいのですが何か良い関数またはマクロなどありましたらご指導お願いします。

  • エクセルデータ抽出方法を教えてください

    エクセルでのデーター抽出方法を教えてください、シート1:A1にUA1と入力し、シート2:A列にはUA1・・・・複数のデータが縦に並んでいます、シート1:A1に入力したデーターを元にシート2:A列を検索し該当するデータの抽出を行いたいです、VLOOKUPではうまく行きません教えてください

専門家に質問してみよう