今日はこんなお困りごとを解決します。
Excelエクセルで「データの重複をチェックする方法と、重複したデータを削除する方法」を紹介していきますよ。
- CASE1:データに重複があるかチェックする方法
- CASE2:重複したデータを削除する方法
重複というのは「完全一致するデータが2つ以上重なって存在してしまっている」ということです。
この方法を使えば、自力で探す手間が省けるので作業効率が上がります。
CASE1:Excel(エクセル)でデータに重複があるかチェックする方法
データの重複をチェックする簡単な方法としては2つあります。
- COUNTIF関数を使った方法
- VLOOKUP関数を使った方法
では、順番に操作方法を解説していきます。
COUNTIF関数を使って重複をチェックする方法
COUNTIFで検索値に一致するデータ個数をカウントすることによってデータが重複しているかを調べる方法です。
COUNTIF関数の公式=COUNTIF ( 範囲, 検索条件)
範囲:検索をかけたい範囲
検索条件:検索したい条件
※検索条件には、数値・文字列・セル番号・数式・比較演算式が使える
では、操作方法です。
例:COUNTIF関数を使って番号Aと番号Bのデータに重複があるかをチェックする
(D列にチェック判定を表示させる)
番号Bのデータがそろぞれ番号Aの中にいくつあるかを見ていきます
(※関数はセルD3に入力したものをコピーするのでひとつひとつ入力する必要はありません)
1まずセルD3に関数を入力していく
=COUNTIF()の中に「範囲」「検索条件」を入れる
●範囲:$A$3:$A$11
検索をかけたい範囲は「A3:A11」だが、関数をドラッグ&コピーしたときに範囲をずらしたくないので絶対参照にして「$A$3:$A$11」とする
●検索条件:C3
検索したい条件はセルC3のデータなのでセル番号で指定して「C3」とする
これらを公式にあてはめると
=COUNTIF($A$3:$A$11,C3)
2セルD3に重複の数が表示される
3セルD3の関数をセルD11までオートフィルコピー(※オートフィルのやり方)
4全部のセルに重複数が表示される
この表示された数によって「重複があるかどうかを判別すればOK」
表示された数が・・・
- 「0」なら➔ データに重複なし
- 「1」なら➔ データに重複あり
(1つ重複が見つかった)
もし仮に返り値のデータ個数が「2」「3」・・・と表示されたら、重複データが2個、3個あるということになります。
このようにCOUNTIF関数を使えば『検索値に一致するデータの個数を数える』ことで重複があるかどうかを簡単にチェックうすることができます。
COUNTIFは重複があるかないかはもちろんそのデータに重複が 「何個 あったのか」重複の数も把握することができるので一石二鳥です。
VLOOKUP関数を使って重複をチェックする方法
VLOOKUPは、検索値に一致するデータ(もしくは一致したデータと同行のデータ)を引っぱってくる関数なので「一致するデータがある=重複がある」という判別の仕方で重複チェックができます。
VLOOKUP関数の公式=VLOOKUP( 検索値, 範囲 ,列番号 ,検索方法)
検索値:検索したい値
範囲:検索をかけたい範囲
列番号:抽出したい列(範囲中の左から数えて何番目か)
検索方法:検索する形式(※)
※検索方法は以下2パターンから選択する
完全一致で検索したいなら:「0」または「FALSE」
近似値検索をしたいなら:「1」または「TRUE」と入力
では、操作方法です。
例:VLOOKUP関数を使って番号Aと番号Bのデータに重複があるかをチェックする(D列にチェック判定を表示させる)
番号Bのデータがそれぞれ番号Aの中にあるかどうかを返ってくるデータの内容によって判別していく
(※関数はコピーするのでひとつひとつ入力する必要はありません)
1セルD3に関数を入力していく
=VLOOKUP()の中に「検索値」「範囲」「列番号」「検索方法」を入れていく
●検索値:C3
検索したい条件はセルC3のデータなのでセル番号で指定して「C3」とする
●範囲:$A$3:$A$11
検索をかけたい範囲は「A3:A11」だが、関数をドラッグ&コピーしたときに範囲をずらしたくないので絶対参照にして「$A$3:$A$11」とする
●列番号:1
抽出したい列は範囲中の左から数えて1列目なので「1」とする
●検索方法:0
検索する形式は完全一致でいいので「0」または「FALSE」とする
これらを公式にあてはめると
=VLOOKUP(C3,$A$3:$A$11,1,0)
2「#N/A」=エラーを意味する
➔ 指定の条件では一致するデータが見当たらなかったということです
3このセルD3の関数を下段までオートフィルコピー(※オートフィルのやり方)
4全セルのデータが表示される
この戻り値(表示されたデータ)によって重複があるかないかを判別する
表示された戻り値が・・・
- 「#N/A」なら➔ データに重複なし
- 検索値と同じ値なら➔ データ重複あり(いくつ重複しているかはわからない)
VLOOKUPを使った方法は「検索値に一致するデータを抽出している」のでCOUNTIF関数とは違い【重複がいくつあったかまでは判別することができません】
重複があるか、ないかさえがわかればOKというとき向けの方法です。
番外編:VLOOKUPのエラー値「#N/A」を別文字に変換して表示させる方法
VLOOKUP関数の重複チェックで表示される「#N/A」のエラー値。
先ほどの例では、これを間接的に重複ナシに判別していましたが「#N/A」を最初から別の文字に置き換えて表示させることも可能です。
それにはIFERROR関数(イフエラー関数)を使います。
IFERROR関数の公式
=IFERROR ( 値, エラーの場合の値)
値:エラー判定したい関数式や数式を入力
エラーの場合の値:エラーのときに表示させたい文字列や関数式、数式を入力
さきほどVLOOKUP関数の例で求めたデータをそのまま使って、エラー値を「重複なし」という文字で表示させてみます。
例)VLOOKUP関数を使って重複チェックする、またエラーの時は「重複なし」と表示させたい
1IFERROR関数を入力していく
●値:VLOOKUP(C3,$A$3:$A$11,1,0)
エラー判定したい関数式は、そのまま重複をチェックする式を使って「VLOOKUP(C3,$A$3:$A$11,1,0)」とする
●エラーの場合の値:"重複なし"
エラーのときに表示させたい文字列を重複なしなので「"」で囲って「"重複なし"」とする
公式にあてはめると以下になる
=IFERROR(VLOOKUP(C3,$A$3:$A$11,1,0),"重複なし")
2エラー値となるところが「重複なし」と表示されるようになる
あとは、全セルを処理したければセルD3の関数式をオートフィルコピーするだけでOK(※オートフィルのやり方)
自分が使うだけのデータであれば「#N/A」でも十分ですが、第三者が目に通すものであればこんなひと工夫も気づかいとして素敵ですよね。
CASE2:Excel(エクセル)で重複したデータを削除する方法
重複したデータを見つけてそのまま削除することもできます。
「重複を削除」という機能を使えば、同じ列にある重複データを一瞬で自動削除することができます。
この機能自体は「列データ(縦並びのデータ)」にしか使えませんが、
少し工夫すれば「行データ(横並びのデータ)」にも対応することができるので方法を2つ紹介していきたいと思います。
列データ(縦並びデータ)の重複を消す場合
まずは列データの重複削除の方法です。
例)A列にあるデータの重複を削除したい
1まずはA列をまるっと範囲選択して、データタブにある「重複を削除」をクリック
2ポップアップが開くので重複を削除したい列にチェックマークが入っているのを確認してOKボタンを押す
3「重複する1個の値が見つかり、削除されました。一意の値が7個残っています」とポップアップが開けば重複の削除完了
「りんご」のデータが1つ消えましたね!
もし重複データが存在しない場合は「重複する値は見つかりませんでした」と表示されます。
行データ(横並びデータ)の重複を消す場合
今度は ひと手間加えて行データの重複を消してみたいと思います。
方法としては、データを縦にして重複を削除したうえでもう1回横並びに直すっていう単純な作業です。
例)Aの行データの重複を削除したい
1まず行データ全体をまるっと範囲選択し適当なセルにカーソルを置いた状態で、マウス右クリック➔「形式を選択して貼り付け」をクリックする
ポップアップで行列を入れ替えるを選択してOKボタンをクリック
2貼り付けられた縦データを選択してデータタブの「重複を削除」をクリック
ポップアップが開いたらOKボタンを押して重複を削除する
3重複の消えた縦データ全体をコピーして適当なセルにカーソルを置き、もう一度同じ操作で行列を入れ替える
これで、重複の消えた状態の列データ(横並びデータ)が出来上がりました!
あとは、不要なデータは消したりして見た目を整えてもらったらばっちりです。
ちょっとひと手間かかりますが、どうしても行データで重複を削除したい場合は使ってみてください。
以上、今日は「データの重複をチェックする方法」「削除する方法」を紹介してきました。
簡単な操作なのでぜひ活用してみてください!
この記事を見ている人におすすめの本(Amazonレビュー:)