Excel で重複を検索・強調表示・フィルター・カウント・削除する
Excel では、手動でデータを記録したり、他のソースからデータをコピーしたりするなど、さまざまな理由で重複データが頻繁に発生します。場合によっては重複が役立つこともありますが、一方で重複する値がエラーや誤解を引き起こすこともあります。本記事では、Excel で数式、条件付き書式を使用するルール、サードパーティ製アドインなどを使用して、重複を素早く識別・強調表示・フィルター・カウント・削除する方法をご紹介します。
目次
- 1。重複を検索してハイライト1.1 数式で重複を検出1.2 条件付き書式で重複を検索してハイライト
- 1.2.1 条件付き書式を使用するで重複セルを検索してハイライト
- 1.2.2 重複セルに基づいて検索および強調表示された行の範囲
- 1.2.3 条件付き書式を使用するで重複行を検索してハイライト
- 最初のインスタンスを除く重複を検索してハイライト
- 2。重複をフィルター
- 2.1 条件付き書式を使用するで重複をフィルター
- 2.2 補助列で重複をフィルター
- 3。重複をカウント3.1 条件付きで重複する値をカウント3.2 1 列内の重複件数をカウント3.3 2 列内の重複をカウント3.4 重複を1 回のみカウント3.5 1 列内の各重複値の出現回数をカウント3.6 順序通りに重複をカウント
- 3.1 重複する値を条件付きでカウント
- 3.2 1 列内の重複の総数をカウント
- 3.3 2 列内の重複をカウント
- 3.4 重複を1 回だけカウント
- 3.5 1 列内の各重複値をカウント
- 3.6 順序通りに重複をカウント
- 4。重複を削除4.1 列内で重複を削除し、1 つだけ残す4.2 重複と元の値をすべて削除4.3 1 列内の重複に基づいて行を削除4.4 2 列内の重複を削除
1.重複の検索と強調表示
列または範囲に重複する値が含まれている場合、重複を素早く特定したいと思うでしょう。ここでは、Excel で列内の重複データを素早く検出または識別し、特定の列の重複に基づいてセル、行、または強調表示された行の範囲をハイライトする方法について説明します。
1.1 数式による重複を検索
このセクションでは、1 列または2 列内の重複する値を素早く検出または識別するための数式をいくつか紹介します。
1.1.1 数式で1 列内の重複セルを検索
1 列またはリスト内でのみ重複セルを検索するには、COUNTIF 関数を使えば、重複データを簡単に検索・カウントできます。
1。対象の列の横にある空白セルを選択します。
2。数式 =COUNTIF($C$3:$C$12, C3)>1を入力して、Enterキーを押してください。
3。数式が入力されたセルのオートフィルハンドルをドラッグして、この数式を他のセルに簡単にコピーしましょう。

注:数式 =COUNTIF($C$3:$C$12, C3)>1 において、
(1)$C$3:$C$12は、重複する値を検索する列またはリストです。この範囲は他のセルに数式をコピーしても固定されるため、通常は「$」を使った絶対参照になります。
(2)C3は指定された列の最初のセルです。他のセルに数式をコピーした際に自動的に変化する必要があるため、相対参照になっています。
(3)この数式はTRUEまたはFALSEを返します。TRUEは対応する値が重複していることを意味し、FALSEはその列内で対応する値が一意であることを示します。
(4)TRUE や FALSE では直感的に分かりにくいことがあります。そのような場合は、元の数式と IF 関数を組み合わせて、直接重複と表示するようにできます。
=IF(COUNTIF($C$3:$C$12, C3)>1,「Duplicates」,「」)
1.1.2 数式で2 列内の重複セルを検索
場合によっては、2 つの列を比較して重複する値を特定する必要があります。たとえば、2 つの名前リストがあり、2 つ目のリストで1 つ目のリストと比較した際の重複する名前を削除するを見つけたい場合、VLOOKUP 関数と IFERROR 関数を組み合わせることで簡単に実現できます。
1。2 つ目の名前リストの横にある空白セルを選択します。
2。数式 =IFERROR(VLOOKUP(D3,$B$3:$B$18,1,0),「」)を入力して、Enterキーを押します。
3。必要に応じて、数式セルのオートフィルハンドルをドラッグして、この数式を他のセルにもコピーしましょう。

注:上記の数式において、
(1)D3は2 つ目の名前リストの最初のセルです。他のセルに数式をコピーした際に自動的に変更される必要があるため、相対参照になっています。
(2)$B$3:$B$18は名前リストです。他のセルに数式をコピーしても範囲が固定される必要があるため、絶対参照になっています。
(3)1 つ目のリスト内の名前と一致する名前がある場合、その名前を返します。一致しない場合は空白を返します。
(4)また、次の数式 =IF(COUNTIF($B$3:$B$18,D3)>0,「Duplicates」,「」)を使用すると、1 つ目のリストと比較して2 つ目のリスト内の重複する名前を特定できます。この数式は、対応する名前が重複している場合に「重複」を返します。
(5)2 つのシートにまたがる列を比較する必要がある場合は、比較対象の列の参照の前にシート名を追加するだけです。今回の例では、$B$3:$B$18をSheet1!$B$3:$B$18に変更します。
1.1.3 大文字小文字を区別して重複する数式を検索
上記で紹介した数式は重複を検索の際に大文字と小文字を区別しません。つまり、「apple」と「APPLE」は重複として扱われます。配列数式を使用すれば、単一の列内で大文字と小文字を区別しながら重複する値を検出できます。
1。重複を検索する列の隣にある空白セルを選択します。
2。配列数式 =IF(SUM((--EXACT($C$3:$C$12,C3)))<=1,「」,「Duplicate」)を入力し、Ctrl+Shift+Enterキーを押してください。
3。配列数式を含むセルのオートフィルハンドルをドラッグして、他のセルにもこの配列数式を簡単にコピーできます。

注:上記の配列数式において、
(1)$C$3:$C$12は重複する値を検出する列です。この参照は、配列数式を他のセルにコピーしても固定される必要があるため、絶対参照になっています。
(2)C4はその列の最初のセルです。配列数式を他のセルにコピーした際に自動的に変更される必要があるため、相対参照になっています。
(3) 対応するセルが重複している場合、配列数式は「Duplicate」を返します。そうでない場合は空白を返します。
1.2 条件付き書式を使用するを使用して重複を検索およびハイライト
場合によっては、自分自身や読者に注意を促すために重複する値や行を目立たせたいことがあります。このセクションでは、条件付き書式を使用するルールを使用して重複セルや行をハイライトする方法を説明します。
1.2.1 条件付き書式を使用するを使用して重複セルを検索およびハイライト
列または範囲内の重複セルを素早く強調表示するには、条件付き書式を使用する機能をご利用いただけます。
1。重複するセルを強調表示したい列を選択します。
2。ホーム > 条件付き書式を使用する > 条件付き書式ルール > 重複する値をクリックします。下記のスクリーンショットをご覧ください。

3。表示された重複する値ダイアログで、最初のドロップダウンリストから重複を選択し、2 つ目のドロップダウンリストから強調表示のスタイルを選び、OKボタンをクリックします。
注:あらかじめ用意された強調表示スタイルが要件を満たさない場合は、2 つ目のドロップダウンリストからカスタム形式を選択し、表示されるセルの書式設定ダイアログで、必要な強調表示色やフォント、セルの罫線を自由に設定できます。
すると、選択した列内のすべての重複セルが下記のスクリーンショットのように強調表示されます。
注:
(1) 重複セルを強調表示した後、これらの重複を簡単にフィルターで抽出できます。()方法を見る)
(2) 重複セルを強調表示した後、これらの重複を一括で簡単に削除することもできます。(方法を見る))
1.2.2 重複セルに基づいて検索および強調表示された行の範囲
一部のユーザーは、特定の列内の重複セルに基づいて強調表示された行の範囲ことを希望します。このような場合は、カスタム条件付き書式を使用するルールを作成することで実現できます。
1。重複するセルに基づいて強調表示された行の範囲(ヘッダー行を除く)を選択します。
2。ホーム > 条件付き書式を使用する > 新規ルールをクリックします。

3。[新規書式設定ルール] ダイアログで、
(1)数式を使って書式設定するセルを決定するを選択します。
(2)=COUNTIF($C$3:$C$12,$C3)>1をこの数式が真である場合に値を書式設定するボックスに入力します。
ヒント:この数式では、$C$3:$C$12が重複セルを含む列を表し、$C3はその列の最初のセルです。
(3)書式設定ボタンをクリックします。

4。セルの書式設定ダイアログで、塗りつぶし色やフォント、罫線など必要な書式を設定したら、順にOKボタンをクリックして設定を保存します。

これで、範囲を選択してください内で指定された列の重複セルに基づいて行が強調表示されます。スクリーンショットをご覧ください。

1.2.3 条件付き書式を使用するを使用して重複行を検索およびハイライト
特定の範囲内で重複行を強調表示するには、条件付き書式を使用する機能も活用できます。
1。ヘッダー行を除いた範囲を選択してください。
2。ホーム > 条件付き書式を使用する > 新しいルールをクリックします。

3。「新しい書式設定のルール」ダイアログで:
(1) 「数式を使用して書式設定するセルを決定する」オプションをクリックします。
(2) 「この数式を満たす場合に値を書式設定する」ボックスに、次の数式を入力します:=COUNTIFS($B$3:$B$12,$B3,$C$3:$C$12,$C3,$D$3:$D$12,$D3)>1。
(3) 書式設定ボタンをクリックします。

注記: 数式 =COUNTIFS($B$3:$B$12、$B3、$C$3:$C$12、$C3、$D$3:$D$12、$D3)>1 の中で:
(1) $B$3:$B$12は範囲内の最初の列であり、$B3はこの列の先頭セルです。
(2) $C$3:$C$12は範囲内の2 番目の列であり、$C3はこの列の先頭セルです。
(3) $D$3:$D$12は範囲内の3 番目の列であり、$D3はこの列の先頭セルです。
(4) 範囲内にさらに列がある場合は、数式に列参照とその先頭セルを順次追加できます。
4。「セルの書式設定」ダイアログで、強調表示の色やフォント、セルの罫線などを必要に応じて設定し、その後 OKボタンをクリックして設定を保存します。

これにより、重複行が範囲を選択してください内で識別され、強調表示されます。スクリーンショットをご覧ください:

1.2.4 最初のインスタンスを除く重複を検索およびハイライト
上記の方法では、すべての重複が識別または強調表示されていることに気づかれるかもしれません。場合によっては、最初のインスタンスを除いた重複項目のみを表示したいこともあるでしょう。そのような場合も、条件付き書式を使用する機能で、異なる数式を使うことで実現できます。
1。ヘッダー付きの列を選択します。
ヒント:1 列内の重複(最初のインスタンスを除く)に基づいて行を強調表示する場合は、ヘッダー行を含まない範囲を選択してください。
2。ホームタブの条件付き書式をクリックし、新しいルールを選択します。

3。「新しい書式設定のルール」ダイアログで:
(1) 「数式を使用して書式設定するセルを決定する」オプションをクリックして選択します。
(2) 「この数式を満たす場合に値を書式設定する」ボックスに、次の数式を入力します:=COUNTIF($C$3:$C3, C3)>1。
ヒント: 1 列内の重複に基づいて行全体を強調表示するには、次の数式を入力します:=COUNTIF($C$3:$C3, $C3)>1。
(3)書式設定ボタンをクリックします。
4。表示された「セルの書式設定」ダイアログで、強調表示の色やフォント、セルの罫線などを必要に応じて設定し、OKボタンをクリックして保存してください。
すると、選択した列(または指定した列内の重複に基づく行)において、最初のインスタンスを除く重複セルが強調表示されます。スクリーンショットをご覧ください:

1.3 異なる色で重複を検索およびハイライト
「条件付き書式を使用する」機能で重複セルや行を強調表示すると、すべての重複が同じ色で表示されます。しかし、異なる系列の重複値をそれぞれ別の色で強調表示すれば、違いが一目でわかりやすくなります。ここでは、Excel でその効果を実現する VBA コードをご紹介します。
1。Alt+F11キーを同時に押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。
2。挿入 > 標準モジュールをクリックして、新しいモジュールウィンドウに以下のコードを貼り付けます。
VBA: 重複セルを異なる色で強調表示する:
Sub HighlightDuplicatesInDifferentColors()
'Update by Extendoffice 20201013
Dim xURg, xRg, xFRg, xRgPre As Range
Dim xAddress As String
Dim xDt As Object
Dim xFNum, xCInt As Long
Dim xBol As Boolean
Dim xWs As Worksheet
Dim xSArr
Set xRg = Application.ActiveWindow.RangeSelection
If xRg.Count > 1 Then
xAddress = xRg.AddressLocal
Else
xAddress = xRg.Worksheet.UsedRange.AddressLocal
End If
On Error Resume Next
Set xURg = Application.InputBox("Select range:", "Kutools for Excel", xAddress, , , , , 8)
If xURg Is Nothing Then Exit Sub
Set xURg = Intersect(xURg.Worksheet.UsedRange, xURg)
Set xDt = CreateObject("scripting.dictionary")
Set xWs = xURg.Worksheet
xCInt = 5
xBol = Application.ScreenUpdating
Application.ScreenUpdating = False
For xFNum = 1 To xURg.Count
Set xFRg = xURg.Item(xFNum)
If Not IsError(xFRg) Then
If xFRg.Value <> "" Then
If xDt.exists(xFRg.Text) Then
xSArr = Split(xDt(xFRg.Text), ";")
If xSArr(1) = "Only" Then
xCInt = xCInt + 1
xSArr(1) = xCInt
Set xRgPre = xWs.Range(xSArr(0))
xRgPre.Interior.ColorIndex = xCInt
xDt(xFRg.Text) = xSArr(0) & ";" & xSArr(1)
End If
xFRg.Interior.ColorIndex = xSArr(1)
Else
xDt(xFRg.Text) = xFRg.Address & ";Only"
End If
End If
End If
Next
xURg.Worksheet.Active
xURg.Select
Application.ScreenUpdating = xBol
End Sub 3。F5キーを押すか、実行アイコンをクリックして、この VBA を実行します。
4。「Kutools for Excel」ダイアログが表示されたら、重複セルを異なる色で強調表示する列を選択し、OKボタンをクリックします。

各系列の重複する値は、それぞれ異なる色で強調表示されるようになります。

1.4 サードパーティ製アドインを使用して重複を検索およびハイライト
このセクションでは、サードパーティ製アドインが提供する使いやすいツールを使用して、1 列内の重複に基づいて重複セルや行を簡単に検出、選択、ハイライトする方法を紹介します。
1.4.1 1 列内の重複セルを検索およびハイライト
最初にご紹介するのは、重複するセル/一意のセルを選択機能です。この機能はKutools for Excelが提供しており、重複セルや一意のセルを素早く簡単に見つけられます!
1。重複するセルを検出して強調表示したい列または範囲を選択してください。
2。Kutools > 選択 > 重複するセル/一意のセルを選択をクリックします。
3。「重複するセル/一意のセルを選択」ダイアログで、必要に応じてオプションをチェックし、OKボタンをクリックして操作を完了してください。
注記: 「重複するセル/一意のセルを選択」ダイアログで、
(1) 最初のインスタンスを除くすべての重複をハイライトまたは選択する場合は、重複する値(最初の一致を除外)オプションをチェックしてください。それ以外の場合は、重複する値(最初の一致を含む)オプションをチェックします。
(2) 重複をハイライトする場合は、背景色を塗りつぶすオプションをオンにして、必要に応じてハイライト色を指定します。
(3) 選択した列内の重複に基づいて行全体をハイライトまたは選択する場合は、行全体を選択オプションをオンにします。
(4) 重複する値を大文字と小文字を区別して選択またはハイライトする場合は、大文字と小文字を区別オプションをオンにします。
1.4.2 2 列または2 シート内の重複セルを検索およびハイライト
Kutools for Excelは、2 つの列にある重複セルを簡単に検出して強調表示できる便利なツール「セルの比較」も搭載しています。
1。Kutools > セルの比較をクリックして、「同じ/異なるセルを選択」ダイアログを開きます。
2。「同じ/異なるセルを選択」ダイアログで、検索対象の値および照合基準のボックスにそれぞれ2 つの列を指定し、一致する値オプションをチェックしてください。必要に応じて、他のオプションもオンにできます。
注:
(1) 重複行を検索する必要がある場合は、各行オプションをオンにしてください。重複セルを検索するには、単一セルオプションを基準セクションでオンにしてください。
(2) 重複行またはセルをハイライト表示する必要がある場合は、背景色を塗りつぶすオプションをオンにして、ハイライト色を指定してください。
(3) 重複に基づいて行全体を選択またはハイライト表示する必要がある場合は、行全体を選択オプションをオンにしてください。
(4) 大文字と小文字を区別して重複を検索またはハイライト表示したい場合は、大文字と小文字を区別オプションをオンにしてください。
3。順にOKボタンをクリックして、設定を完了しましょう。
すると、値を検索する範囲ボックスで指定した列内の重複が自動で識別され、ハイライト表示されます。

2.重複のフィルター
場合によっては、列内に重複が発生し、重複データに関連するレコードのみを表示したいことがあります。そのため、このセクションでは重複データのみをフィルターするための2 つの解決策を紹介します。
2.1 条件付き書式を使用するを使用して重複をフィルター
この方法では、条件付き書式のルールを使って重複セルを識別・ハイライト表示し、Excel でそのハイライト色に基づいて簡単にフィルター処理できます。
1。指定した列の重複を検索してハイライト表示するには、条件付き書式を適用します。()操作方法の表示)
2。指定した列を選択するには、その列をクリックし、データ>フィルターをクリックします。
3。列ヘッダーのフィルターアイコン
をクリックし、色でフィルターを選択して、ドロップダウンリストから条件付き書式で使用した色を指定してください。スクリーンショットを参照してください。

すると、重複セルを含む行のみがフィルターで抽出されます。スクリーンショットを参照してください。

2.2 ヘルパー列を使用して重複をフィルター
あるいは、ヘルパー列に数式を使用して重複をマーキングを作成し、そのヘルパー列を使って Excel で簡単に重複をフィルター処理することもできます。
1。元のデータにヘルパー列を追加し、その列ヘッダーに重複と入力します。
2。列ヘッダーの下にある最初の空白セルを選択し、数式 =IF(COUNTIF($C$3:$C$12,C3)>1,「Duplicate」,「」)を入力して、オートフィルハンドルをドラッグして他のセルに数式をコピーします。

注:上記の数式において、$C$3:$C$12は重複データを含む列で、C3はその列の最初のセル(ヘッダーを除く)です。
3。重複を確認するには、ヘッダー「重複」をクリックして列を選択し、データ>フィルターをクリックしてください。

4。次に、列ヘッダーのフィルターアイコン
をクリックし、「重複」のみをオンにして、OKボタンをクリックしてください。スクリーンショットをご参照ください。

これにより、重複する値を含む行のみがフィルターで抽出されます。スクリーンショットを参照してください。

3.重複のカウント
このセクションでは、Excel で重複する値の数をカウントする方法を説明します。条件付きで重複をカウントする方法、重複の総数をカウントする方法、重複を1 回のみカウントする方法、各重複値を一括でカウントする方法などを紹介します。
3.1 条件付きで重複する値をカウント
通常、=COUNTIF(範囲、 条件)関数を使えば、指定した範囲内で特定の値が何回出現するかを簡単にカウントできます。たとえば、リスト A2:A10 の中で「Apple」が何回登場するかを調べたい場合は、数式 =COUNTIF(A2:A10, 「Apple」)を使って、その値の出現回数を瞬時に把握できます。
ただし、=COUNTIF(範囲, 条件) 数式は指定した重複値のみをカウントします。2 つ以上の条件で重複値をカウントする場合はどうすればよいでしょうか?また、条件付きで大文字と小文字を区別して重複をカウントするには?以下に紹介する方法でこれらの問題を解決できます。
3.1.1 条件付きで大文字小文字を区別して重複をカウント
Excel では、配列数式を使って大文字と小文字を区別した条件付きの重複値をカウントできます。たとえば、リスト B2:B21 内で「Apple」と完全一致(大文字・小文字を区別)する値が何回出現するかをカウントするには、次のように操作します。
1。空白のセルを選択します。
2。数式 =SUM(--EXACT(B2:B20,E2))
3。Ctrl+Shift+Enterを押して、結果を返します。

注:配列数式において、
(1)B2:B20は重複をカウントする対象の列です。
(2)E2は出現回数をカウントしたい値を含むセルです。セル参照を引用符付きの値(例:「Apple」)に変更することもできます。
3.1.2 複数の条件で重複をカウント
場合によっては、2 つ以上の条件を満たす重複をカウントしたいことがあります。そのような場合は、COUNTIFS 関数を使えば簡単に実現できます。
たとえば、以下のスクリーンショットのような果物販売表があるとき、「apple」が「2020 年7 月5 日」に販売され、かつ販売数量が300 を超えるレコードの出現回数をカウントしたい場合、次のように複数条件で重複をカウントできます。

1。空白のセルを選択します。
2。数式 =COUNTIFS(B3:B20,G4,C3:C20,G3,D3:D20,「>300」)を入力してください。
3。Enterキーを押して、カウント結果を取得します。

注:上記の数式において、
(1)B3:B20は(最初の)日付列で、G4がその条件です。
(2)C3:C20は(2 番目の)果物列で、G3がその条件です。
(3)D3:D20は(3 番目の)数量列で、「>300」がその条件です。
(4) 表にさらに列と条件がある場合は、列参照と条件を追加できます。
3.2 1 列内の重複の総数をカウント
列に一連の値があり、そのリスト内の重複値の総数をカウントしたい場合、どのように対処すればよいでしょうか?ここでは、Excel で1 つの列に含まれる重複する値の総数をカウントする方法をご紹介します。
3.2.1 列内の重複を最初の出現を除いてカウントする
最初の出現を除くすべての重複をカウントするには、次のように操作してください。
1。対象の列の横にある空白セルを選択します。
2。数式 =IF(COUNTIF($B$3:B3,B3)>1,「YES」,「」)を入力し、オートフィルハンドルを下にドラッグして他のセルにも適用します。
注:上記の数式において、
(1)$B$3:B3は重複をカウントする範囲です。$B$3:B3 の B3 は、数式を他のセルにコピーすると自動的に変化します。
(2)B3は指定列の先頭セルです。
(3) この数式は「YES」または空白を返します。「YES」は対応する値が重複していることを示し、空白は一意であることを意味します。
これにより、指定列内のすべての重複が識別されます。数式の結果を集計することで、重複の総数を取得できます。
3。空白のセルを選択します。
4。数式 =COUNTIF(C3:C16,「YES」)を入力して、Enterキーを押してください。
注記: 上記の数式において、
(1)C3:C16は、前ステップで重複をマーキングするために数式を適用した範囲です。
(2)YESは、前回の数式によって返された値です。
これにより、指定した列内の重複する値の合計数が得られます。重複の合計数には最初の出現は含まれません。
3.2.2 列内の重複を最初の出現を含めてカウントする
Excel で最初の出現を含むすべての重複の数をカウントするには、配列数式を適用できます。
1。空白のセルを選択します。
2。次の数式を入力してください。=ROWS(B3:B16)-SUM(IF(COUNTIF(B3:B16,B3:B16)=1,1,0))。
3。Ctrl+Shift+Enterを押すと、カウント結果が表示されます。

注記:上記の数式で、B3:B16は、最初の出現を含めて重複をカウントしたい対象列です。
3.2.3 列内の重複を最初の出現を含む/含まないでカウントする
面倒な作業を一気に簡略化!長くて退屈な数式を覚える必要はありません。重複するセル/一意のセルを選択機能をぜひお試しください。この機能はKutools for Excelが提供しており、指定したリストまたは列内の重複値を、最初の出現を含めるか除外するかを選んで、瞬時にカウントできます。
1。重複する値の数をカウントしたい列を選択し、Kutools>選択>重複するセル/一意のセルを選択をクリックします。
2。[重複するセル/一意のセルを選択]ダイアログで、必要に応じて重複する値(最初の一致を除外)または重複する値(最初の一致を含む)オプションをチェックし、OKボタンをクリックします。

3。すると、最初の出現を含めるか除外するかに応じて、すべての重複する値が選択されると同時に、選択されたセル数を示すダイアログが表示されます。上記のスクリーンショットをご覧ください。
3.3 2 つの列内の重複をカウントする
3.3.1 数式を使用して2 つの列間の重複をカウントする
2 つの名前リストを比較して、それらの間にある重複の数をカウントしたい場合、この問題を素早く解決するにはどうすればよいでしょうか。Excel の数式を使ってこれも実現できます。
1。空白セルを選択してください。
2。次の数式を入力してください。=SUMPRODUCT(--(ISNUMBER(MATCH(B3:B12,D3:D18,0))))。
3。Enterキーを押してください。

注記: 上記の数式において、
(1)B3:B12は、重複をカウントする対象となる最初の名前の列です。
(2)D3:D18は、重複の基準となる2 番目の名前の列です。
3.3.2 サードパーティ製アドインを使用して2 つの列間の重複をカウントする
あるいは、サードパーティ製アドインKutools for Excelを使えば、2 つの列間で重複するセルの合計数を簡単に、しかも素早くカウントできます。
1。Kutools > 選択 > 同じ/異なるセルを選択をクリックします。
2。[同じセルと異なるセルを選択]ダイアログで、
(1) [検索対象]および[比較対象]ボックスにそれぞれ2 つの列を指定します。検索対象と比較対象ボックスに別々に入力してください。
(2) [単一セル]オプションをチェックします。単一セルオプションをチェックしてください。
(3) [同一値]オプションをチェックします。同一値オプションをチェックしてください。

4。OKボタンをクリックします。
すると、最初の列内のすべての重複セルが選択されると同時に、ダイアログが表示されて選択された重複セル数が示されます。スクリーンショットをご覧ください:

注記:この機能は、[検索対象]ボックスで指定した列に含まれる重複値の合計数をカウントします。2 番目の列の重複値の合計数をカウントしたい場合は、同じ/異なるセルを選択機能を再度適用し、[検索対象]ボックスに2 番目の列を指定してください。
3.4 重複を1 回のみカウントする
列内に重複する値が存在することがあります。このような列の値をカウントする際には、重複を1 回だけカウントする必要があります。例えば、A、A、B、C、C、C、D、E、E という一連の値がある場合、各値を1 回ずつカウントし、結果として5(A、B、C、D、E)を得たいとします。ここでは、この問題を解決するための2 つの数式をご紹介します。
3.4.1 数式を使用して各重複値を1 回だけカウントする
次の数式を使用して、各重複値を1 回だけカウントできます:
1。空白のセルを選択します。
2。次の数式を入力してください。=SUMPRODUCT((C3:C19<>「」)/COUNTIF(C3:C19,C3:C19&「」))。
3。Enterキーを押すと、カウント結果が表示されます。

注記:上記の数式において、C3:C19は、重複値をそれぞれ1 回だけカウントしたい対象列です。
3.4.2 配列数式を使用して大文字小文字を区別して各重複値を1 回だけカウントする
リストをカウントする際、Excel の配列数式を適用することで、大文字と小文字を区別を使って各重複値を1 回だけカウントできます。
1。空白セルを選択してください。
2。次の配列数式を入力します。=SUM(IFERROR(1/IF(C3:C19<>「」, FREQUENCY(IF(EXACT(C3:C19, TRANSPOSE(C3:C19)), MATCH(ROW(C3:C19), ROW(C3:C19)), 「」), MATCH(ROW(C3:C19), ROW(C3:C19))), 0), 0))。
3。Ctrl+Shift+Enterキーを同時に押すと、カウント結果が表示されます。

注記: 上記の配列数式において、C3:C19 は大文字と小文字を区別して各重複系列を1 回だけカウントする対象列です。
3.4.3 サードパーティ製アドインを使用して各重複値を1 回だけカウントする
Kutools for Excelがすでにインストール済みであれば、一意の値を持つセルをカウント機能を使って、Excel で各重複値のグループを1 回だけ素早くカウントできます。
1。空白セルを選択します。
2。Kutools > 関数ヘルパー > 統計 > 範囲内の一意の値の数を数える(最初の重複を含む)をクリックします。
3。[関数ヘルパー]ダイアログで、重複を1 回だけカウントする列を[範囲]ボックスに指定し、OKボタンをクリックします。

すると、カウント結果が選択したセルに即座に入力されます。
3.5 1 つの列内の各重複値をカウントする
通常、COUNTIF 関数を使えば、重複値を1 つずつカウントできますが、他の重複値についても同じ操作を繰り返す必要があり、重複が多いと非常に時間がかかります。そこで今回は、Excel でこの作業をもっと簡単に、素早く完了させるための3 つのソリューションをご紹介します!
3.5.1 SUBTOTAL 関数を使用して1 つの列内の各重複値をカウントする
Excel では、集計機能を使えば、列内の重複する値をまとめてそれぞれの出現回数を簡単にカウントできます。
1。重複する値の系列をカウントする列を選択し、データ>昇順またはZ から A へ並べ替えをクリックします。
2。表示される[並べ替えの警告]ダイアログで、選択範囲を拡張するオプションにチェックを入れて、並べ替えボタンをクリックします。
すると、選択範囲が指定された列の重複する値で並べ替えられていることが確認できます。
3。選択範囲をそのままにして、データ>集計をクリックします。
4。集計ダイアログボックスで、
(1) 集計するフィールドで指定された列を選択します。
(2) 集計方法で個数を選択します。
(3) 集計を挿入する列リストボックスで、指定された列のみにチェックを入れます。
(4) OKボタンをクリックします。
すると、重複する値の各系列がカウントされ、その結果が各系列の下に追加されていることが確認できます(上記スクリーンショットをご参照ください)。
3.5.2 ピボットテーブルを使用して1 つの列内の各重複値をカウントする
また、Excel で重複する値の各系列を簡単に素早くカウントするための PivotTable を作成することもできます。
1。指定された列を含む範囲を選択し、挿入 > ピボットテーブルをクリックします。

2。ピボットテーブルの作成ダイアログボックスで、新しい PivotTable を配置する場所を指定して、OKボタンをクリックします。

3。ピボットテーブルのフィールドペインで、指定された列を行および値エリアの両方にドラッグしてください。すると、その列に含まれる重複する値がそれぞれ一括でカウントされていることを確認できます(スクリーンショット参照)。

3.5.3 素晴らしいツールを使用して1 つの列内の各重複値をカウントする
すでにKutools for Excelをインストール済みなら、使いやすい高度な行のマージ機能で、指定された列内の重複する値の各系列を素早くカウントできます。
注:高度な行の結合機能は、指定されたキーカラム内で重複する値に基づいて行を統合し、不要な行を削除します。データを保護するため、以下の操作を行う前に必ずバックアップを取得するか、別の場所にコピーすることを推奨します。
1。元のデータ範囲の右側に空白列を挿入し、その新しい列にCountという名前をつけます。

2。元のデータ範囲と新しい列を同時に選択し、Kutools>結合と分割>高度な行のマージをクリックします。
3。高度な行のマージダイアログボックスで、
(1) 重複する値の各系列をカウントする対象列をクリックして選択し、主キーをクリックします。
(2) 新しい列(Count)をクリックして選択し、次に計算>個数をクリックします。
(3) 必要に応じて、他の列の結合方法または計算の種類を指定します。
(4)OKボタンをクリックします。
すると、指定された列内の重複する値がそれぞれ一括でカウントされていることが確認できます(スクリーンショット参照)。

3.6 重複を順序通りにカウントする
ある列に果物のリストがあり、その中で一部の果物が複数回出現しているとします。このような場合、各重複する果物を出現順にマーク付けしたいとき、どうすればよいでしょうか?ここでは、Excel でこれを簡単に実現できる数式をご紹介します。
1。元のデータの右側に空白の列を追加します。
2。追加した空白列の先頭セルに、次の数式を入力します:=IF(COUNTIF($C$3:$C$14,C3)>1,COUNTIF(C$3:C3,C3),「」)
3。この数式が入力されたセルのオートフィルハンドルをドラッグして、他のセルに数式をコピーしましょう。

注:上記の数式について、
(1)$C$3:$C$14は、出現順に重複する値をカウントしたい対象の列です。
(2)C3は、その列の先頭セルです。
(3) 値が重複している場合は、出現順に応じてシーケンス番号「1、2、3…」を返します。一意の値の場合は、空白を返します。
4.重複の削除
列または範囲内に多数の重複する値が並んでいる場合、一部のユーザーはそれらの重複する値を簡単に迅速に削除する方法を探しています。ここでは、Excel でこの作業を簡単に実行できる複数のソリューションをご紹介します。
4.1 列内の重複を1 つを残して削除する
このセクションでは、Excel で列またはリストから最初の出現を除くすべての重複する値を素早く削除する方法を説明します。
4.1.1 重複を削除機能を使用して重複を1 つを残して削除する
この重複を削除機能を使えば、最初に出現したデータ以外の重複する値をワンクリックで簡単に削除できます。
1。最初の出現を残して、それ以降の重複する値をすべて削除したい列を選択します。
2。データ>重複を削除をクリックします。

3。重複削除の警告ダイアログで、現在の選択を続行するオプションにチェックを入れて、重複を削除ボタンをクリックします。

ヒント:選択範囲内の重複する値に基づいて行を削除するには、選択範囲を拡張するオプションにチェックを入れてください。
4。重複の削除ダイアログで、指定された列のみにチェックを入れて、OKボタンをクリックします。

ヒント:前ステップで選択範囲を拡張するオプションにチェックを入れた場合、ここにはすべての列が表示されます。ただし、その場合でも指定された列にのみチェックを入れる必要があります。
5。その後、削除された重複する値の件数を示すダイアログが表示されるので、OKボタンをクリックして閉じます。

4.1.2 高度なフィルター機能を使用して重複を1 つを残して削除する
さらに、詳細フィルター機能を使えば、指定した列から重複する値を簡単に一括削除できます。
1。データ>詳細をクリックします。

2。詳細フィルターダイアログで、
(1)別位置にコピーするオプションにチェックを入れます。
(2)リスト範囲ボックスで、重複を削除したい列を指定します。
(3)コピー先ボックスで、貼り付け先の範囲を指定します。
(4)重複するレコードを除外するオプションにチェックを入れます。
(5)OKボタンをクリックします。

すると、指定された列が制限された範囲に貼り付けられ、最初の出現以外のすべての重複する値が削除されていることが確認できます(スクリーンショット参照)。

4.1.3 VBA を使用して重複を1 つを残して削除する
また、VBA を使用して、Excel の列から最初の出現以外のすべての重複する値を素早く削除することもできます。
1。Alt+F11キーを押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2。[挿入]>[モジュール]をクリックし、新しいモジュールウィンドウに次の VBA コードを貼り付けてください。
VBA:最初の出現を除く重複値を削除
Sub ExtendOffice_RemoveAllDeplicate()
Dim xRg As Range
Dim xURg, xFRg, xFFRg As Range
Dim xI, xFNum, xFFNum As Integer
Dim xDc As Object
Dim xDc_keys
Dim xBol As Boolean
Dim xStr As String
Dim xWs As Worksheet
Dim xURgAddress As String
On Error Resume Next
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", "", , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xURg = Intersect(xRg.Worksheet.UsedRange, xRg)
Set xWs = xURg.Worksheet
Set xDc = CreateObject("scripting.dictionary")
xURgAddress = xURg.Address
xBol = Application.ScreenUpdating
Application.ScreenUpdating = False
For xFNum = 1 To xURg.Count
Set xFRg = xURg.Item(xFNum)
If (Not IsError(xFRg)) Then
If xFRg.Value <> "" And (Not IsError(xFRg)) Then
For xFFNum = xFNum + 1 To xURg.Count
Set xFFRg = xURg.Item(xFFNum)
If Not IsError(xFFRg) Then
If xFFRg.Value = xFRg.Value Then
xDc(xFFRg.Address) = ""
End If
End If
Next
End If
End If
Next
xStr = ""
xDc_keys = xDc.Keys
For xI = 1 To UBound(xDc_keys)
If xStr = "" Then
xStr = xDc_keys(xI)
Set xURg = xWs.Range(xStr)
Else
xStr = xStr & "," & xDc_keys(xI)
Set xURg = Application.Union(xWs.Range(xDc_keys(xI)), xURg)
End If
Next
Debug.Print xStr
xWs.Activate
xURg.Select
Selection.Delete Shift:=xlUp
xWs.Range(xURgAddress).Select
Application.ScreenUpdating = xBol
End Sub 3。F5キーを押すか、[実行]ボタンをクリックして、この VBA を実行してください。
4。表示されたダイアログで、重複する値を削除する範囲を指定して、[OK]ボタンをクリックします。

最初の出現を除くすべての重複する値が、制限された範囲から即座に削除されます。
注:この VBA コードは大文字と小文字を区別です。
4.2 重複と元の値をすべて削除する
通常、最初の出現以外の重複する値および重複を削除を検出して削除することが一般的です。しかし、場合によっては元の値を含むすべての重複する値を削除したいユーザーもいます。ここでは、この課題に対処するためのいくつかのソリューションをご紹介します。
4.2.1 条件付き書式を使用するを使用してすべての重複と元の値を削除する
条件付き書式ルールを使用して、列またはリスト内の最初の出現を含むすべての重複する値をハイライトし、そのハイライト色でフィルターをかけてすべての重複する値を抽出できます。その後、フィルターで抽出された重複セルをすべて選択し、一括で削除できます。
1。条件付き書式を使って重複する値をハイライトします。()方法を確認するにはクリックしてください)
2。重複する値(最初の出現を含む)を削除したい列を選択し、[データ]>[フィルター]をクリックします。

3。指定した列の列見出しにあるフィルターアイコン
をクリックし、ドロップダウンメニューで[色でフィルター]を選択して、サブメニューからハイライト色を指定します。

すると、すべての重複する値がフィルターで抽出されます。
4。フィルターで抽出されたセルをすべて選択し、右クリックしてコンテキストメニューから行を削除を選択します。[OK]ボタンをクリックして、表示された再確認ダイアログで続行します。
5。すると、重複する値がすべて一括で削除されます。フィルターをかけたリストの選択状態を維持したまま、[フィルター]>[データ]を再度クリックしてフィルターを解除します。

これで、最初の出現を含むすべての重複セルが一括で削除され、一意の値のみが残っていることが確認できます。
注:この方法では、指定した列の重複する値に基づいて行が削除されます。
4.2.2 補助列を使用してすべての重複と元の値を削除する
ヘルパー列に数式を適用して最初の出現を含む重複する値を特定し、その数式の結果で重複する値をフィルターで抽出した後、フィルターで抽出された重複する値を一括で削除することもできます。
1。指定した列の横にヘルパー列を追加し、そのヘルパー列の最初のセルに数式 =COUNTIF($B$3:$B$11,B3)を入力してください。その後、オートフィルハンドルを下にドラッグして、この数式を他のセルにもコピーします。スクリーンショットを参照してください:

注:上記の数式において、$B$3:$B$11は重複値を削除する対象列であり、B3はその列の先頭セルです。
2。ヘルパー列を選択し、[データ]>[フィルター]をクリックします。

3。ヘルパー列の見出しにあるフィルターアイコン
をクリックし、ドロップダウンメニューで1 以外のすべての値にチェックを入れて、[OK]ボタンをクリックしてください。スクリーンショットを参照してください:

4。これで、すべての重複する値がフィルターで抽出されます。行を削除するには、ヘルパー列でフィルター表示されたセルを右クリックし、コンテキストメニューから選択してください。

5。表示された再確認ダイアログで、[OK]ボタンをクリックして続行します。
6。これで、重複する値とその行が一括で削除されます。[データ]>[フィルター]を再度クリックして、フィルターを解除しましょう。

すると、最初の出現を含むすべての重複する値が一括で削除されていることが確認できます。
4.2.3 素晴らしいツールを使用してすべての重複と元の値を削除する
ご使用の環境にKutools for Excelがインストールされている場合は、重複するセル/一意のセルを選択機能を使って、Excel で最初の出現を含む/除外する重複値を簡単に選択・削除できます。
1。重複を削除したい列を選択します。
2。[Kutools]>[選択]>重複するセル/一意のセルを選択をクリックします。
3。[重複するセル/一意のセルを選択]ダイアログで、重複する値(最初の一致を含む)オプションをチェックし、[OK]ボタンをクリックします。

注:
(1)最初の出現を除外して重複値を削除するには、重複する値(最初の一致を除外)オプションをチェックします。
(2)指定列の重複する値に基づいて行を削除するには、行全体を選択オプションをチェックします。
(3)大文字と小文字を区別して重複値を削除するには、大文字と小文字を区別オプションをチェックします。
(4)重複セルまたは行を選択・ハイライト・削除するには、背景色を塗りつぶすまたはフォントの色を塗りつぶすオプションをチェックし、必要に応じて塗りつぶし色またはフォント色を指定します。
4。次にダイアログが表示され、選択されたセル数が示されます。[OK]ボタンをクリックして閉じてください。
5。選択したセルを右クリックし、コンテキストメニューから[削除]を選択してください。

6。表示される[削除]ダイアログで、[上のセルを移動]オプションにチェックを入れて、[OK]ボタンをクリックします。
これで、最初の出現を含むすべての重複する値が一括で削除されました。
4.3 行の削除を1 つの列内の重複に基づいて実行する
多くの場合、列内の重複する値を特定し、その重複する値に基づいて行全体を削除します。正直なところ、この操作は単一の列から重複する値を削除する場合と非常に似ています。そのため、指定列内の重複に基づいて行の削除する際にも同様の解決策を利用できます。
最初の方法は、Excel の標準機能である重複を削除機能を使い、指定した列の重複に基づいて行を削除する方法です。削除対象の範囲を選択し、[データ]>重複を削除をクリックしてこの機能を起動します。その後、[重複を削除]ダイアログで指定列のみにチェックを入れてから、[OK]をクリックして削除操作を完了してください。

指定された列の重複する値に基づいて行を削除するには、条件付き書式とフィルター機能を組み合わせて使うこともできます。まず、条件付き書式ルールで特定の列の重複する値を含む行を強調表示します()方法を見るにはクリックしてください)。次に、その色でフィルターをかけ、表示された重複行をまとめて簡単に削除します。最後にフィルターをクリアまたは解除すれば、指定された列に一意の値を持つ行だけが残ります。

あるいは、ヘルパー列を追加して、指定された列の重複を識別するために次の数式を適用することもできます。=COUNTIF($C$3:$C$21,C3)その後、ヘルパー列で1 より大きい値をフィルターで除外し、表示された行を簡単に削除できます。フィルターを解除すると、指定された列に一意の値を持つ行だけが残ります。

サードパーティ製アドインKutools for Excelには、指定された列の重複する値に基づいて行を素早く選択できる非常に便利な機能重複するセル/一意のセルを選択が搭載されており、選択した行を右クリックメニューから簡単に削除できます。

Kutools for Excel の高度な行のマージ機能を使えば、指定されたキーカラム内で重複する値に基づいて行を素早く削除できます。

4.4 2 つの列内の重複を削除する
場合によっては、2 つのリストまたは列を比較し、それらの間にある重複をExcel で削除する必要があります。ここでは、そのための2 つのソリューションをご紹介します。
4.4.1 補助列を使用して2 つの列内の重複を削除する
ヘルパー列を追加し、2 つの列間の重複する値を識別するための数式を適用してから、簡単にフィルターおよび削除できます。
1。重複する値を削除する対象となる指定列の横に、空白列を追加します。
2。ヘルパー列の最初のセル(ヘッダーを除く)に、次の数式を入力します。=IF(ISERROR(MATCH(C2,$A$2:$A$13,0)),「Unique」,「Duplicate」)。その後、オートフィルハンドルを下にドラッグして、数式を他のセルにもコピーしてください。

注:上記の数式において、
(1)C2は、重複する値を削除する対象列の先頭セルです。
(2)$A$2:$A$13は、比較対象となるもう一方の列です。
(3)この数式は、対応する値が他方の列と一致する場合は重複を返し、他方の列と異なる場合は一意を返します。
3。ヘルパー列を選択し、データ>フィルターをクリックします。

4。ヘルパー列のヘッダーにあるフィルターアイコン
をクリックし、ドロップダウンメニューで重複のみをチェックして、OKボタンをクリックします。

5。これで、すべての重複する値がフィルター表示されます。フィルターされたセルを右クリックし、コンテキストメニューから行を削除を選択してください。その後、表示される確認ダイアログでOKをクリックします。
6。これで、指定された列から重複する値がすべて削除されました。「データ」→「フィルター」を再度クリックして、フィルターを解除してください。
すると、指定された列には一意の値のみが残っていることが確認できます。必要に応じてヘルパー列を削除できます。

注:この方法では、指定された列の重複する値に基づき、行全体が削除されます。
4.4.2 素晴らしいツールを使用して2 つの列内の重複を削除する
Kutools for Excelがすでにインストール済みなら、その優れた同じ/異なるセルを選択機能を使えば、2 つの列間で重複する値を素早く選択して、簡単に削除できます。
1。Kutools > 選択 > 同じ/異なるセルを選択をクリックして、この機能を有効にしてください。
2。[同じ/異なるセルを選択]ダイアログで、検索対象列および比較基準列の各ボックスにそれぞれ比較したい2 列を指定し、単一セルと同一値のオプションをチェックして、OKボタンをクリックしてください。スクリーンショットを参照してください:

3。すると、検索対象列ボックスで指定した最初の列内で、2 列間で一致するすべての重複値が選択されます。OKボタンをクリックして表示されるダイアログを閉じます。

4。これらの重複する値を直接削除するには、Deleteキーを押すか、右クリックしてコンテキストメニューから削除を選択してください。
その他の記事。。。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得