- 締切済み
エクセル 一致項目を基準にデータを合わせたい
特定の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万件位)が多いデータを 番号を一致させてまとめたいのです。初心者にもできる簡単な方法があったら教えていただけると大変助かります。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに同じような回答は出ていると思いますが・・・ 一例です 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
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),"")
お礼
やはり超初心者には関数の使い方が十分理解できませんでした。もう少しトライしてみます。 ありがとうございました。
- wisemac21
- ベストアンサー率39% (171/429)
数式を使わず編集作業で行う方法 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をクリック
お礼
行数が少ない場合は初心者にとってわかりやすいですね。ありがとうございました。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- hallo-2007
- ベストアンサー率41% (888/2115)
関数案ですが、 番号 あ い う か き 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),"") 下へコピィします。
お礼
これでできそうかなあと思いましたが、やはり超初心者には関数の使い方が十分理解できませんでした。もう少しトライしてみます。 ありがとうございました。
- picopico_7
- ベストアンサー率30% (11/36)
お礼
エクセルの基本も知らない私にとってやはり初心者過ぎて無理のようです。せっかくアドバイスいただきましたのに申し訳ありません。