[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルのマッチング(n対n)』(うみ)
お世話になります。
A列に1000個ほどのデータ(文字列で日本語です)があり、B列に同じく1000個ほどのデータがあります。データの一部は被ります。
これらのマッチングをして差分(A列にあって、B列にないもの)を取得したいのですが、どのような方法があるでしょうか?
< 使用 Excel:Excel2013、使用 OS:Windows8 >
C1=IF(COUNTIF(B$1:B$1000,A1)=0,"〇","") を C1:C1000 にコピーし、〇でオートフィルタをかければ、A列だけにあるデータが 確認できると思います。 (Mook) 2014/10/26(日) 17:23
参考までに、Dictionaryを使ったマッチング例です。 (1行目は項目名「氏名」となっていると仮定、結果を 同じシートのD列に出すようにしました)
Sub AにあってBにない氏名() Dim dic As Object Dim dic2 As Object Dim a, b, e
'A,B列データを配列に a = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value b = Range("B2", Cells(Rows.Count, 2).End(xlUp)).Value
'B列データをDictionaryに Set dic = CreateObject("Scripting.Dictionary") For Each e In b dic(e) = Empty Next
'dic(B列)にないA列データだけを dic2に Set dic2 = CreateObject("Scripting.Dictionary") For Each e In a If Not dic.Exists(e) Then dic2(e) = Empty Next 'D列に 書き出し [D1].Value = "氏名" [D2].Resize(dic2.Count).Value = Application.Transpose(dic2.Keys()) End Sub (kanabun) 2014/10/26(日) 23:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.