• 締切済み

エクセル 一致項目を基準にデータを合わせたい

特定の1項目を一致させ、2つのシートのデータを一つにまとめたいのですが、エクセル初心者にもできる方法があったら教えてください。行数は20000件位です。列は10列程度です。 番号   あ   い   う 1001  aa   bb    a 1002  sd   bb    sd 1003  aa   bb    aa 1004  sd   bb    sd 1005  aa   bb    aa 番号   か    き 1002  abc   bbs 1004  sdb   gds 1005  aab   bba を、まとめて 番号  あ   い    う     か   き 1001  aa   bb    a 1002  sd   bb    sd   abc   bbs 1003  aa   bb    aa 1004  sd   bb    sd   sdb   gds 1005  aa   bb    aa   aab   bba といったように番号行数(2万件位)が多いデータを 番号を一致させてまとめたいのです。初心者にもできる簡単な方法があったら教えていただけると大変助かります。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! すでに同じような回答は出ていると思いますが・・・ 一例です Sheet1のA1~D6に「う」列までのデータが入力されていて そのSheetのE列以降に、Sheet2のA1~C4に入っている「か」「き」列のデータを追加する場合です。 E1セル(「か」が入るセル) =IF(COUNTIF(Sheet2!$A$1:$A$4,A1)<1,"",VLOOKUP(A1,Sheet2!$A$1:$C$4,2,0)) F1セル(「き」が入るセル) =IF(COUNTIF(Sheet2!$A$1:$A$4,A1)<1,"",VLOOKUP(A1,Sheet2!$A$1:$C$4,3,0)) E1・F1セル両方を範囲指定 → F1セル右下のオートフィルマーク(+)でダブルクリック! これで希望通りの表示にならないでしょうか? ただし、列数が多いと結構手間がかかると思います。 行数は多くても問題ありませんけどね! Excel2003での回答でした。 参考になれば幸いです。m(__)m

bears
質問者

お礼

エクセルの基本も知らない私にとってやはり初心者過ぎて無理のようです。せっかくアドバイスいただきましたのに申し訳ありません。

noname#204879
noname#204879
回答No.5

   A  B   C  D  E  F 1  番号 あ  い  う か  き 2  1001 aa  bb  a 3  1002 sd  bb  sd abc bbs 4  1003 aa  bb  aa 5  1004 sd  bb  sd sdb gds 6  1005 aa  bb  aa aab bba 7 8  番号 か  き 9  1002 abc bbs 10 1004 sdb gds 11 1005 aab bba E2: =IF(COUNTIF($A$9:$A$11,$A2),VLOOKUP($A2,$A$9:$C$11,COLUMN(B2),0),"")

bears
質問者

お礼

やはり超初心者には関数の使い方が十分理解できませんでした。もう少しトライしてみます。 ありがとうございました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.4

数式を使わず編集作業で行う方法 Sheet1 ┌─┬──┬─┬─┬─┬─┬─┐ │ │ A │ B│ C│ D│ E│ F│ ├─┼──┼─┼─┼─┼─┼─┤ │1 │番号│あ│い│う│か│き│ │2 │1001│aa│bb│a │ │ │ │3 │1002│sd│bb│sd│ │ │ │4 │1003│aa│bb│aa│ │ │ │5 │1004│sd│bb│sd│ │ │ │6 │1005│aa│bb│aa│ │ │ └─┴──┴─┴─┴─┴─┴─┘ Sheet2 Sheet1にある列を挿入して、空き列を作成 ┌─┬──┬─┬─┬─┬──┬──┐ │ │ A │ B│ C│ D│ E │ F │ ├─┼──┼─┼─┼─┼──┼──┤ │1 │番号│ │ │ │か │き │ │2 │1002│ │ │ │abc │bbs │ │3 │1004│ │ │ │sdb │gds │ │4 │1005│ │ │ │aab │bba │ └─┴──┴─┴─┴─┴──┴──┘ Sheet3 Sheet1とSheet2のデータをコピーして貼り付ける ┌─┬──┬─┬─┬─┬──┬──┐ │ │ A │ B│ C│ D│ E │ F │ ├─┼──┼─┼─┼─┼──┼──┤ │1 │番号│あ│い│う│か │き │ │2 │1001│aa│bb│a │  │  │ │3 │1002│sd│bb│sd│  │  │ │4 │1003│aa│bb│aa│  │  │ │5 │1004│sd│bb│sd│  │  │ │6 │1005│aa│bb│aa│  │  │ │7 │1002│ │ │ │abc │bbs │ │8 │1004│ │ │ │sdb │gds │ │9 │1005│ │ │ │aab │bba │ └─┴──┴─┴─┴─┴──┴──┘ A列基準にして昇順に並び替える ┌─┬──┬─┬─┬─┬──┬──┐ │ │ A │ B│ C│ D│ E │ F │ ├─┼──┼─┼─┼─┼──┼──┤ │1 │番号│あ│い│う│か │き │ │2 │1001│aa│bb│a │  │  │ │3 │1002│sd│bb│sd│  │  │ │4 │1002│ │ │ │abc │bbs │ │5 │1003│aa│bb│aa│  │  │ │6 │1004│sd│bb│sd│  │  │ │7 │1004│ │ │ │sdb │gds │ │8 │1005│aa│bb│aa│  │  │ │9 │1005│ │ │ │aab │bba │ └─┴──┴─┴─┴─┴──┴──┘ セル範囲E3:F3を選択して、右クリック、削除を選択、削除ダイアログボックスで、「上方向にシフト」で 同じ番号のデータを揃える。 次に不要となった行を削除するために B列を選択して、F5キーをおし、セル選択ボタンを押し、選択オプションダイアログボックスで 空きセルを選択して、OKをクリック。 その状態で編集→削除で、削除ダイアログボックスで行全体を選択して、OKをクリック

bears
質問者

お礼

行数が少ない場合は初心者にとってわかりやすいですね。ありがとうございました。

回答No.3

回答No2のhallo-2007さんとほぼ同じですが、計算速度がほしい場合で かつ、番号が昇順の場合です G2セルに =MATCH(A2,$B$9:$B$11) E2セルに =IF(ISNA($G2),"",IF($A2<>INDEX($B$9:$B$11,$G2),"",INDEX(C$9:C$11,$G2))) 右へオートフィル E2:G2セルを下へオートフィル 参考まで

bears
質問者

お礼

やはり超初心者には関数の使い方が十分理解できませんでした。もう少しトライしてみます。 ありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

関数案ですが、 番号  あ   い    う     か   き 1001  aa   bb    a 1002  sd   bb    sd    と準備して、かの列には =IF(COUNTIF(もう一方のデータ!A:A,A1)>0,VLOOKUP(A1,もう一方のデータ!A:C,2,FALSE),"") きの列は =IF(COUNTIF(もう一方のデータ!A:A,A1)>0,VLOOKUP(A1,もう一方のデータ!A:C,3,FALSE),"") 下へコピィします。

bears
質問者

お礼

これでできそうかなあと思いましたが、やはり超初心者には関数の使い方が十分理解できませんでした。もう少しトライしてみます。 ありがとうございました。

回答No.1

メニューバー[データ]-[統合]ではいかがでしょうか?

参考URL:
http://kokoro.kir.jp/excel/tougou.html
bears
質問者

お礼

早急にありがとうございました。

関連するQ&A

専門家に質問してみよう