エクセルのA列とB列で重複するレコードのみを抽出して別の列に表示させたい。
エクセルのA列に約1,000行くらいのデータが有ります。
このA列内で重複レコードがあります。
B列に約1,000行くらいのデータが有ります。
B列内でも重複レコードが有ります。
この条件の中で
(1)A列にもB列にあるデータすべて
(2)A列にしかないデータすべて
(3)B列にしかないデータすべて
を抽出したいのですが、どんな方法がありますか?
それで
(1)をC列
(2)をD列
(3)をE列
に並べて表示させたいです。
さらに抽出されたデータで重複レコードの場合は1件のみで表示したいです。
複数の操作を繰り返すのではなく
C,D,E列に式を入れるだけで済ませる事は可能でしょうか?
よろしくお願いします。
例
A B C D E
1-001-002--001--004--007
2-002-002--002--006--008
3-001-001--005--010
4-005-007
5-001-005
6-004-005
7-004-008
8-010-007
9-006-007
A列には001が3個、002が1個、005が1個有ります。
B列には001が1個、002が2個、005が2個有ります。
A列にもB列にも有るのは、001と002と005ですから
これがC列に表示されます。
でそれぞれA列にもB列にも複数有りますが、1個として判定なので
よって、C列には
001
001
001
001
002
002
005
005
と表示ではなく
001
002
005
と表示したい。
次にD列はA列に有る物だけですから
004
006
010
となります。B列には004は2個有りますが同じ値なので
004
004
006
010
では無く004は1個の表示です。
E列はB列のみのデータなので
007
008
です。
同じくB列には007が3個有りますが1個ともなします。
007
007
007
008
では無く
007
008
です。
No.3ベストアンサー
- 回答日時:
No.2です!
たびたびすみません。
投稿した後で質問文を読み返してみるとデータが約10000行あるということなので、
前回の数式の「1000」の部分を全て「10000」に変更してみてください。
そして余計なお世話かもしれませんが、10000行までオートフィルでコピーするのは大変でしょうから、
当方使用のExcel2003の場合ですが
もう1列A列に列を挿入します。
A2セルに「1」を入力後、A2セルをアクティブにします
→ メニュー → 編集 → フィル → 連続データの作成 → 「列」を選択 → 「停止値」に「10000」としてOK
そして、B2~D2セルに作業列が移動しているはずですので、B2~D2セルを範囲指定し、
D2セルのフィルハンドルの(+)マークでダブルクリック
10000行目までコピーできますが、少し時間がかかると思います。
最後にA列全てを削除します。
以上、何度もごめんなさいね。m(__)m
No.2
- 回答日時:
こんばんは!
一例です。
No.1さんとほとんど同様の方法になります。
↓の画像のように作業用の列を3列使っています。
とりあえず、1000行目まで対応できるようにしています。
3列挿入していますので、元の列は右にずれてしまいます。
作業列A2セルに
=IF(COUNTBLANK(D2:E2)=2,"",IF(AND(COUNTIF($E$2:$E$1000,D2),COUNTIF($D$2:D2,D2)=1),D2*1000+ROW(A1),""))
B2セルに
=IF(COUNTBLANK(D2:E2)=2,"",IF(AND(COUNTIF($E$2:$E$1000,D2)=0,COUNTIF($D$2:D2,D2)=1),D2*1000+ROW(A1),""))
C2セルに
=IF(COUNTBLANK(D2:E2)=2,"",IF(AND(COUNTIF($D$2:$D$1000,E2)=0,COUNTIF($E$2:E2,E2)=1),E2*1000+ROW(A1),""))
という数式を入れ、A2~C2セルを範囲指定し、C2セルのフィルハンドルで下へずぃ~~~!っとコピーします。
そしてF2セルは
=IF(COUNT(A$2:A$1000)<ROW(A1),"",INDEX($D$2:$D$1000,MOD(SMALL(A$2:A$1000,ROW(A1)),1000)))
として隣のG2セルまでコピー。
H2セルは
=IF(COUNT($C$2:$C$1000)<ROW(A1),"",INDEX($E$2:$E$1000,MOD(SMALL($C$2:$C$1000,ROW(A1)),1000)))
という数式を入れています。
最後にF2~H2セルを範囲指定し、H2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
以上、長々と書きましたが
参考になれば幸いです。m(__)m
No.1
- 回答日時:
A列、B列に入っているのが文字列ではなく数値で、書式設定で「001」の様に表示しているだけの場合、以下の様にすることで可能です。
作業列を3つ使います。
G1に =IF(COUNTIF(A$1:A1,A1)=1,IF(COUNTIF(B:B,A1)>0,A1,""),"")
H1に =IF(COUNTIF(A$1:A1,A1)=1,IF(COUNTIF(B:B,A1)=0,A1,""),"")
I1に =IF(COUNTIF(B$1:B1,B1)=1,IF(COUNTIF(A:A,B1)=0,B1,""),"")
と、入れてG1:I1を下方向にコピーします。
これで途中に空白が入ったデータが出来ます。
これをC~E列に空白セルを詰めて表示します。
C1に =IF(ROW()>COUNT(G:G),"",SMALL(G:G,ROW()))
と入れてコピーし、C1:E1000(データが1000行以上ある時はその行まで)に貼り付けます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Excel(エクセル) Excel vba 重複行削除 4 2022/06/02 06:52
- Excel(エクセル) Excelのテーブルについて 6 2023/07/07 08:37
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Visual Basic(VBA) ListView重複データ削除 2 2022/08/05 18:12
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
時間によってファイル名が変わ...
-
Excelで、決まった行を繰り返し...
-
【マクロ】ファイル名の変更に...
-
WPS OFFICEでの縦書きについて
-
エクセルで 例えば 伊藤と名前...
-
Aというブックの1というシート...
-
【マクロ】毎回、ファイル名が...
-
エクセルの順位別一覧表の自動...
-
Excel2013のF6キー操作について
-
エクセルの条件付き書式につい...
-
エクセルで「-0.0」と表示さ...
-
エクセル 価格表から単価を呼び...
-
シートAで横に並んだ項目→シー...
-
【Microsoft Office Excel Comp...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelが固まってしまった。
-
Excel元に戻す方法を教えてくだ...
-
文字列になっている時間をVBAで...
-
【関数】スペースがいくつ入っ...
-
Excelのセルを飛ばして入力する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報