• 締切済み

エクセルデータを照合したいのですが・・・

データの照合でかなり時間を使っているので、何とか効率を図りたくて、でも、知識なくわからないので、どなたか教えてください。 シート1 No. JANコード 数量 単価 金額 その他データ シート2 No. JANコード 数量 単価 金額 その他データ と、同じようなデータが別々の場所から抽出されます。その他データには、それぞれ少しずつ違う内容が入って、一行になっています。 No. JANコード 数量 単価 この4項目が一致したら、シート1とシート2のデータで一致するものを、 シート1の一致するシート2のデータを表示させたいのですが、そのようなことがそもそもできるのか、できるなら方法を教えていただきたいのですが・・・ よろしくお願いいたします。

みんなの回答

回答No.6

単位 原価 などの項目に半角スペースがあります。 それを確認お願いします。

hamto
質問者

お礼

早速のご回答ありがとうございます。 本当にありがとうございました。

回答No.5

T2.商品名/摘要 /は割り算になってしまいました。 /を全角の/へ変更して試していただけませんか。 或は/なしで試していただければと思います。

hamto
質問者

お礼

ありがとうございます。 早速試してみました。 /8か所修正いたしましたら、 near"as":syntax error になりました。 どうすればよいか教えていただけますか? よろしくお願い致します。

hamto
質問者

補足

ご回答ありがとうございました。 追加をせずに試してみたのですが、結果を検証したら大丈夫でしたので、 先ほどの追記エラー分への回答は不要です。 欲を出せばまだまだあるのですが、とりあえずはこれで進んでみます! ありがとうございました。 助かりました!!!

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>ただ、このやり方で、最後上下でデータ比較とありますが、比較は同じ行で左右での比較にしたいのですが、それは可能でしょうか?  「その他データ」が何項目もあると考え、上下にした次第です。1項目ということでSheet1、Sheet2の順で横に並べます。 (説明は前回と重複部分があります。) Sheet1のデータの後ろにSheet2のデータをコピーして貼り付けます。添付図では、判別するためにA列を挿入しシートの番号を入力しています。 H列に「check」、I列に「カウント」の表題を入力します。 セルH2: =B2&"_"&C2&"_"&D2&"_"&E2 。照合のキーを作っています。 セルI2: =COUNTIF($H$2:$H$21,H2) と算式を入力しデータ分コピーします。算式の「21」はデータの最終行です。 抽出条件を入力し、出力場所を指定するために、K~L列、N~S列とT列に添付図のように表題をコピーします。 表題Sheetの下のK2には「1」、表題「カウント」の下のL2には「>1」と入力します。 [処理1] A列~I列内のセルを1つ選択して、データタブ>並べ替えとフィルター>詳細設定ボタンをクリックします。 フィルターオプションの設定ダイアログボックスで  ・抽出先→指定した範囲  ・リスト範囲をSheet1の表題も含めた全データ  ・検索条件範囲はSheet2の$K$1:$L$2  ・抽出範囲は$O$1:$S$1  ・重複するレコードは無視するにチェック  ・OK これでSheet1とSheet2で重複したSheet2のデータが抽出されたはす。N列には抽出されたデータ分「2」を入力します。 [処理2] A列~I列内のセルを1つ選択して、データタブ>並べ替えとフィルター>詳細設定ボタンをクリックします。 フィルターオプションの設定ダイアログボックスで  ・抽出先→指定した範囲  ・リスト範囲をSheet2の表題も含めた全データ  ・検索条件範囲は$N$1:$R$6(5件抽出されている場合)  ・抽出範囲を$T$1  ・重複するレコードは無視するはオフ  ・OK これで求める結果が横に並んで出力されるはずです。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

フィルターオプションを設定してみます。 シート1の下にシート2のデータを貼り付けます。 その時、分かりやすいように添付図のように先頭に「Sheet」という列を挿入しシート番号を入力しておきます。 次に、H1に「check」、I1に「カウント」と表題を付けます。   セルH2に =B2&"_"&C2&"_"&D2&"_"&E2   セルI2に =COUNTIF($H$2:$H$13,H2) と入力します。$H$13の「13」はデータが入力された最終行です。 セルH2:I2を下にコピーします。 次に、添付図のように、   セルK1にI1をコピーし、K2に「>1」と入力します。   M1からR1に照合のキーと表示したい項目の表題をコピーします。 これで準備完了です。やっていることは単純ですが説明が分かりにくいかもしれません。 データ部分をクリックして、 データタブ>並べ替えとフィルターグループ>詳細設定 をクリック フィルターオプションの設定で  ・抽出先は「指定した範囲」を選択  ・リスト範囲は、表題も含めたA~I列の全データ  ・抽出条件範囲は、$K$1:$K$2  ・抽出範囲は、$M$1:$R$1  ・重複するレコードは無視するはオフ  ・Ok   これでM~R列に重複したデータが出力されます。出力されたJANコードで並べ替えれば上下でデータ比較できます。添付図の「その他データ」項目は状況に合うよう適宜変更してください。

hamto
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなってしまって、大変申し訳ございません。 頂いた回答は、もちろん私には難しく、何度も何度も読み返しました。 画像もあり、わかりやすかったです! ただ、このやり方で、最後上下でデータ比較とありますが、比較は同じ行で左右での比較にしたいのですが、 それは可能でしょうか? よろしくお願い致します。

hamto
質問者

補足

すみません。試してみましたが、両方ともうまくできませんでした。 詳細お伝えするので、もう一度教えて頂ければ助かります。 (どちらの方にも聞きたいので、失礼とは思いますが、同じものを補足させて頂きました。) Sheet1 A列~X列 そのうちA,B,O,R が一致するものをSheet2から探す。 1行目はタイトル 2行目~995行目までがデータ Sheet2 A列~I列 そのうちC,E,G,H が、一致する。 1,2行目はタイトル 3行目~1,035行目までがデータ 一致しているか知りたい内容は、 シート1 シート2 A = C B = E O = G R = H ・シート1が基本になり、シート2から4つすべてが一致するA列~I列までの行を抜き出して、シート1の該当する同じ行に表示をしたい(Y列以降) お手数おかけいたしますが、できそうならばご教授頂きたく、お願いいたします。

回答No.1

VLOOKUP関数で出来そうですね。 「2行目からそのデータが入っている」 「4つの項目はB~E列に入っている」 「その他データはF列のみ」 「とりあえず50行目まで」と仮定して シート1.2両方で G2=B2&C2&D2&E2 あとはシート1のみ H2=IFERROR(VLOOKUP(G2,sheet2!G$2:G$50,1,FALSE),"") あとはGtoHを50行目までコピーすればH列に重複するものが現れます。 オマケで重複を見やすくする方法で A2=IF(H2="","","○") といれ同様に50行目までコピーすれば重複したものはA列に「○」で表示されます。

hamto
質問者

お礼

早々のご回答ありがとうございました。 お礼が遅くなり、大変申し訳ございません。 投稿後退社し翌日も休暇で、スマフォからログインがうまくできず、お礼が遅くなってしまいました。 そんな私なのでとても難しく、ビビりました。。。 でも、頑張ります!!! そこで、さらにそれ以前の質問なのですが、G2=****、H2=****と書かれてるのはG2,H2のセルに=****を入力すればよいのですか? そして、シート1がベースになり、シート2から探してきて内容が一致するものを、シート1の一致するもののある同じ行に表示したいのですが、、、頂いたご回答でそんな感じになりますか??? とにかくやってみます^0^ ありがとうございました。

hamto
質問者

補足

すみません。試してみましたが、両方ともうまくできませんでした。 詳細お伝えするので、もう一度教えて頂ければ助かります。 Sheet1 A列~X列 そのうちA,B,O,R が一致するものをSheet2から探す。 1行目はタイトル 2行目~995行目までがデータ Sheet2 A列~I列 そのうちC,E,G,H が、一致する。 1,2行目はタイトル 3行目~1,035行目までがデータ 一致しているか知りたい内容は、 シート1 シート2 A = C B = E O = G R = H ・シート1が基本になり、シート2から4つすべてが一致するA列~I列までの行を抜き出して、シート1の該当する同じ行に表示をしたい(Y列以降) お手数おかけいたしますが、できそうならばご教授頂きたく、お願いいたします。

関連するQ&A

専門家に質問してみよう