目次
このチュートリアルでは、Excelで重複を検索する方法を説明します。 重複する値を識別したり、重複する行を初出の有無にかかわらず検索するためのいくつかの数式を学習します。 また、重複するレコードのインスタンスを個別にカウントして列内の重複の合計数を求める方法、重複をフィルタする方法などを学習します。
大きなExcelワークシートで作業しているとき、またはいくつかの小さなスプレッドシートを大きなものに統合しているとき、その中に重複した行がたくさん見つかるかもしれません。 以前のチュートリアルで、2つのテーブルまたは列を比較して重複を見つけるさまざまな方法について説明しました。
そして今日は、1つのリストで重複を識別するための迅速かつ効果的な方法をいくつか紹介したいと思います。 これらの解決策は、Excel 365、Excel 2021、Excel 2019、Excel 2016、Excel 2013以下のすべてのバージョンで機能します。
Excelで重複を識別する方法
Excelで重複を検出する最も簡単な方法は、COUNTIF関数を使用することです。 初出がある場合とない場合のどちらの重複値を検出したいかによって、次の例に示すように、数式に若干の違いが出てくるでしょう。
1stオカレンスを含む重複レコードの検索方法
A列には、請求書、製品ID、名前、その他のデータなど、重複をチェックしたい項目のリストがあるとします。
ここでは、Excelで初出(A2が最上位のセル)を含めて重複を見つけるための数式を紹介します。
=COUNTIF(A:A, A2)>1
B2に上記の数式を入力し、B2を選択してフィルハンドルをドラッグして他のセルに数式をコピーダウンします。
上のスクリーンショットにあるように、この式は重複する値に対してはTRUEを、ユニークな値に対してはFALSEを返します。
注)重複を検出する必要がある場合は セル範囲 例えば、セルA2:A8の重複を検索する場合は、次の式を使用します。
=COUNTIF( A$2:$A$8 A2)>1
重複する数式が TRUE や FALSE といったブール値よりも意味のある値を返すようにするには、IF 関数で数式を囲み、重複する値やユニークな値に対して必要なラベルを入力します。
=IF(COUNTIF($A$2:$A$8, $A2)>1, "Duplicate", "Unique")
また、Excelの計算式で重複だけを見つけたい場合は、以下のように「Unique」を空文字列("")に置き換えてください。
=IF(COUNTIF($A$2:$A$8, $A2)>1, "Duplicate", "")
この数式は、重複するレコードには「Duplicates」、ユニークなレコードには空白のセルを返します。
エクセルで重複を検索する方法(1回目の発生を除く
重複を発見した後、フィルタリングや削除を行う場合、上記の式を使用すると、同じレコードがすべて重複としてマークされるため、安全ではありません。 また、リストにユニークな値を残したい場合、重複するレコードをすべて削除することはできず、2番目以降のインスタンスのみを削除する必要があります。
そこで、Excelの複製式に、適宜、絶対セル参照と相対セル参照を用いて修正してみましょう。
=IF(COUNTIF($A$2:$A2, $A2)>1, "Duplicate", "")
次のスクリーンショットにあるように、この数式は、最初に出現する " りんご 「を重複して表示します。
Excelで大文字と小文字を区別して重複を見つける方法
テキストケースを含む完全な重複を識別する必要がある場合、この汎用配列式(Ctrl + Shift + Enterキーで入力)を使用します。
if( sum( ( --exact( レンジ , 最上部_セル )))<=1, "", "重複")式の中心では、EXACT関数を使って、対象のセルと指定した範囲の各セルを正確に比較しています。 この操作の結果は、TRUE(一致)とFALSE(不一致)の配列で、単項演算子(--)によって1と0の配列に強制されます。 その後、SUM関数で数値を合計し、1より大きい場合は、IF関数によって、「1,0,0」と報告します。"Duplicate"(複製)。
今回のサンプルデータセットでは、以下のような式になります。
=IF(SUM((--EXACT($A$2:$A$8,A2)))<=1,"", "Duplicate")
下のスクリーンショットに示すように、小文字と大文字を別の文字として扱います(APPLESは重複して認識されません)。
ヒント:Googleスプレッドシートを使用している場合は、次の記事が参考になるかもしれません:Googleシートで重複を検索して削除する方法。
Excelで重複した行を見つける方法
複数のカラムからなるテーブルを解析する場合、各カラムをチェックし、以下のような数式が必要です。 ぜったいふくすうれつ つまり、すべての列で完全に等しい値を持つ行です。
例えば、A列に注文番号、B列に日付、C列に注文された項目があり、同じ注文番号、日付、項目の重複行を見つけたいとします。 そのために、一度に複数の条件をチェックできるCOUNTIFS関数をベースに重複計算式を作成することになります。
への 重複行を1回目で検索する は、この数式を使用します。
=IF(COUNTIFS($A$2:$A$8,$A2,$B$2:$B$8,$B2,$C$2:$C$8,$C2)>1, "Duplicate row", "".)
例えば、8行目は、2行目と5行目と同じ注文番号と日付を持っていますが、C列の項目が異なるため、重複行としてマークされません。
表示するには 1回目の出現がない重複した行 は、上記の数式を少し調整します。
=IF(COUNTIFS($A$2:$A2,$A2,$B$2:$B2,$B2,$B$2,$C$2:$C2,$C2,)>1, "Duplicate row", "")
Excelで重複をカウントする方法
Excelシート内の同一レコードの正確な数を知りたい場合は、以下の計算式のいずれかを使用して重複をカウントします。
各複製レコードのインスタンスを個別にカウントする
値が重複している列がある場合、その値ごとに何個重複しているかを知りたいことがよくあります。
Excelのワークシートで、この項目やあの項目が何回発生したかを調べるには、単純なCOUNTIF式を使います。A2はリストの最初の項目、A8はリストの最後の項目です。
=countif($a$2:$a$8, $a2)
次のスクリーンショットに示すように、この数式は各項目の出現回数をカウントします: " りんご 「が3回発生し、" グリーンバナナ " - 2回、" バナナ " と " オレンジ " は一度だけです。
各項目の1回目、2回目、3回目などの出現回数を特定したい場合は、以下の式を使用します。
=countif($a$2:$a2, $a2)
を数えるのと同じ要領で ぞくはつ 重複行 ただ、COUNTIFの代わりにCOUNTIFS関数を使う必要があります。 たとえば、以下のようになります。
=countifs($a$2:$a$8, $a2, $b$2:$b$8, $b2)
重複する値がカウントされたら、ユニークな値を隠して重複する値だけを表示したり、その逆を行うことができます。 これを行うには、次の例で示したようにExcelの自動フィルタを適用します:Excelで重複をフィルタリングする方法。
ある列の重複の総数を数える。
列の重複を数える最も簡単な方法は、Excelで重複を識別するために使用したいずれかの数式を採用することです(初出があるかないかにかかわらず)。 そして、次のCOUNTIF数式を使って重複した値を数えることができます。
=COUNTIF(range, "duplicate")
どこの国 " デュプリケート 「は、重複を検索する数式で使用したラベルです。
この例では、複製した式は次のような形になります。
=COUNTIF(B2:B8, "duplicate")
Excel で重複する値を数えるには、より複雑な配列式を使用する方法もあります。 この方法の利点は、ヘルパー列を必要としないことです。
=rows($a$2:$a$8)-sum(if( countif($a$2:$a$8,$a$2:$a$8)=1,1,0)))
この式は配列式なので、Ctrl + Shift + Enter を忘れずに押して完成させてください。 また、この式は重複したレコードをすべてカウントすることに留意してください。 初発を含む :
を見つけるには 総複製行数 例えば、A列とB列を基準にして重複する行を数えるには、Excelシートに次のような数式を入力します。
=rows($a$2:$a$8)-sum(if( countifs($a$2:$a$8,$a$2:$a$8, $b$2:$b$8,$b$2:$b$8)=1,1,0)))
Excelで重複をフィルタリングする方法
データ分析を容易にするために、データをフィルタリングして重複するものだけを表示したい場合があります。 また、逆に重複するものを隠してユニークなレコードを表示したい場合もあります。 以下に、両方のシナリオに対応するソリューションを紹介します。
Excelで重複を表示・非表示にする方法
すべての重複を一目で見たい場合は、Excelの重複検索式のうち、よりニーズに合ったものを使ってください。 その後、表を選択し、「重複検索」に切り替えてください。 データ タブをクリックし フィルター ボタンをクリックするか、または ソート&フィルター > フィルター について ホーム のタブをクリックします。 編集 のグループです。
ヒント:フィルタリングを自動的に有効にするには、データを完全に機能するExcelの表に変換します。 すべてのデータを選択し、Ctrl + Tのショートカットを押すだけです。
その後、矢印をクリックします。 のヘッダにある デュプリケート の欄で、" 重複した行 " ボックスをクリックします。 重複を表示する をフィルタリングしたい場合、すなわち 重複を避ける を選択し、" ユニーク " を使用すると、ユニークなレコードのみを表示できます。
そして、重複した行をキーカラムでソートしてグループ化し、分析しやすくすることができます。 この例では、重複した行を 注文番号 の欄があります。
重複を発生回数でフィルタリングする方法
重複する値の2回目、3回目、N回目の出現を表示したい場合は、先に説明した重複するインスタンスをカウントする数式を使用します。
=countif($a$2:$a2, $a2)
例えば、以下のスクリーンショットのように、2回目の発生をフィルタリングすることができます。
重複しているレコードをすべて表示する場合、つまり 1より大きい出現数 のヘッダーにあるフィルター矢印をクリックします。 オカレンス 列(計算式のある列)をクリックします。 ナンバーフィルター > グレーターザーン .
選択 " よりも大きいです。 「をクリックし、その隣のボックスに1を入力し、その後に よっしゃー ボタンをクリックします。
同様に、2回目、3回目以降の重複を表示することができます。 よりも大きいです。 ".
重複のハイライト、選択、クリア、削除、コピー、移動
上記のように重複をフィルタリングした後、様々な方法で重複を処理することができます。
Excelで重複を選択する方法
重複を選択する場合。 カラムヘッダーを含む を選択し、Ctrl + A キーを押してください。
重複しているレコードを選択するには カラムヘッダなし で、最初の(左上の)セルを選択し、Ctrl + Shift + End で最後のセルまで選択範囲を広げます。
ヒント:ほとんどの場合、上記のショートカットはうまく機能し、フィルタリングされた(可視)行のみを選択します。 まれに、主に非常に大きなワークブックで、可視と不可視の両方のセルが選択される場合があります。 これを修正するには、まず上記のショートカットのいずれかを使用し、Alt + ; を押してください。 表示されているセルだけを選択する 非表示の行は無視されます。
Excelで重複を解消・削除する方法
への エクセルで重複を排除する をクリックし、それらを選択して右クリックし クリアコンテンツ (または クリア ボタン> クリアコンテンツ について ホーム タブで 編集 この場合、セルの内容のみが削除され、空のセルになります。 フィルタリングされた重複するセルを選択して 削除 キーでも同じ効果が得られます。
への 重複行をすべて削除する 重複をフィルタリングする場合は、行の見出しをマウスでドラッグして行を選択し、選択範囲を右クリックしてから 行の削除 をクリックすると、コンテキストメニューが表示されます。
Excelで重複を強調表示する方法
重複する値を強調表示するには、フィルタリングされた重複値を選択し、その中から 塗りつぶし色 ボタン について ホーム タブで フォント グループから、好きな色を選んでください。
Excelで重複を強調するもう一つの方法は、内蔵の重複用条件付き書式ルールを使用するか、シートに合わせて特別にカスタムルールを作成することです。 経験豊富なExcelユーザーなら、Excelの重複チェックに使用した数式を基にそのようなルールを作成しても問題はありません。 Excelの数式やルールにまだあまり慣れていない場合は、詳しい説明で紹介しています。このチュートリアルの手順:Excelで重複をハイライトする方法。
複製を別のシートにコピーまたは移動する方法
への コピー 次に、別のシート(新規または既存)を開き、コピーしたい範囲の左上のセルを選択し、Ctrl + V で貼り付けます。
への 動く ただし、Ctrl + C(コピー)ではなく、Ctrl + X(カット)を押すことが唯一の違いです。
Duplicate Remover - Excelで重複を見つけるための高速で効率的な方法
Excelで重複した数式を使用する方法を知っている今、私は別の迅速、効率的、数式なしの方法 - Duplicate Remover for Excelをお見せしましょう。
このオールインワン・ツールは、単一列の重複値やユニーク値を検索したり、2列を比較することができます。 重複するレコードや重複する行全体を検索、選択、ハイライトし、見つかった重複を削除、別のシートにコピーまたは移動できます。 実用例は多くの言葉に値すると思うので、さっそく見てみましょう。
Excelで重複した行を見つける方法(2つの簡単なステップ
Duplicate Removerアドインの機能を試すために、以下のような数百行のテーブルを作成しました。
ご覧のように、テーブルにはいくつかの列があります。 最初の3列は最も関連性の高い情報を含んでいるので、A〜C列のデータのみに基づいて重複行を検索します。これらの列の重複レコードを検索するには、次のようにすればよいのです。
- 表内の任意のセルを選択し デデュープテーブル Ultimate Suite for Excel をインストールすると、Excel リボンの [OK] ボタンをクリックします。 エイブルビットのデータ タブで デデュープ のグループです。
- スマートアドインでは、テーブル全体をピックアップして、次の2点を指定するように指示します。
- を選択します。 重複をチェックするためのカラム (この例では、これらは 注文番号 ご注文日 と 項目 の列)。
- を選んでください。 重複に対して実行するアクション 重複した行を特定するのが目的なので、ここでは ステータス欄の追加
ステータスカラムを追加する以外にも、さまざまなオプションが用意されています。
- 重複を削除する
- 重複をカラー化(ハイライト)する
- 複製を選択する
- 複製を新しいワークシートにコピーする
- 重複したファイルを新しいワークシートに移動する
をクリックします。 よっしゃー ボタンを押し、数秒待つ。 完了!
下のスクリーンショットにあるように、最初の3列に同じ値を持つ行がすべて探し出されました(最初に出現したものは重複として識別されません)。
ワークシートのデデュープにもっと多くのオプションが必要な場合は Duplicate Remover ウィザード 詳細な手順は以下の通りです。
Duplicate Removerウィザード - Excelの重複を検索するためのオプションが増えました。
作業中の特定のシートによっては、同じレコードの最初のインスタンスを重複として扱いたい場合があります。 解決策の1つは、Excelで重複を識別する方法で説明したように、シナリオごとに異なる式を使用することです。 迅速かつ正確で式を使わない方法を探している場合は、以下の方法を試してみてください。 Duplicate Remover ウィザード :
- 表内の任意のセルを選択し デュプリケートリムーバー ボタンをクリックします。 エイブルビットのデータ ウィザードが実行され、テーブル全体が選択されます。
- 次のステップでは、Excelシートの重複をチェックするための4つのオプションが表示されます。
- 1回目の発生がない複製品
- 1回目の発生で重複
- ユニークな価値観
- 一意な値および1番目の重複の発生
この例では、2番目の選択肢、すなわち 重複+1回目の発生 :
- ここで、重複をチェックしたい列を選択します。 前の例と同じように、最初の3列を選択します。
- 最後に、重複に対して実行したいアクションを選択します。 Dedupe Tableツールの場合と同様に、Duplicate Removerウィザードでは以下のことが可能です。 突き止める , 選ぶ , ハイライト , 消す , コピー または 動く を複製しています。
このチュートリアルの目的は、Excelで重複を識別するさまざまな方法を示すことなので、対応するオプションをチェックして、[OK]をクリックします。 仕上がり :
Duplicate Removerウィザードが数百の行をチェックし、次のような結果を出すのにわずか1秒しかかかりません。
数式もストレスもエラーもなく、常に迅速で完璧な結果が得られます :)
もし、これらのツールを使ってExcelシートの重複を発見することに興味があれば、以下の評価版をダウンロードしてください。 コメントであなたのフィードバックを大いに歓迎します。
ダウンロード可能なもの
重複の特定 - 計算式の例 (.xlsx ファイル)
Ultimate Suite - 体験版 (.exeファイル)