"重複チェック"や"重複削除"の方法は、ひとつではありません。その方法を難易度や発展性とあわせて紹介しておきます。特に、最後に紹介している「重複削除」は一番効率的です。が…(続きは本文にて)
※重複削除する項目は[氏名]として、本文を記載しております。
1.「並び替え&IF関数」で判定
わかりやすくシステム負荷も低く、初心者でも使いこなせるでしょう。並び替えることで目で見て確認もでき、また使用する関数も理解しやすいIF関数です。スマートにこなそうとして時間がかかってしまうのであれば、この方法をおすすめします。
難易度 ★☆☆
システム負荷 ★☆☆
発展性 ★☆☆
分かりやすさ ★★★★★
まずは[氏名]で並べ替えます。昇順でも、降順でもどちらでもOKです。
続いて重複を判定します。式は以下の通り。式を要約すると"上の行と同じ値の場合は"重複"、上の行と異なる値の場合は(ブランク)"となります。
=IF(C1=C2,"重複","")
あとは[重複]列をフィルターで"重複"のチェックを外せばOKです。小難しい$(ドルマーク)も不要。並べ替えが前提になるためもとの並び順を維持できない点がデメリットですが、考え方もやり方もカンタンなやり方です。
2.「Countif」で判定
並び替える必要がなく操作はカンタンですが、少し理屈が難しいかもしれません。一度理解できれば、操作性もよくシステム負荷も高くないため一番バランスの取れた方法です。
難易度 ★★☆
システム負荷 ★★☆
発展性 ★★☆
バランス ★★★★★
式は以下の通り。ポイントは範囲指定の始点のみ固定し、終点は可変にするところ。式を要約すると"データ開始行から自セルの行までの中で、自セルと同じ値のセルがいくつあるか数える"となります。
=COUNTIF($C$2:C2,C2)
終点を固定しないことで全件にコピーした際に検索範囲が自セルまでとなります。
[通し番号]を作成できたら、後はフィルターで[通し番号]=1のみ表示させればOKです。
3.「ピボットテーブル」で判定
"ピボット"と聞くだけで「え˝~」と拒否反応されるかもしれませんが、重複削除だけならとってもカンタンです。ピボットを使いこなせるようになると、Excelでのデータ処理の幅は飛躍的に広がります。ピボットを覚える手始めとして、この内容に触れてみてください。
難易度 ★★☆
システム負荷 ★★★
発展性 ★★★★★
対象データを選択し、[挿入]タブの[ピボットテーブル]を選択。ポップアップウィンドウが出ますが、何も気にせずに[完了]をタッチします。
(ここからはちょっと応用編。読み飛ばしてもOKです。ブログなので斜めには読めませんがナナメ読みでも・・・)
重複削除した後にダブルクリックだけで元のデータをリストアップできます。例えば、ピボットテーブルのフィールドで値に[氏名]をドラッグ&ドロップし、[データの個数]としておきます。
これで、ピボットテーブルに1列追加され、[氏名]ごとに重複データの数を把握できます。さらに数字をダブルクリックすると、
このように、クリックした元データをリストアップできます。これは便利!
4.「重複削除」機能による一発削除
実はこれがとてもカンタンです。処理過程が見えないため心細さがありますが、Excelの標準機能として実装されているので本来的には一番オススメの機能です。
難易度 ★☆☆
システム負荷 ★☆☆
発展性 ★★★
心細さ ★★★★★
ポップアップウィンドウが出るので、不要な項目のチェックを外し、[氏名]のチェックのみ残してOKすれば
5.まとめ
重複削除一つをとっても、やり方は一つではありません。データ量や後処理によって使い分けることで、生産性向上にもつながります。
- 並び替え&IF関数
- Countif
- ピボットテーブル
- 「重複削除」機能
6.関連記事
「Excel関数とはさみは使いよう!」の事例をご紹介します。数値を整数にするINT関数も、使い方次第でこんなものにもつかえます。
◇年齢を年代に3秒で INT関数での一発計算
もうひとつ「Excel関数とはさみは使いよう!」の事例です。日付の計算って、やり方次第でなんでもやれます。たくさんの関数を覚えてシーンに応じて使いこなすよりも、汎用的な関数を1つ覚えて使いこなす方が効率的な場合もあります。
◇VBAもDateAddも使わない日付計算