• ベストアンサー

メインのデータと比較してないものを抽出(エクセル)

電話番号データの比較を行っています。 現在は手作業なので、エクセルで一括でできないかと 思い、質問させていただきます。 メインデータ(A)と 比較データ(B)があります。 これらを照らし合わせて メインデータ(A)に存在して、比較データ(B)に 存在しない数字を抜き出す、か、 もしくは隣接するセルに存在しないなら「1」… といった判定をするにはどのようにすれば よいでしょうか? メインデータには比較データの数字が必ず存在。 比較データに存在してメインデータに存在することはない。 お知恵をお貸しください

質問者が選んだベストアンサー

  • ベストアンサー
  • kuma3f
  • ベストアンサー率63% (28/44)
回答No.2

思われていることと違っていましたらすみませんが、参考までに次のコードをマクロに貼り付けて実行してみてください。 例はSheet1のA列とSheet1のB列を比較してB列のデータがA列に無かったら隣接するセル(C列)に1を表示させています。 元を壊してはいけないので、Bookをコピーして試してみてください。 メニューバーの「ツール」→「マクロ」→「マクロ」をクリック  ↓ マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:比較)  ↓ 名前を入力しましたら、「作成」をクリック  ↓ Microsoft Visual Basicの画面が開きますのでSub 比較()の下に次のコードをコピーして貼り付けてください。 Dim A列の最大値 As Long Dim B列の最大値 As Long Dim A列のカウント As Long Dim B列のカウント As Long Sheets("sheet1").Range("C1:C65536").ClearContents Sheets("sheet1").Range("A65536").End(xlUp).Select A列の最大値 = ActiveCell.Row Sheets("sheet1").Range("B65536").End(xlUp).Select B列の最大値 = ActiveCell.Row A列のカウント = 1 B列のカウント = 1 Do A列のカウント = 1 Sheets("sheet1").Cells(B列のカウント, 3) = 1 Do If Sheets("sheet1").Cells(A列のカウント, 1) = Sheets("sheet1").Cells(B列のカウント, 2) Then Sheets("sheet1").Cells(B列のカウント, 3) = "" End If A列のカウント = A列のカウント + 1 Loop Until A列のカウント > A列の最大値 B列のカウント = B列のカウント + 1 Loop Until B列のカウント > B列の最大値 ****コピー貼り付けはここまで **** Microsoft Visual Basicの画面を×で閉じます  ↓ Excel画面のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック  ↓ 先ほど名前を付けたマクロを選択して「実行」をクリック

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

C1 =IF(COUNTIF(A:A,"="&B1),"",1) で下にフィルコピーとかでは? 「1」が判定の場合。 1,2,3と番号を振りたいのなら無理ですけど。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>メインデータ(A)と >比較データ(B)があります。 Excelについてであれば、どのようなSheet構成(A列が・・・、Sheet2が・・・) 等の情報を提示された方がいいと思います。 ところで、データはExcelですよね?

etu007
質問者

補足

失礼しました データもExcelです メインデータ(電話番号)A列 比較データ(電話番号)B列 という具合です

関連するQ&A