• ベストアンサー

EXCEL データの検索・抽出

シート1と2に同じようなデータがあり   A   B   C    D    E    F 1 001  100 りんご  1個  @100  \100 2 001  101 みかん 1個  @110  \110 3 002  200 なし   2個  @120  \240 4 002  201 かき   3個  @130  \360 といったように最初にコードがあり、その中に違うコードがあるのですが、これを1行ずつ見比べて無いデータ、数値が違う(個数や単価)データを抽出したいのです。 シート1と2のデータは並び方もバラバラでシート1にあるデータが2にないデータもあります(そのデータは特に必要ありません) ※無いデータと数値が違うデータは別々に抽出したいので最後にオートフィルタがかけられるようにしたいです。 EXCEL2000です。宜しくお願いします。

  • emi_
  • お礼率75% (9/12)

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

  • ベストアンサー
  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.4

#3の訂正です。 2番目のVLOOKUPがSheet3になってしまってます。 修正版↓ =CHOOSE(IF(COUNTIF(Sheet2!C:C,C1)=0,5,(VLOOKUP(C1,Sheet2!C:D,2,0)<>D1)*1+(VLOOKUP(C1,Sheet2!C:E,3,0)<>E1)*2+1),"○","個数","単価","個数・単価","無")

emi_
質問者

お礼

回答ありがとうございます。 遅くなり申し訳ありません。 中々検証する時間がとれないため一旦締め切ります。 ありがとうございました。

その他の回答 (3)

  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.3

A列のコードが、片方のシートは表示形式で000としてあるのに、 もう片方のシートは文字列になってたりしませんか? C列をキーにしてみます。 =CHOOSE(IF(COUNTIF(Sheet2!C:C,C1)=0,5,(VLOOKUP(C1,Sheet2!C:D,2,)<>D1)*1+(VLOOKUP(C1,Sheet3!C:E,3,)<>E1)*2+1),"○","個数","単価","個数・単価","無") データがないと「無」、個数のみ違うなら「個数」、単価のみ違うなら「単価」、両方違うなら「個数・単価」、違いが無ければ「○」と、表示されます。

emi_
質問者

お礼

ありがとうございます。 明日会社に行ったときに試してみます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 ・仮に各シートの表範囲は100行 ・空き列に判定数式を設定して、各シート別にオートフィルタで抽出  コードなしは「1」、データ相違は「2」として (1)シート1のG列に以下の数式を設定して下方向にコピー(範囲 =IF(SUMPRODUCT((sheet2!$A$1:$A$100=A1)*(sheet2!$B$1:$B$100=B1)),IF(SUMPRODUCT((sheet2!$A$1:$A$100=A1)*(sheet2!$B$1:$B$100=B1)*(sheet2!$D$1:$D$100=D1)*(sheet2!$E$1:$E$100=E1)),"",2),1) (2)シート2も同様(但し、上記数式のシート名をSHEET2→sheet1)

emi_
質問者

お礼

ありがとうございます。 No.1と同じくうまくいきませんでした。 こちらは全て1が出てきます。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

A列のみ比較なら =COUNTIF(Sheet2!A:A,A1) で存在しないと0、存在する場合はその数を表示 複数列の場合は =SUMPRODUCT((Sheet2!$A$1:$A$99=A1)*(Sheet2!$B$1:$B$99=B1)) のように各列毎、行範囲を設定して存在しなければ0、存在する場合はその数を表示 まあ後者の場合、存在しないということはどこかが違うわけで個数を比較したいなら =SUMPRODUCT((Sheet2!$A$1:$A$99=A1)*(Sheet2!$B$1:$B$99=B1)*(Sheet2!$D$1:$D$99<>D1)) としてA:B列が同じでD列のみ違うかをチェックするとかすればいいのでは?

emi_
質問者

お礼

ありがとうございます。 やってみたのですがうまくいきませんでした。 =SUMPRODUCT((Sheet2!$A$1:$A$99=A1)*(Sheet2!$B$1:$B$99=B1)*(Sheet2!$D$1:$D$99<>D1)) とすると全て0が出てきます。 何がいけないのでしょうか?

関連するQ&A

  • エクセル マクロ

    以下の処理を教えて頂ける方がいらっしゃいましたらご教示ください。 A - B - C - D - E 日付 - 商品名 - 単価 - 数量 - 金額 a41 - バナナ - 120 - 10 - 1,200 a42 - みかん - 110 - 20 - 2,200 a42 - りんご - 150 - 10 - 1,500 a42 - バナナ - 120 - 15 - 1,800 a42 - なし - 150 - 20 - 3,000 a51 - りんご - 150 - 30 - 4,500 a51 - バナナ - 120 - 25 - 3,000 a51 - なし - 160 - 20 - 3,200 a52 - りんご - 145 - 35 - 5,075 a52 - みかん - 120 - 40 - 4,800 a53 - バナナ - 115 - 25 - 2,875 上記、シート1のデータが、3000行あります。 A - B - C - D - E 日付 a42 a52 上記、シート2のデータが、150行あります。 A - B - C - D - E 日付 - 商品名 - 単価 - 数量 - 金額 a42 - みかん - 110 - 20 - 2,200 a42 - りんご - 150 - 10 - 1,500 a42 - バナナ - 120 - 15 - 1,800 a42 - なし - 150 - 20 - 3,000 a52 - りんご - 145 - 35 - 5,075 a52 - みかん - 120 - 40 - 4,800 シート3に上記データのように抽出するには、どうすればよろしいでしょうか。 オートフィルタで,抽出後、抽出範囲をシート3にコピー貼り付けを繰り返しているのですが、もっといい方法(VBA)で、できませんでしょうか。

  • エクセル関数 データの抽出について

    エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2     A    B   C    D~AB32 1  "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし)  A 1  "" 2  "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。

  • エクセルで複数のシートからデータを抽出したい

    例えば、 シート1  シート2  シート3     新しいシート あんず   めろん   あんず      あんず いちご   なし    もも    →  いちご みかん   りんご            かき りんご   かき             なし                      みかん                      めろん                      もも                      りんご                       という感じで、シート1から3を同じデータはダブらず新しいシートにまとめたいのです。ひとつひとつ見ていくのは大変なので、手っ取り早くできる方法を教えてください。

  • エクセルで複数のシートからデータを抽出したい

    例えば、 シート1  シート2  シート3     新しいシート あんず   めろん   あんず      あんず いちご   なし    もも    →  いちご みかん   りんご            かき りんご   かき             なし                      みかん                      めろん                      もも                      りんご                       という感じで、シート1から3を同じデータはダブらず新しいシートにまとめたいのです。ひとつひとつ見ていくのは大変なので、手っ取り早くできる最も簡単な方法を教えてください。難しいことは分かりません。

  • お願い!EXCELでデータ抽出したい 

    EXCELでデータを抽出したいです。 コード 内容 A111  りんご A222  みかん A333  ばなな A444 なし A555 かき といったデータから コード  内容 A222  みかん A333  ばなな というように内容を取り出したいのです。 vlookup関数では、内容をコピーしたときに、 数式がコピーされ、内容がコピーされません。 どなたか助けて下さい。

  • データシートから該当するデータのみ抽出するには。

    Sheet(1)に台帳を作成しています。 A列からZ列に以下の様な    A列 B列 C列 D列 E列 F列 G列   項目 仕様 コード 単価 分類1 分類2 分類3 1 2 1270行 程度のデータです。 分類は6分類設定しています。 行に設定しているデータの内容で10種類の項目に大別出来るので、Sheet(2)からSheet(11)に項目別に検索用Sheetを作成し、分類1から分類6をA列からF列に選択方式で表示出来るように、同時に20行の検索用データを入力出来るようにしました。 但し、分類1~分類6の内、分類2~分類6はブランクの場合もあります。 表示された選択値に基づき、Sheet(1)の台帳にマクロで「データ」→「フィルター」→「フィルターオプションの設定」で抽出を行いましたが、Sheet(9)あたりで、「フィルターオプションの設定」が作動しなくなり抽出不可能となりました。 「フィルターオプションの設定」以外の方法でデータを抽出する方法は無いでしょうか。

  • エクセル関数で困ってます。

    "オートフィルタ"使用中に "SUMIF"と"COUNTIF"も使用したいのですが… ある条件を"オートフィルタ"で 抽出した以下のような数値を、元に計算したいです。     「A」 「1」 +80 「2」 -10 「6」 +70 「9」 -20 「10」 +60 「11」 -30 「15」 +50 「18」 -40 「19」 +40 「20」 -30 ※「」は行、列の意味です。 ※「行」の数字が飛んでいるのは、オートフィルタで条件抽出の為 抽出された「行」のみ表示されているというイメージです。 ※列は、1列のみです。 上の数値の プラス(0以上の数値)の値 マイナス(0以下の数値)の値 プラス(0以上の数値)の平均値 マイナス(0以下の数値)の平均値 全てのデータの個数の合計 を出したいのですが オートフィルタを使用中が条件なんです。 現在は、抽出したデータをコピーし 計算シートに貼り付けしている状態です。 出来れば、一度に出したいです。 よろしくお願いします<m(__)m>

  • EXCELのオートフイルタ抽出データ個数が出ない

    XP、OFFICE2003です。 EXCEL表をオートフィルタしますと、通常なら抽出されたデータ個数が左下(シートの移動ボタンの横あたり)に出るはずなのにそれが出ません。 仕方が無いから、抽出されたデータに連続番号を振って確かめています。 抽出個数を表示する方法を教えてください。

  • Excelで複数条件で抽出した複数データを出力

    Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果

  • データシートから他のシートへ抽出

    元データ:(2)データシート 抽出シート:(6)抽出シート (2)データシートには、    B     C    D    E    F    G・・・・・・P 4 (項目) (内容)  (数量) (単位) (単価)  (金額) (仕入先) 5 りんご   果物   1    個  100   100   A商店 6 みかん  果物   2    個  100   200   B商店 7 ジュース 飲料   3    本  100   300   A商店 8 牛乳    飲料   2    本  100   200   A商店                ・                ・                ・ とあります。  これを(6)抽出シートのA3セルに仕入先名を入れることで、 (6)抽出シート   A   B    C     D   E   F   G 3 A商店                               ・                ・ 21   (項目) (内容) (数量)(単位)(単価)(金額) 22   りんご  果物   1   個 100  100 23   ジュース 飲料   3   本 100  300 24    牛乳  飲料   2   本 100  200                ・                ・                ・ 上記の様にB22(項目)、C22(内容)、D22(数量)等を抽出したいのですが、VLOOKUPを使ってもりんごのみを何件も抽出したりで困ってます。 ちなみに(6)抽出シートはある程度の雛形が決まっています。 何かいい方法はありますでしょうか。 どうぞご教授宜しくお願い致します。 図が変になってしまってすいません。

専門家に質問してみよう