エクセルを使って名簿や商品リストを管理していると、知らず知らずのうちに同じデータが複数回入力されてしまうことがあります。
こうした重複データは集計のミスを招く原因になりかねないため、早めに対処したいものです。
そこで便利なのが、エクセルで重複を削除して1つだけ残す関数や機能です。
特に最新のバージョンでは、関数ひとつでリストを整理できる便利な機能も登場しています。
もちろん、古いバージョンをお使いの方でも、工夫次第で同様の結果を得ることが可能です。
この記事では、エクセルで重複削除して1つ残す関数の使い方や、バージョンごとの対処法について詳しく解説していきます。
この記事を読むことで、以下のメリットが得られるでしょう。
・ エクセルのUNIQUE関数を使って重複データを瞬時に整理する方法が理解できる
・ 関数を使わずに標準機能で重複を削除する手順がわかる
・ COUNTIF関数などを応用して古いバージョンでもデータを抽出する方法が学べる
・ 重複データの削除だけでなくデータをまとめるための応用テクニックが身につく
エクセルで重複を削除して1つを残す関数と基本操作
ここではエクセルで重複を削除して1つを残す関数と基本操作について説明していきます。
データ整理の基本となる部分ですので、まずはここから押さえておくのが良いでしょう。
バージョンによって使える関数が異なる点も含め、順に見ていきましょう。
・ エクセルで重複を一つだけ抽出する関数UNIQUEの魅力
・ エクセルの重複削除機能で関数を使わずに整理
・ エクセルで重複を1つだけカウントするCOUNTIFの技
・ エクセルで重複の一番上だけ残す関数や操作の流れ
・ エクセル2016や2019で重複しないデータを抽出する関数
・ エクセルで重複データをまとめる関数活用時の注意点
エクセルで重複を一つだけ抽出する関数UNIQUEの魅力
Microsoft365やExcel2021以降をお使いの方であれば、UNIQUE関数を使うのが最も効率的かもしれません。
この関数は、指定した範囲の中から重複しないデータだけを取り出し、別のセルに一覧として表示してくれる非常に強力なツールです。
使い方はとてもシンプルで、数式を入力するセルに「=UNIQUE(範囲)」と記述するだけです。
これだけで、元データに重複があったとしても、抽出されたリストにはそれぞれの値が1つずつしか表示されません。
この関数の優れた点は、元のデータを変更すると、抽出結果も自動的に更新されるところでしょう。
たとえば、元リストに新しい重複データが追加されたとしても、UNIQUE関数の結果には影響しませんし、逆に新しいユニークなデータが増えれば即座に反映されます。
また、スピルという機能に対応しているため、数式をひとつのセルに入れるだけで、結果が隣接するセルに自動的に溢れ出して表示されます。
わざわざオートフィルで数式をコピーする必要がないのも、作業効率を高める大きな要因と言えるでしょう。
もし最新の環境で作業ができるのであれば、まずはこの関数の利用を検討してみることをおすすめします。
エクセルの重複削除機能で関数を使わずに整理
関数を使うのが少し苦手だと感じる場合や、手っ取り早くリストをきれいにしたい場合は、エクセルの標準機能である「重複の削除」を利用するのが良いでしょう。
これは「データ」タブの中に用意されている機能で、リストを選択してボタンを押すだけで、重複している行を探し出し、不要な分を削除してくれます。
この機能を使う際に意識しておきたいのは、データそのものが加工されてしまうという点です。
関数であれば元のデータを残したまま別の場所に結果を表示しますが、この機能は元のリストを直接操作して重複行を消してしまいます。
そのため、後から「やっぱり元のデータが必要だった」となっても、元に戻すのが難しい場合があります。
念のため、作業を行う前にはシートをコピーしておくか、別の場所にバックアップをとっておくのが賢明かもしれません。
操作手順としては、対象のセル範囲を選択し、「重複の削除」をクリックします。
すると、どの列を基準に重複を判断するかを尋ねるダイアログが表示されます。
全ての列にチェックを入れれば、行全体が完全に一致する場合のみ削除されますし、特定の列だけを選べば、その項目の重複のみを削除対象とすることができます。
エクセルで重複を1つだけカウントするCOUNTIFの技
古いバージョンのエクセルを使っている場合や、単純に重複していないデータの個数を知りたいだけという場合には、COUNTIF関数を工夫して使う方法があります。
COUNTIF関数は、指定した範囲内で検索条件に一致するセルの個数を数えるものですが、これを応用することで、リスト内で初めて登場するデータだけに「1」というフラグを立てることができます。
具体的には、「=COUNTIF($A$1:A1,A1)」のように、範囲の開始位置を絶対参照で固定し、終了位置を相対参照にするのがポイントです。
こうすることで、数式を下にコピーしていくにつれて検索範囲が徐々に広がっていきます。
その結果、リストの上から順に見ていき、その値が初めて出てきた時には「1」となり、2回目以降の登場では「2」「3」とカウントが増えていきます。
この計算結果を利用してフィルター機能を使えば、「1」となっている行だけを抽出することが可能です。
つまり、実質的に重複を除外して1つずつデータを残した状態を作り出せるわけです。
この方法は、最新の関数が使えない環境でも確実に動作するため、覚えておくと多くの場面で役立つテクニックと言えるでしょう。
多少の手間はかかりますが、論理的で確実な手法です。
エクセルで重複の一番上だけ残す関数や操作の流れ
重複データを削除する際、どのデータを残すかという優先順位が気になることがあるかもしれません。
基本的には、エクセルの重複削除機能やCOUNTIF関数を使った抽出では、リストの上にあるデータが優先的に残る仕組みになっています。
つまり、重複データの中で一番上だけ残す関数や操作を行いたい場合は、事前の並べ替えが非常に重要になります。
たとえば、日付順にデータが並んでいて、最新の日付のデータを残したいのであれば、あらかじめ日付の新しい順(降順)に並べ替えておく必要があります。
そうしないと、古いデータがリストの上位に来てしまい、結果として最新の情報が削除されてしまう可能性があるからです。
UNIQUE関数を使う場合も同様で、元のリストの出現順にデータが抽出されます。
もし特定の条件で一番上のデータを決めたいのであれば、SORT関数と組み合わせるなどの工夫が必要です。
このように考えると、重複削除は単にデータを消す作業ではなく、どのデータを正として残すかという意思決定のプロセスでもあります。
操作を行う前に、リストがどのような順番で並んでいるかを確認する習慣をつけると、意図しないデータの消失を防ぐことができるでしょう。
エクセル2016や2019で重複しないデータを抽出する関数
Excel2016や2019といったバージョンでは、残念ながら便利なUNIQUE関数が標準では搭載されていません。
しかし、だからといって重複しない抽出ができないわけではありません。
これらのバージョンで関数を使って重複を除外したい場合は、INDEX関数とMATCH関数、そしてCOUNTIF関数を複雑に組み合わせた配列数式を使用することが一般的でした。
たとえば、作業列を作って重複していないデータに番号を振り、その番号をキーにしてVLOOKUPやINDEX関数で別の場所に呼び出すという手順です。
これは非常に高度な知識を必要とするため、初心者の方には少々ハードルが高いかもしれません。
そこで推奨されるのが、「フィルターオプションの設定(詳細設定)」機能を使う方法です。
この機能には「重複するレコードは無視する」というチェックボックスが用意されており、これにチェックを入れて抽出先を指定することで、UNIQUE関数に近い結果を得ることができます。
関数にこだわらなければ、この機能を使うのが最も手軽で確実です。
また、ピボットテーブルを使ってデータを集計することでも、重複をまとめて1つに表示させることが可能です。
環境に合わせた最適なツールを選ぶ柔軟性が求められます。
エクセルで重複データをまとめる関数活用時の注意点
重複データをまとめる際に見落としがちなのが、データの「表記ゆれ」です。
関数や機能は機械的に文字を判別するため、たとえば「株式会社」と「(株)」は全く別のデータとして扱われます。
また、目には見えない不要なスペースが含まれている場合も、別の値として認識されてしまい、重複削除の対象から漏れてしまうことがあります。
そのため、いきなり重複削除の関数を使うのではなく、まずはTRIM関数で余分な空白を除去したり、置換機能で表記を統一したりといった前処理を行うことが大切です。
さらに、数値としての「1」と文字列としての「1」も区別されることがあります。
これらが混在していると、見た目は同じなのに重複として処理されず、結果としてリストに同じようなデータが残ってしまうことになります。
こうした事態を防ぐためには、データ型の統一も意識する必要があります。
関数を使って効率化を図ることは素晴らしいことですが、その前提となるデータの精度が低ければ、期待通りの結果は得られません。
作業を始める前に、データそのものがきれいな状態かどうかを一度確認する時間を設けることで、手戻りのないスムーズな作業が実現できるはずです。
エクセルの重複削除で1つだけ残す関数を応用するテクニック
ここではエクセルの重複削除で1つだけ残す関数を応用するテクニックについて説明していきます。
基本操作をマスターしたら、次はさらに実務的なシチュエーションでの活用法を学んでいきましょう。
トラブルシューティングや高度な機能との組み合わせについて、順に見ていきましょう。
・ エクセルで重複抽出する関数が動かない原因と対処法
・ データの前処理として表記ゆれを確認する重要性
・ 複数の列を組み合わせてユニークな値を作る方法
・ パワークエリを使って高度な重複削除を行う手順
・ 業務効率化に繋がるショートカットとマクロの可能性
・ エクセルで重複削除して1つ残す関数のまとめ
エクセルで重複抽出する関数が動かない原因と対処法
UNIQUE関数やその他の抽出テクニックを使ってみたものの、なぜかうまく動作しない、あるいはエラーが出るといった経験をすることがあるかもしれません。
その原因の多くは、参照範囲の設定ミスやデータ形式の不整合にあります。
たとえば、スピル機能を使うUNIQUE関数の場合、結果を表示しようとしているセル範囲にすでに何らかの文字が入っていると、「#SPILL!」というエラーが表示されます。
これは「結果を表示したいけれど場所が空いていない」というエクセルからのメッセージです。
この場合は、出力先のセル範囲をクリアにするだけで解決します。
また、数式の結果が更新されない場合は、計算方法の設定が「手動」になっていないか確認してみてください。
「数式」タブの計算方法が自動になっていれば、データの変更に合わせて即座に結果が変わるはずです。
その他にも、結合セルが含まれている範囲を参照しようとすると、正しく計算できないことがあります。
データベースとして扱うリストにおいては、セルの結合は避けるのが鉄則です。
もしどうしても動かない場合は、一度新しいシートにデータを値貼り付けして、シンプルな状態で試してみると原因が特定しやすくなるでしょう。
データの前処理として表記ゆれを確認する重要性
前述の通り、重複削除の精度を高めるためにはデータの前処理が不可欠です。
特に日本語のデータは、全角と半角の違い、大文字と小文字の違いなど、表記ゆれが発生しやすい要素を多く含んでいます。
これらを統一するために役立つのがJIS関数やASC関数です。
JIS関数を使えば半角文字を全角に、ASC関数を使えば全角文字を半角に変換することができます。
これらを活用して、まずは全てのデータの規格を揃えてしまいましょう。
また、PHONETIC関数を使ってフリガナ情報を取り出し、それを基準に並べ替えや統一を行うのも一つの手です。
さらに見落としがちなのが、セル内の改行コードです。
見た目にはわからなくても、改行が含まれているデータとそうでないデータは別物として扱われます。
CLEAN関数を使えば、こうした印刷できない制御文字を取り除くことができます。
地味な作業に思えるかもしれませんが、こうした前処理を丁寧に行うことこそが、正確な重複削除への近道となります。
急がば回れの精神で、データのクリーニングから始めることをおすすめします。
きれいなデータは、その後の分析や活用においても大きな資産となるはずです。
複数の列を組み合わせてユニークな値を作る方法
実務では、1つの列だけで重複を判断するのではなく、「氏名」と「電話番号」の両方が一致している場合のみ重複とみなしたい、といったケースが多々あります。
このような複合的な条件で重複削除を行いたい場合、作業列を活用するのが効果的です。
具体的には、「=A2&B2」のようにアンパサンドを使って複数のセルの内容を結合し、一つの文字列として扱います。
この結合したデータに対してCOUNTIF関数やUNIQUE関数を適用すれば、複数の項目を考慮した上での重複判定が可能になります。
もし区切り文字がないとデータがつながって誤判定する可能性がある場合は、「=A2&”_”&B2」のように間に記号を挟むとより安全です。
このテクニックを使えば、例えば「日付」と「商品名」と「担当者」の組み合わせでユニークな取引だけを抽出するといった、複雑な集計も容易になります。
標準の「重複の削除」機能でも複数列を選択することは可能ですが、関数を使ってこのロジックを組んでおけば、元データを触らずに常に最新のユニークリストを別シートに生成し続けることができます。
柔軟なデータ管理を実現するための、非常に実用的なアプローチと言えるでしょう。
パワークエリを使って高度な重複削除を行う手順
エクセルにはパワークエリという、データの取得と変換に特化した非常に強力なツールが搭載されています。
大量のデータを扱う場合や、毎月同じ形式のレポートを作成する場合などは、関数よりもパワークエリを使う方が効率的なことがあります。
パワークエリエディタを開き、対象の列を選択して「重複の削除」を選ぶだけで、簡単にユニークなリストを作成できます。
このツールの最大の利点は、行った操作が「クエリ」として保存される点です。
つまり、来月また新しいデータが届いたとしても、データのソースを更新して「更新」ボタンを押すだけで、前回と同じ重複削除の処理が自動的に適用されます。
関数のように再計算で重くなることも少なく、数万行、数十万行といったビッグデータに対しても比較的高速に動作します。
また、元データを一切変更せずに処理結果だけを出力するため、安全性も高いと言えます。
最初はとっつきにくい印象があるかもしれませんが、操作自体はマウスだけで完結する部分が多く、慣れれば手放せないツールになるはずです。
ワンランク上のデータ整理術として、ぜひ習得に挑戦してみてはいかがでしょうか。
業務効率化に繋がるショートカットとマクロの可能性
重複削除の作業が頻繁に発生するのであれば、ショートカットキーやマクロを使って作業時間を短縮することを考えてみましょう。
「重複の削除」ダイアログを呼び出すためのショートカットキーは、「Alt」→「A」→「M」の順番でキーを押すことでアクセスできます。
これだけでも、マウスでタブを切り替えてボタンを探す時間を節約できます。
また、毎回同じ手順でデータの前処理や重複削除を行っているなら、その操作をマクロとして記録してしまうのも有効です。
「マクロの記録」ボタンを押してから一連の操作を行い、記録を終了すれば、次からはボタン一つでその作業を再現できるようになります。
VBAの知識があれば、さらに高度な条件分岐や、複数のシートを一括処理するようなプログラムを組むことも可能です。
たとえば、ファイルを開いた瞬間に自動的に重複チェックを行い、重複があればアラートを出すといった仕組みも作れます。
少しの工夫と自動化への意識が、日々のルーチンワークを劇的に楽にしてくれる可能性があります。
まずは簡単なショートカットから始めて、徐々に自動化の範囲を広げていくと良いでしょう。
エクセルで重複削除して1つ残す関数のまとめ
今回はエクセルで重複削除して1つ残す関数についてお伝えしました。
以下に、本記事の内容を要約します。
・ エクセルで重複データを整理する方法は関数と標準機能の2通りがある
・ 最新版のエクセルならUNIQUE関数を使うのが最も簡単で効率的である
・ UNIQUE関数は元データの変更をリアルタイムに反映する
・ 重複の削除機能は手軽だが元データが消えるためバックアップが必要である
・ 古いバージョンではCOUNTIF関数を工夫して重複を判定できる
・ COUNTIF関数の範囲を可変にすることで出現回数をカウントできる
・ 重複削除は基本的にリストの上にあるデータが優先して残る
・ 任意のデータを残したい場合は事前の並べ替えが重要である
・ Excel2016や2019ではフィルターオプションの活用が推奨される
・ 表記ゆれや余分なスペースは重複削除の精度を下げる原因になる
・ TRIM関数や置換機能を使ってデータの前処理を行うことが大切である
・ 複数列の重複判定にはデータを結合した作業列を作ると良い
・ パワークエリを使えば大量データの重複削除も自動化できる
・ ショートカットキーAlt+A+Mで重複削除画面を呼び出せる
・ 目的に応じて関数と機能を使い分けるのが賢い活用法である
エクセルでの重複削除は、データの正確性を保つために避けては通れない作業です。
ご自身の環境や目的に合った方法を選び、効率的にデータを整理していってください。
この記事が、快適なエクセルライフの一助となれば幸いです。
これはCTAサンプルです。
内容を編集するか削除してください。