Home
»
Excelの基本操作の目次
»
フィルター(データ抽出)
»
重複を削除するいろいろな方法
重複を削除するいろいろな方法:Excelの基本操作
Excelでは重複するデータを削除する方法がいくつかあります。ここでは「重複の削除」を行ういろいろな方法をいくつか紹介したいと思います。
関数で重複判定をし削除する、詳細設定の機能を利用する、ピボットテーブルを利用する、重複の削除を利用するなど4つの方法を説明しています。
UNIQUE関数を使って重複を削除する方法を追加しました。(2020/7/4)
関数で重複を判定して削除する
詳細設定(フィルターオプションの設定)で重複を削除する
ピボットテーブルで重複を削除する
重複の削除で重複を削除する
UNIQUE関数を使って重複を削除する
関数で重複を判定して削除する
Topへ
関数(数式)で重複したデータの個数をカウントして、重複か否かを判定し、重複と判定したものを削除します。
F列を作業列として使用します。
F3セルに
=IF(COUNTIF($C$3:C3,C3)>1,"重複","")
と入力して重複か否かを判定します。
データリスト内のセル1つを選択して、[データ]タブの[フィルター]をクリックして、フィルターをオンにします。
F列のフィルターボタンをクリックして、「(空白セル)」のチェックを外し、「重複」のチェックを入れた状態にします。
[OK]ボタンをクリックします。
F列が「重複」の行が表示されますので、表示されている4つのセルを選択します。
[ホーム]タブの[削除]→[シートの行を削除]を実行します。
[重複」の行が削除され、データが見えなくなってしまいました。
[データ]タブの[フィルター]をクリックして、フィルターをオフにします。
コードが重複したデータが削除され、重複していないデータが残っているのがわかります。
計算の必要があるケースでは、重複していない項目をほかのセルに書き出します
Topへ
上記の3のフィルターで(空白セル)にチェックを入れ、重複のチェックを外します。
空白の行(重複と判定しない行)が表示されます。
表示されているデータを選択して、Ctrl + C でコピーし、H2セルを選択して、Ctrl + V で貼り付けます。
下図はフィルターがかかっている状態なので、非表示の行があります。
[データ]タブの[フィルター]ボタンをクリックしてオフにすると、全データが表示され確認することができます。
また、集計をしたい場合は K3セルに
=SUMIFS($E$3:$E$12,$C$3:$C$12,I3,$D$3:$D$12,J3)
と入力して、合計を求めることができます。
重複をチェックしたいキーが2つ以上あるときは?
Topへ
重複をチェックしたい項目を結合して、1つにしてチェックする方法があります。
F列を作業列として、
=C3&"_"D3
と重複をチェックしたい項目を結合します。 _(アンダーバー)を使うのは2つの項目に使用されていない文字で結合するためです。
ここでは 12行目のデータを変更しています。具体的には C12セルをA01 → C01 と変更しています。
G列で重複を判定します。
G3セルには
=IF(COUNTIF($F$3:F3,F3)>1,"重複","")
と入力しています。
以降の操作は、前項と同じでフィルターを利用して、重複と判定した行を削除します。
前項の2以降と同じ操作になります。
詳細設定(フィルターオプションの設定)で重複を削除する
Topへ
詳細設定(フィルターオプションの設定・AdvancedFilter)で重複したデータを削除することができます。
データリスト内のセルを1つ選択して、[データ]タブの[詳細設定]を実行します。
フィルターオプションの設定 ダイアログボックスが開きます。
リスト範囲に C2:D12 を指定します。
(列見出し C2:D2セル を含める必要があります)
「指定した範囲」にチェックを入れ、検索条件範囲に H2 を指定します。
「重複するレコードは無視する」にチェックを入れます。
重複していないデータが抽出できました。
計算(合計)が必要であれば、J3セルに
=SUMIFS($E$3:$E$12,$C$3:$C$12,H3,$D$3:$D$12,I3)
と入力します。
ピボットテーブルで重複を削除する
Topへ
ピボットテーブルの機能でで重複したデータを削除することができます。
データリスト内のセルを1つ選択して、[挿入]タブの[ピボットテーブル]を選択します。
テーブルの範囲を B2:D12 を指定しました。
「既存のワークシート」にチェックを入れ、 場所を F2 と指定しました。
ピボットテーブルのフィルドで行に「コード」と「品名」を配置し、Σ値に「合計/個数」を配置しました。
ピボットテーブル内のセルを1つ選択します。
ピボットテーブルツールの[デザイン]タブで[小計]→[小計を表示しない]を選択しました。
ピボットテーブルツールの[デザイン]タブで[レポートのレイアウト]→[表形式で表示]を選択しました。
重複データが削除され、個数の集計ができました。
重複の削除で重複を削除する
Topへ
Excel2007以降では重複の削除というコマンドボタンが準備されています。
ただし、怪しい挙動をすることがあるとの報告がありますので、注意が必要です。
後で集計をしたいので、コピーをしたもので操作をします。
データリスト内のセルを1つ選択して、[データ]タブの[重複の削除]を実行します。
重複を判定する列「コード」と「品名」にチェックが入った状態にします。
[OK]ボタンをクリックします。
重複が4個あり、一位に値が6個であることが示されました。[OK]ボタンをクリックします。
個数の集計が必要な場合は、J3セルに
=SUMIFS($E$3:$E$12,$C$3:$C$12,H3,$D$3:$D$12,I3)
と入力すると計算することができます。
怪しい挙動とは、下記のようなことが起きることがありました。
「重複の削除」で検索すると「重複の削除 バグ」 といった検索予測が表示されますので、何の事だろうと思い、見て、試した結果が下記のような現象でした。環境はExcel2016 Windows10です。
OKWAVEで掲載されていた質問の一部分を使用したデータの例です。元の質問は
http://okwave.jp/qa/q9086444.html
をご覧ください。
B列は数値データが先にあり、文字データが後に並んでいます。表示形式は標準です。
「重複の削除」を実行すると、文字列データがそのまま残っています。
F列は文字列データが先で、数値データが後ろに並んでいます。表示形式は標準です。
「重複の削除」を実行すると、数値データの最後の2種類が重複した状態で残っています。
J列は区切り位置を使って、すべて文字列に変換したものです。表示形式は文字列です。
この場合のみ、重複していない意図したものが得られました。
上記のデータの重複を
=COUNTIF(B2:$B$2,B2)
で判定したのが下図です。
元のデータは1と2が交互に並んでいるので重複のあるデータと分かります。
[重複の削除」を実行すると重複したデータ「2となっているもの」が残ってしまっているのがわかります。
数式では重複と判定できますが、重複の削除では削除できないといった結果に見えます。
ただし、文字列に変換したものは正常と思われますので、
データの型が混在すると怪しいのかもしれません。
UNIQUE関数を使って重複を削除する
Topへ
Microsoft 365ではUNIQUE関数を使うことができます。
UNIQUE関数の詳細な使い方は
UNIQUE関数で重複しない値を取り出す:Excel関数
をご覧ください。
H3セルに =UNIQUE(C3:D12) と入力しています。
J3セルに =SUMIFS(E3:E12,C3:C12,H3:H8,D3:D12,I3:I8) と入力します。
Spill(スピル)の機能で数式1個で計算できるようになりました。
Noを取り出すにはXLOOKUP関数が使えます。
XLOOKUP関数の詳細な使い方は
XLOOKUP関数で範囲や配列を検索する:Excel関数
をご覧ください。
G3セルに =XLOOKUP(H3:H8&I3:I8,C3:C12&D3:D12,B3:B12) と入力します。
Home
|
Excelの基本操作の目次
|重複を削除するいろいろな方法