いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)重複データに色を付ける方法

 Googleスプレッドシートで、値が重複するセルにや、複数列の値が重複する行に色付けする方法を紹介します。

  • 条件付き書式を使って、値が重複するセルや行に色付けすることができます。

値が重複するセルに色付けする例

データが1列の場合

 画像ではB3:B14の範囲に県名が並んでます。
 互いに重複する県名がいくつかみられますが、その重複しているセルに色付けするものとします。

 


 まずはB3:B14の範囲を選択します。
 そしてメニューから「表示形式」→「条件付き書式」と進みます。

 


 ウインドウ右側に「条件付き書式設定ルール」という領域が現れます。
 ここで「セルの書式設定」のプルダウンから「カスタム数式」を選択します。
 そしてその下の数式欄に「=COUNTIF($B$3:$B$14,B3)>1」と入力し、適当な色を選択します。文字色も選択できますが、本記事ではデフォルト(背景色を緑)のままとします。

 数式欄の式

=COUNTIF($B$3:$B$14,B3)>1

 この式は、各セルにおいて自身のセルの値がB3:B14セルの範囲にいくつあるのかカウントし、2以上(「>1」と表現していますが「>=2」としてもいいです)だったら書式を適用する、という意味です。



 最後に「完了」をクリックすると値が重複するセルに色が付きました(宮城県3つ、青森県2つ、栃木県2つ)。

絶対参照「$」の扱いについて

 上記の例では設定範囲が縦1列なので、数式中の絶対参照($)を減らして「=COUNTIF(B$3:B$14,B3)>1」としても同じ結果になります。ただし第1引数(検索範囲)を可変にする例はあまりないと思われるので、本記事では第1引数に4つ「$」をつける形に統一します。
 また、第2引数(検索値)について「$」を加えて「$B3」としても同じ結果になります。しかしこの第2引数の「$」は色付けの内容によって必須だったり、逆につけてはいけなかったりするので注意が必要です(次の2つの例を参照)。上記の例では、以下の「データが縦横に並ぶ場合」と同様の考え方で色付けしているものとみなし「B3」としていますが、もちろん捉え方によっては「$B3」とするのもアリだと思います。

他の列まで色付けする場合

 次の画像ではB3:B14の範囲に県名が、C3:C14の範囲に市の名前が並んでいます。
 県名が他の行と重複するか判定し、重複する場合はB列だけでなく隣のC列まで色付けするものとします。

 


 今度はB3:C14の範囲(色付けする範囲)を選択してメニューから「表示形式」→「条件付き書式」と選択します。

 


 ここでも「カスタム数式」を選び、数式を入力します。

 数式欄の式

=COUNTIF($B$3:$B$14,$B3)>1

 最初の例と異なり、COUNTIF関数の第2引数を「$B3」としています。
 これによりどのセルにおいても「同じ行のB列の値がB3:B14セルの範囲にいくつあるか」をカウントし、2以上だったら自身のセルに色を付けます。
 この式は色付けしようとする列が3列以上であっても変わりません(変えるのは設定範囲つまり「範囲に適用」欄に記されている範囲)。

 


 「完了」をクリックすると、県名が重複する行の2つの列に色が付きました。

データが縦横に並ぶ場合

 こちらはデータが複数行複数列に渡って並んでいて、セル単位で重複を判定して着色するという例です。

 
 B3:D8の範囲を選択して上記の例と同様に条件付き書式の設定に進み、カスタム数式の数式は次のようにします(数式欄の式が見切れてしまうので設定時の画像は省略します)。

 数式欄の式

=COUNTIF($B$3:$D$8,B3)>1

 COUNTIF関数の第2引数を「B3」としています。
 これによりどのセルにおいても自身のセルの値をカウントし、2以上だったら自身のセルに色を付けます。



 完了すると、県名が重複するセルに色が付きました。

複数列の値が重複する行に色付けする例

データが2列の場合

 次の画像では2つの列に県名と商品名が並んでいます。
 ここでは2つの値がともに他の行と重複するか判定し、重複する行については2つの列に色付けするものとします。

 B3:C14の範囲を選択して条件付き書式の設定に進み、カスタム数式の数式欄は次のようにします。

 数式欄の式

=COUNTIFS($B$3:$B$14,$B3,$C$3:$C$14,$C3)>1

 COUNTIFS関数を使っています。「同じ行のB列の値とB列の値が同じで、かつ、同じ行のC列の値とC列の値が同じである行の数」をカウントし、これが2以上なら自身のセルに色付けします。3列以上の重複を判定する場合も条件を増やすだけで容易に拡張できます。
 ここでも「$」の付け方を誤るとおかしな結果になりますので注意してください。



 「完了」をクリックすると意図どおりの色付けとなりました。

他の列まで色付けする場合

 次の画像では県名と商品名の2つの列で重複を判定し、重複する行については3つの列に色付けするものとします。

 B3:D14の範囲を選択して条件付き書式の設定に進み、カスタム数式の数式欄は次のようにします。

 数式欄の式

=COUNTIFS($B$3:$B$14,$B3,$C$3:$C$14,$C3)>1

 判定の考え方は1つ上の例の式と同じなので、式も全く同じとなります。設定上異なるのは設定範囲だけとなります。
 4列以上に色付けする場合も同様です。



 完了すると意図どおりの色付けとなりました。