- ベストアンサー
重複抽出マクロとは?データの整理を簡単にする方法
- 重複抽出マクロは、重複しているデータを抽出して整理するためのマクロです。
- 特定の列に重複がある場合、重複したデータを見やすく表示します。
- これにより、データの整理や分析作業を効率的に行うことができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- irija_bari
- ベストアンサー率73% (70/95)
- irija_bari
- ベストアンサー率73% (70/95)
関連するQ&A
- excel2003 重複削除マクロ 再質問
QNo.3630625 excel2003 重複削除マクロ 回答マクロを実行した結果、うまくいかないケースがあり、再質問させて頂きました。 winxp he sp2, office2003 AB重複銘柄を削除した結果を、CDに書くマクロを教えてください。 この例では、日経300投信 チャイナボーチーが重複しています。 AB(銘柄コードと銘柄名)は一体です。データは沢山あります。1700個。 列がずれて見にくいです。 A B C D 1313 KODEX200 1313 KODEX200 1319 日経300投信 1319 日経300投信 1319 日経300投信 1380 秋川牧園 1380 秋川牧園 1381 アクシーズ 1381 アクシーズ 1412 チャイナボーチー 1412 チャイナボーチー 1724 シンクレイヤ 1412 チャイナボーチー 1735 伊田テクノス 1412 チャイナボーチー 1753 土屋ツーバイホーム 1724 シンクレイヤ 1783 A.Cホール 1735 伊田テクノス 1753 土屋ツーバイ 1783 A.Cホール 回答: 1行目は項目名と判断されてしまいますので提示の例ではうまく行きましたが、正しくありません。 では、マクロ作業上でダミーで先頭に1行追加し、項目を振り、終了後にダミー行を削除するように変えてみました。 逐条で解説もつけておきます。 Sub test03() Dim x As Long 'xは長整数と宣言 With ActiveSheet 'アクティブなシートで .Rows("1").Insert Shift:=xlDown 'ダミー行挿入 .Range("A1") = "Code" 'ダミー項目1 .Range("B1") = "Name" 'ダミー項目2 x = .Cells(.Rows.Count, 1).End(xlUp).Row '最終行取得 .Range("A1:B" & x).Select '範囲選択 Selection.AdvancedFilter Action:=xlFilterInPlace, Unique:=True '重複を表示しない Selection.Copy .Range("C1") 'コピーしてC1以降に貼り付け .ShowAllData 'すべてを表示 --------------------------------------ここでデバッグエラーが発生します。 .Rows("1").Delete Shift:=xlUp 'ダミー行削除 End With End Sub エラーが発生するケースまでは、特定していません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- excel2003 重複削除マクロ
winxp he sp2, office2003 AB重複銘柄を削除し、CDに書くマクロを教えてください。 この例では、日経300投信 チャイナボーチーが重複しています。 AB(銘柄コードと銘柄名)は一体です。データは沢山あります。 列がずれて見にくいです。 A B C D 1313 KODEX200 1313 KODEX200 1319 日経300投信 1319 日経300投信 1319 日経300投信 1380 秋川牧園 1380 秋川牧園 1381 アクシーズ 1381 アクシーズ 1412 チャイナボーチー 1412 チャイナボーチー 1724 シンクレイヤ 1412 チャイナボーチー 1735 伊田テクノス 1412 チャイナボーチー 1753 土屋ツーバイホーム 1724 シンクレイヤ 1783 A.Cホール 1735 伊田テクノス 1753 土屋ツーバイ 1783 A.Cホール よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 重複しないデータのみを抽出
初めまして。 初心者なりに頑張ってみたのですがうまくいかず、 エクセルかアクセスにて、下記内容を処理出来ないものか 質問させて頂きました。何卒宜しく御願い致します。 2つのデータを併せて、重複しないデータのみを抽出したいのです e.g. データ1=(a,b,c,d) データ2=(b,b,c,d,e) 求めている結果=(a,b,e) となります。 現状、手作業にてチェックしているので、 非常に時間がかかってしまい困っております。 何卒、宜しくお願いします。
- ベストアンサー
- その他(データベース)
- 重複するデータの抽出について(エクセル)
エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば A列 B列 C列 D列 E列・・・ 1 色 1回目 2回目 3回目 4回目 2 赤 あ a A 0 3 白 い b B 1 4 黄 う c C 2 5 黄 え d D 3 6 黒 お e E 4 7 赤 か f F 5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 【エクセル】重複データ抽出時にうまくいかない
エクセル2003で、[データ]→[フィルタ]→[フィルタオプションの設定]で下記のように 設定して重複データを省きました、 ・「指定した範囲」にチェック ・「リスト範囲」に$A$1:$A$13を入力。 ・「抽出範囲」に$B$1を入力 ・「重複するレコードは無視する」にチェック の条件で実行すると。 [元データ] A列 1 a 2 a 3 b 4 b 5 c 6 c 7 c 8 d 9 d 10 d 11 e 12 e 13 e が [フィルタ実行後] A列 B列 1 a a 2 a a 3 b b 4 b c 5 c d 6 c e 7 c 8 d 9 d 10 d 11 e 12 e 13 e の様にB列でaが2つ出てしまいます。 なにが原因でしょうか?
- ベストアンサー
- オフィス系ソフト
- 重複抽出して片方を削除
A列 B列 C列 D列 E列 ・・・ 1234 あい うえ おか 0 ・・・ 5678 かき くけ こさ さし ・・・ 9123 すせ そた たち つて ・・・ 4567 とな にぬ ぬね のた ・・・ 1234 あい うえ おか はま ・・・ 8912 はひ ふへ ほま やら ・・・ 4567 とな にぬ ぬね 0 ・・・ ↓↓↓ 重複を取り出す A列 B列 C列 D列 E列 ・・・・・・・・・・・ 1234 あい うえ おか 0 ・・・・・・・・・・・ 1234 あい うえ おか はま ・・・・・・・・・・・ 4567 とな にぬ ぬね のた ・・・・・・・・・・・ 4567 とな にぬ ぬね 0 ・・・・・・・・・・・ 上記のように重複を取り出しE列に『0』と表記されている方を削除したいのですが、やり方がわかりません。 重複の抽出法と、削除方を教えてください。 列項目はかなり有り、行も5000以上あるデータです。
- ベストアンサー
- オフィス系ソフト
- 重複行を完全削除するエクセルのマクロ
Sub sakujyo() Dim i, ii As Long For i = 1 To Range("a65336").End(xlUp).Row For ii = Range("a65336").End(xlUp).Row To i + 1 Step -1 If Cells(i, 2).Value = Cells(ii, 2).Value _ And Cells(i, 4).Value = Cells(ii, 4).Value _ And Cells(i, 5).Value = Cells(ii, 5).Value Then Dim iii As Byte iii = 1 Rows(ii).Delete Shift:=xlUp End If Next ii If iii = 1 Then Rows(i).Delete Shift:=xlUp iii = 0 Next i End Sub データーが下の表のように入っております。 A B C E F 1 1/26 a1234 fdsa 5000 C1 2 1/27 a4567 sdfa 4000 T2 3 1/28 a1234 dfsa 5000 C1 4 1/30 b4567 asdf 6600 A2 5 2/10 b4567 fsda 6600 A2 6 2/10 a1234 afds 5000 C1 B列、E列、F列が完全一致(重複1行目と3行目と6行目・4行目と5行目)で削除し結果的に2行目だけ残る方法がしたいのですが、このマクロですと少ないデータですとうまく動くのですが、『大量のデータを一気に削除出来ない』、『同じ重複が3つ以上のデータが多数ある場合データが削除されずに残ってしまう』エラーが出てしまいます。どうかお教えください。
- ベストアンサー
- オフィス系ソフト
- エクセル 重複したセルの隣の値を抽出したい。
E1にD1が重複する名前をA列から検索し、隣のセルの「日付だけ」を抽出するにはどうすればよいのでしょうか? E1には「2013/4/1」と表示させたいです。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- マクロで困ってます!
マクロでセル検索かけたらそのセルに設定していたハイパーリンクが外れてしまいます。 どうすればいいでしょうか・・?お力を貸してください! バージョンは2007です! コードは下記になります! 同一ブック内の「データ」というシートにあるものを「検索更新」というシートで検索をかけるというものです。 宜しくお願いします!! Sub 検索2() myLAST = Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1 If myLAST < 5 Then myLAST = 5 Range("A5:F" & myLAST).ClearContents Set myC = Sheets(1).Columns(3) _ .Find(What:=Range("E2").Value, _ LookIn:=xlValues, LookAt:=xlPart) ' If myC Is Nothing Then Exit Sub myCa = myC.Address Do myLAST = Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1 Range("A" & myLAST) = myC.Row Range("B" & myLAST) = myC.Offset(0, -1) Range("C" & myLAST) = myC.Offset(0, 0) Range("D" & myLAST) = myC.Offset(0, 1) Range("E" & myLAST) = myC.Offset(0, 2) Range("F" & myLAST) = myC.Offset(0, 3) Set myC = Sheets(1).Columns(3).FindNext(myC) If myC Is Nothing _ Or myCa = myC.Address Then Exit Do Loop Set myC = Nothing End Sub Sub 更新() myLAST = Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row If myLAST < 5 Then myLAST = 5 For Each myC In Range("A5:A" & myLAST) If myC.Value = "" Then Exit Sub With Sheets(1) .Range("B" & myC.Value) = myC.Offset(0, 1) .Range("C" & myC.Value) = myC.Offset(0, 2) .Range("D" & myC.Value) = myC.Offset(0, 3) .Range("E" & myC.Value) = myC.Offset(0, 4) .Range("F" & myC.Value) = myC.Offset(0, 5) End With Range("A" & myC.Row & ":F" & myC.Row).ClearContents Next MsgBox "更新しました" End Sub
- ベストアンサー
- オフィス系ソフト
- 重複するデータの削除と抽出方法
はじめまして。 区分 ランク 001 A 002 B 002 B 003 C 004 D 005 E 005 F このようなデータを以下の条件で削除し抽出する方法を教えていただけないでしょうか。 ・区分が重複しているデータを削除したい。 ・しかし区分が重複していてもランクが異なる場合は削除しない。 ↓ 001 A 002 B 003 C 004 D 005 E 005 F エクセルとアクセス両方での方法を教えていただければ有難いのですが・・・(エクセル、アクセスとも初心者です) わかりにくい質問ですがよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
希望通りできました。ありがとう御座いました。