• ベストアンサー

エクセルのデータ抽出方法について

たとばデータベースに3000のデータが入っていて、そのうち450のデータを削除したいとします。 削除したいデータが別シートにあるとして関数を使って何らかの印(○とか×とか)をつけて 最終的にはオートフィルターでいらないデータを削除したいのですが、 この場合なにか使える関数等ありますでしょうか? ちなみに、データ内容は名前・住所等です。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 例えば、名前がA列に入力されているものとします。  まず、別シートの適当な列(例えばSheet2のA列)に削除したい名前を全て入力しておきます。  そして、元のシートの印をつけたい列の1行目のセルに、次の数式を入力してから、そのセルをコピーして、同じ行の2行目以下に貼り付けると良いと思います。 =IF(COUNTIF(Sheet2!$A:$A,$A1)=0,"","○")  又、A列のデータがフルネームで入力されていて、佐藤や鈴木等の苗字のみ指定して印をつける場合には、同様に削除対象の苗字をSheet2のA列に並べておき、入力する数式は次の様にします。 =IF(SUMPRODUCT((ISERROR(FIND(Sheet2!$A$1:$A$99,$A1)))*1)=COUNTA($A:$A),"","○")  或いは次の数式でも同じ事が出来ます。 =IF(SUMPRODUCT((SUBSTITUTE($A1,Sheet2!$A$1:$A$99,)<>$A1)*1)=0,"","○")  尚、上記の苗字のみを対象とした数式は、Sheet2のA列にデータを入力した行数が99行以下である場合に対応しています。  もし、Sheet2のA列にデータを入力した行数が99行以上である場合には、数式中の99と記述されている箇所を、Sheet2のA列にデータを入力した行数に合わせて変更して下さい。(但し、あまり数字を大きくし過ぎると、計算処理に要する時間が長くなります)  住所の削除に関しても、同様に考えれば良いのですが、市町村や郡の名前の中には、他の市町村や群、県等と同じ文字列を含んでいるものも稀にはありますから、削除前に余計な行が混じっていないかをチェックする等の、注意が必要になると思います。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

削除対象データシートに対象データを照合するのが一般的で、IF関数とCOUNTIF、VLOOKUP関数等の組み合わせでしょうか。 一例ですが、IF(COUNTIF(削除シートのデータ範囲,検索値),"○","×")の様な様式になります。

noname#131542
noname#131542
回答No.1

例えば入金済みは削除しますというような条件付とかならマクロ使えば簡単ですが