個人的な備忘録として、Googleスプレッドシートで重複する値を見つけてハイライトする方法をまとめます。
重複を自動的に削除する機能はデフォルトの機能で備わっていますが、削除してしまうとどの値が重複しているか確認することができないので、今回の方法を使ってどの値が重複していたか確認可能。
基本:重複を削除するのは簡単
まず基本的な重複する値を削除する方法ですが、 データ > データのクリーンアップ > 重複を削除 から行うことができます。
本題:Googleシートで重複する値を見つけてハイライトする方法
残念ながら2023年現在では、デフォルトの機能で重複をマークする機能はありません。ですので 「条件付き書式設定ルール」を使用します。
まずデータを見つけたい列を一括で選択します。以下では B列のデータから重複を探したいので、B列を一括で選択して「条件付き書式」を選択します。
↓ 次に、右側にスライドで設定が出てきますので、書式ルールを「カスタム数式」にします。これで数式を使って柔軟にルールを設定できます。
そしたら、この部分に =countif(B:B,B1)>1という関数を入力します。
=COUNTIF(B:B, B1)>1 という関数は、Googleシートで使用される条件式の一つです。この式は、特定の条件を満たすセルの数をカウントし、その結果が1より大きい場合にTRUE(真)を返す条件を表しています。
具体的には、COUNTIF(B:B, B1) は、B列全体(B列のセルすべて)でセルB1と同じ値を持つセルの数を数える関数です。これはB列内でB1と同じ値を持つセルの数をカウントします。
そして、>1 は数値が1より大きいかどうかを確認する条件です。つまり、カウントした結果が1より大きい場合、つまりB1と同じ値を持つセルが複数ある場合にTRUEを返します。それ以外の場合、つまりB1と同じ値を持つセルが1つ以下の場合にはFALSE(偽)を返します。
この関数は、重複するデータを検出したり、一意の値を持つセルを特定するために使用できます。例えば、データセット内で重複した値を持つ行を特定したり、一意の値を持つ行を数えたりするのに便利です。
今回はB列に置いてこれを行ったので =countif(B:B,B1)>1 となりましたが、 F列の場合はBをFに置き換えて =countif(F:F,F1)>1 となります。(簡単ですね)
↓ 実際にコードを実装してみると、以下のように重複する値をハイライトすることができました。
=UNIQUE 関数 を使って重複を探す方法
ちょっと使い道は異なりますが、 =UNIQUE 関数 も重複に関する関数です。
これを使うことで、以下のように指定した表からユニークな値(重複がない値)だけを抜き出してくれます。
使い方は =UNIQUE(range) として使用します。Range で範囲を選択すると、重複を排除したデータを抜き出してくれます。以下のように列だけでなく、表自体も書き出すことが可能です。
以上、個人的な備忘録でした。