• ベストアンサー

エクセルの質問です。

エクセルの質問です。 二つのシートがあり、Aのシートには全顧客情報が入っています。約一万件です。 もう一つのBのシートも顧客情報なのですが、Bシートに載っていない顧客情報をAシートから取り出したいのです。 それぞれのシートには、顧客コード、顧客名、契約金額、住所などがあり、その情報も一緒に取り出したいのです。 関数、マクロなどは初心者なので、詳しく教えてくださると助かります。 宜しくお願いします。

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

  • ベストアンサー
回答No.1

・Aシートに作業列を用意し、B列への出現回数を求めます。 ・出現回数0回のものを取り出してBシートへコピペします。 これを説明します。 まず、AシートのE列を作業列とします。また顧客コードがA列にあるとします。1行目はタイトルとします。 E1に「Bシート出現回数」と入力します。 E2以下に次の式をフィルします。 =COUNTIF(Bシート!A:A,A2) A-E列を選択して「データ」-「オートフィルタ」でフィルタを設定します。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm E列「0」でフィルタをかけます。 全体を選択してコピーしBシートへ貼り付けます。 動作が重くなるようなら、E列はコピー・値貼り付けして式ー>値にしてください。

fagus06
質問者

お礼

大変参考になりました! オートフィルタのURLも参考になりました。 とても分かりやすく、簡単に処理することができました。 ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mmtok
  • ベストアンサー率52% (12/23)
回答No.3

関数、マクロを使わず簡単に出来るかも知れません。 前提条件として、 Aシート、Bシート共に列に付けているタイトルと並びが同じでBシートに空行がない場合です。 方法BシートをコピーしてCシートとします。 この時最終行を覚えておく Aシートの全行(シート全体ではないです)を選択しコピー、Cシートで「編集」→「形式を指定して貼り付け」とし、加算を選びます。 2行目のから先に覚えていた最終行迄を行削除する。

fagus06
質問者

お礼

回答ありがとうございます! 簡単なデータで試してみましたが、このような方法でも抽出できたので驚きました。 ただ、顧客コード(10桁の数字)や金額なども加算されてしまったので、数字も文字列にするとできるのかもしれません。 この方法も参考にさせていただきたいと思います。 本当にありがとうございました!

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像で説明させていただきます。 Sheet1の最右側の列の隣を作業用の列とさせてもらっています。 画像ではE列になりますので E2セルに =IF(A2="","",IF(COUNTIF(Sheet2!$A$2:$A$10000,Sheet1!A2),"","○")) という数式を入れ、フィルハンドルの(+)マークでダブルクリックします。 これでSheet2にないものだけに「○」が付きますので メニュー → データ → フィルタ → オートフィルタ でE列が「○」の物だけを抽出します。 これでSheet2にないものだけが抽出できます。 もし必要なら作業列以外をコピーしてどこか別Sheetに貼り付けてもOKかと思います。 尚、顧客コードで参照していますので、当然重複はないものだと思っています。 それからSheet2のデータ量は10000行までの数式ですので 範囲指定の領域はデータ量によってアレンジしてください。 当方使用のExcel2003での回答になります。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

fagus06
質問者

お礼

大変参考になりました! それほど難しい作業でもないようで良かったです。 これを機会にしっかりエクセルの勉強をしようと思います。 ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A