No.002
重複データを調べる 《COUNTIF》
2003/2007/2010/2013/2016/2019/2021
たくさんの入力されたデータ。同じデータが重複入力されている可能性もあるかもしれません。
そのようなときに、重複データがあるかどうかを確認する方法をご紹介します。
今回重複データを関数で調べますが、調べる条件を、単一条件、複数条件の2つでご案内しようと思います。
<単一条件>
使用する関数は COUNTIF 関数(関数の分類: 統計)、少し工夫して使います。
例えばA列セルA2より、重複を調べるデータがあるとします。
関数を挿入するために1列用意し、COUNTIF 関数を挿入します。
引数の設定は次のようにA2ばかりで指定しますが、セル参照をよく見てください。
=COUNTIF($A$2:A2,A2)
この式の引数[範囲] のセル範囲の参照で、最初のセルA2だけが絶対参照で番地が固定されています。
あとの参照は相対参照ですから、数式をコピーすれば番地が下にずれていきます。
とすると引数[範囲] は、数式がコピーされ下にいくほどセル範囲がのびていき、その範囲のなかで、範囲一番下のセルの内容がいくつあるか、という計算となっています。
結果の説明をすると、答えが「1」と返ったデータは初めて出現したデータ、「2」以上で返ったデータは重複データです。
つまりこの式では、データの出現回数何回目かを求めていることになります。
さてまず最初は、単一条件での重複データを調べました。
<複数条件>
では、A列のデータとB列のデータを見て、両方同じ重複データを探したい場合です。
この場合は、新しい列にA列とB列のデータをつなげた結果を用意します。
セルの内容をつなげるには、&(アンパサンド)を使用するか、CONCAT 関数(関数の分類: 文字列操作) または CONCATENATE 関数(関数の分類: 文字列操作) を利用します。(後述)
=A2&B2
そして、下記C列ののつなげたデータで単一条件のときと同様に、重複データを調べます。
この結果を利用し、重複データを削除して一通りデータにしたい場合は、フィルターを使用するのが便利です。
COUNTIF の式の列で、1以外の結果のデータを抽出し、行削除を行い、フィルターを解除すると、一通りデータとなっています。
CONCAT 関数 と CONCATENATE 関数 について
CONCAT 関数は、Excel2016 より登場し、CONCATENATE 関数 と同じく、引数の内容をつなげた結果を返すことができます。
CONCATENATE 関数は、Excel2019 より一覧から外れ、非推奨関数となっています。
ただ、手入力で設定はできたり、昔入力された数式は問題ありません。
今後使用する場合は、CONCAT 関数を使用してください。
ヘルプmemo
<COUNTIF 関数>(関数の分類: 統計)
指定された範囲に含まれるセルのうち、条件に一致するセルの個数を返します。
- 数式:
- =COUNTIF(範囲, 検索条件)
- 引数:
- ・[範囲] ...セルの個数を求める範囲を指定
- ・[検索条件] ...条件となる数値、式、文字列を指定