こんにちは。エクセルで作成された2つのファイルの値の比較をしようとしていて、不一致行を抽出しようとしています。以下をエクセル上もしくはアクセスで簡単に抽出できる方法を教えてください。
2つのファイルには列が8列ずつあります。5列目までが一致しているけれども6-8列目が異なるケースを抜き出したいと思っています。
例えば
Aファイル
A,A,A,A,A,100,200,0 ・・・(1)
A,A,A,A,A,200,200,0 ・・・(2)
Bファイル
A,A,A,A,A,100,200,0・・・(1)
A,A,A,A,A,200,100,0・・・(2)
上記の場合(2)のデータの抽出をしたいと思っております。
No.1ベストアンサー
- 回答日時:
Aファイルを開いておいて(ttt1.xlsとする)、そのVBEの標準モジュールに下記を貼りつける。
比較対象はファイルB(ttt2.xls)とし、閉じておくこと。両ファイルともSheet1にデータがあるとする。Sub test01()
k = 1
Workbooks.Open "c:\my documents\ttt2.xls"
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Workbooks("ttt1.xls").Worksheets("sheet1")
Set sh2 = Workbooks("ttt2.xls").Worksheets("sheet1")
d = sh1.Range("a1").CurrentRegion.Rows.Count
' MsgBox d
For i = 1 To d
GoSub hikaku
If eq = "y" Then
Else
Cells(k, 10) = i '不一致行番号
For j = 1 To 8
sh1.Cells(k, j + 10) = sh2.Cells(i, j)
Next j
k = k + 1
End If
Next i
Exit Sub
'-----
hikaku:
If (sh1.Cells(i, 1) = sh2.Cells(i, 1)) And _
(sh1.Cells(i, 2) = sh2.Cells(i, 2)) And _
(sh1.Cells(i, 3) = sh2.Cells(i, 3)) Then
eq = "y"
Else
eq = "n"
End If
Return
End Sub
(テストデータ)Aファイル
a121
b232
c453
d344
e455
f236
g447
h218
Bファイル
a121
b232
c453
d344
e4533
f236
g447
h218
(結果)
j1から
5e4533
実際例では、ファイル名、シート名、列の番号(Cells()の
()の中)など適当に変える必要ありますが。
また本例では、簡略化して、A、B、Cの3列しか比較してません。
ありがとうございます。質問後、試行錯誤して複数項目をカチネーションして、1項目にしアクセスの不一致クエリを使用して解決いたしました。
マクロを組むといいとは思ってはいたのですが経験がないので、いつも尻ごみをしてしまいます。例文をみてもピンとこないのですが、このようにあるものをこうやって実現するんだという形にしていただけるとすごく勉強になります。この方法でも試してみようと思います。最近、ファイルの値の比較の作業が非常に多く短時間で大量データを扱うことが多いためまた質問をするかもしれません。今回はありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- 統計学 お世話になっています. x軸は時間(期間)y軸はある値に対する2つのグラフ比較をしますが、私個人の考 2 2023/03/30 11:42
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルの設定一覧のようなものは出力できますか? 同じエクセルのファイルを開いた時にチームのメンバー 2 2023/02/16 16:45
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA インデックスの境...
-
VBA別シートの最終行の下行へ貼...
-
Excel で行を指定回数だけコピ...
-
VBA 貼付先範囲(行)がいっぱ...
-
エクセルのマクロで会社別・商...
-
excel:色付き文字の抽出と変換法
-
Excelマクロ データが上書きさ...
-
821sh 非通知拒否設定について
-
excelの差込印刷で可視セルだけ...
-
VBAで複雑な構成の転記
-
スマホで古いPCにテザリング
-
Excel VBA 複数条件にマッチし...
-
みかんの房に付いている繊維の...
-
エクセルVBA 別シートの複数の...
-
VBAの指示の内容 昨日こちらで...
-
エコウォッシュシステムの値段...
-
画像のものはシャワージェルな...
-
VBA:同じ文字列データの比...
-
エクセルVBAで 2種のリストを...
-
VBA 最終行取得からの繰り返し貼付
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
エクセルVBA 別シートの複数の...
-
シャープのアクオス sh-m25 を...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
VBA:同じ文字列データの比...
-
エクセルVBAで 2種のリストを...
-
エクセル:VBAで月変わりで、自...
-
歯抜けの時間を埋めて行の挿入
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
VBA別シートの最終行の下行へ貼...
-
EXCELマクロで全シート対...
-
Excel VBAでシート内全体に非表...
-
VBA 貼付先範囲(行)がいっぱ...
-
VBAで複数シート選択
-
【VBA】UserForm1の中で使うワ...
-
VBAで複雑な構成の転記
-
【WORD差し込み印刷】複数レコ...
-
エクセルVBAでの日付順のデ...
おすすめ情報