Windows 11 & Office 2021 Excel 2021

UNIQUE関数で重複しない値をリスト化して表内の該当セルを塗りつぶす

投稿日:2022年8月8日 更新日:

Excel2021とMicrosoft 365のExcelでは、UNIQUE(ユニーク)関数を使用することができます。

UNIQUE関数を使うと、指定したデータ範囲から重複を削除したデータを作成できます。

UNIQUE 関数 - Microsoft サポート(Microsoft)

入力規則のリストにUNIQUE関数のスピル範囲演算子を使って範囲を指定すると、データを追加しても自動的に重複しない値がドロップダウンリストに追加されます。

ここでは、作成したリストを入力規則のドロップダウンに指定して、条件付き書式で指定した値のセルを塗りつぶします。

また、該当セルを含む行全体を塗りつぶす方法も解説します。

条件付き書式で該当セルを含む行に塗りつぶしを設定

テーブルの作成

以下のような表があります。

サンプル表

テーブルに変換します。

テーブルにしたほうが簡易なので、ここではテーブルにした場合の方法を紹介しますが、必ずしもテーブルにしなければならないというわけではありません。

テーブルに変換しない場合の方法も解説しています。

表内のセルをアクティブにして、[挿入]タブの[テーブル]グループにある[テーブル]をクリックします。

ショートカットキーは、[Ctrl]+[T]です。

[挿入]タブの[テーブル]グループにある[テーブル]

[テーブルの作成]ダイアログボックスが表示されます。自動的に範囲が選択されますので、確認して問題がなければ[OK]ボタンをクリックします。

[テーブルの作成]ダイアログボックス

以下のようにテーブルに変換さされ、自動的にスタイルが設定されます。

自動的にスタイルが設定されたテーブル

スタイルをクリア

スタイルを設定したくない場合は、[テーブルデザイン]タブの[テーブルスタイル]グループにある[その他]ボタンをクリックして、

[テーブルデザイン]タブの[テーブルスタイル]グループにある[その他]ボタン

[テーブルのスタイル]から[なし]、または[クリア]を選択します。

[テーブルのスタイル]から[なし]または[クリア]を選択

以下のようなテーブルになります。

テーブルの完成

テーブル内のセルをアクティブにすると、[テーブルデザイン]タブが有効になります。

[テーブルデザイン]タブ

参考テーブルの主な機能については、以下の記事で解説しています。

表をテーブルに変換してデータベース管理などの作業効率をアップ

Excelのテーブルはとても便利なものです。 通常の表をテーブルに変換することによって、データベースとしての機能が自動的に設定され、管理や分 ...

続きを見る

UNIQUE関数で重複のないリストを作成

テーブルの[都道府県]列のリストをUNIQUE関数を使って作成します。

UNIQUE 関数 - Microsoft サポート(Microsoft)

=UNIQUE(配列,[列の比較],[回数指定])  [列の比較]と[回数指定]は省略可能です。

テーブルの場合とテーブルではない表の場合とで分けて解説します。

テーブルの場合

G列にリストを作成します。セル[G1]に[リスト]と入力して、セル[G2]をアクティブにします。

セル[G2]をアクティブした状態

数式バーに半角で[=u]まで入力すると、以下のように関数の候補が表示されます。

この中に[UNIQUE]があれば使用できます。

数式バーに半角で[=u]を入力

関数候補の一覧から[UNIQUE]を選択して、キーボードから[Tab]キーを押します。

関数候補の一覧から[UNIQUE]を選択

以下のように数式バーにUNIQUE関数が入力されます。

数式バーにUNIQUE関数が入力

テーブルの都道府県の範囲を選択します。数式バーには、以下のように入力されます。

数式バーにテーブルの範囲を指定

数式バーの[配列]は、範囲選択せずに直接入力してもかまいません。

テーブル名は、[テーブルデザイン]タブの[プロパティ]グループの[テーブル名]で確認できます。

[テーブルデザイン]タブの[プロパティ]グループの[テーブル名]

[Enter]キーを押します。自動的に下のセルにも数式が表示されます。

重複しない都道府県のリストが作成できました。

[Enter] キーを押して数式を完成

テーブルは、自動拡張の機能があるので、テーブルに行を追加すると、リストも自動的に追加されます。

テーブルに行を追加するとリストも自動的に追加

参考もし、テーブルが自動拡張されない場合は、設定を確認してください。

テーブルのサイズ変更と解除(自動拡張の設定はオートコレクトで)

Excelでテーブルを作成した後、テーブルのサイズを変更する方法です。 また、テーブルを通常の表に変換する方法と、自動拡張の設定についても解 ...

続きを見る

入力規則の参照リストをテーブルにしておくのも便利です。

入力規則のリストが可変(増減)するならテーブルに変換して自動修正

Excelの入力規則でドロップダウンリストから選択できるように設定することは多いですね。 でも、そのリストが増減する場合、その度に入力規則の ...

続きを見る

テーブルではない表の場合

テーブルではない表(範囲)の場合は、リストを作成するのはテーブルと同じようにUNIQUE関数のみでOKです。

セル[G2]に以下のように入力します。テーブルの時と同じようにUNIQUE関数の配列を指定するだけです。

[Enter]キーを押すと、自動的に下のセルにも表示され、リストを作成できます。

=UNIQUE(B2:B17)

UNIQUE関数を使ってリストを作成

データが追加されたら自動的にリストに反映されるように数式を修正

テーブルでなくても、関数を使ってデータが追加されたときに、自動的にリストに反映させるようにしておくと便利です。

OFFSET関数とCOUNTA関数を使用します。

数式バーを以下のように修正します。

=UNIQUE(OFFSET(B1,1,0,COUNTA(B:B)-1))

数式バーの数式を編集

新規データを追加すると、以下のように自動的にリストに反映されます。

テーブルに行を追加すると、リストも自動的に追加

・OFFSET(オフセット)関数

OFFSET 関数 - Microsoft サポート(Microsoft)

指定した参照から指定した行数、列数の範囲への参照を返します。

=OFFSET(参照,行数,列数,[高さ],[幅])  [高さ]と[幅]は省略可能です。

[参照]のセルから[行数]と[列数]分移動したセルを始点にして、[高さ](行)と[幅](列)のセル参照を返す関数です。

・COUNTA(カウントエー)関数

COUNTA 関数 - Microsoft サポート(Microsoft)

範囲内の空白でないセルの個数を返します。

OFFSET関数の[高さ]をCOUNTA関数で求めます。[都道府県]の列に空白があると、参照できなくなりますので気をつけてください。

セル[B1]を差し引いた[COUNTA(B:B)-1]で求められるということです。

数式バーに複数の関数を使用している場合に、関数の内容を確認したり、修正したい場合は、[関数の引数]ダイアログボックスを表示すると分かりやすいかもしれません。

例えば、OFFSET関数の内容を確認したい場合は、数式バーのOFFSET内にカーソルを置いて、[関数の挿入]ボタンをクリックします。

数式バーのOFFSET内にカーソルを置いて[関数の挿入]ボタンをクリック

OFFSETの[関数の引数]ダイアログボックスが表示されます。

OFFSETの[関数の引数]ダイアログボックス

参考リストは、テーブルの場合も、テーブルではない場合も、別シートに作成してかまいません。

以下の記事でも、OFFSET関数を使った解説をしています。OFFSET関数は、とても便利な関数です。

グラフのデータ範囲を可変にして自動でグラフを拡張する2つの方法

Excelでグラフを作成して、グラフの参照元の範囲を拡張すると、グラフのデータ範囲も拡張しなければなりません。 この操作を行わず、グラフの参 ...

続きを見る

ドロップダウンリストから項目を選択してグラフ元の範囲を切り替える

入力規則で作成したドロップダウンリストから項目を選択して、グラフ範囲を変更する方法です。 表の項目と数値の参照範囲に名前を定義して、グラフ系 ...

続きを見る

最新データから指定月分をグラフに自動表示する

名前定義にOFFSET関数とCOUNTA関数を使用すると、グラフの範囲を自動的に変更することができて便利です。 ここでは、最新データから指定 ...

続きを見る

入力規則のリストの値にスピル範囲演算子で範囲を指定

セル[E2]に入力規則でドロップダウンから、都道府県名を選択できるようにします。

セル[E2]を選択して、[データ]タブの[データツール]グループにある[データの入力規則]をクリックします。

[データの入力規則]ダイアログボックスが表示されますので、[入力値の種類]で[リスト]を選択します。

[元の値]には、以下のように入力します。

[#]は、[スピル範囲演算子]と呼ばれるものです。[=G2#]とすると、UNIQUE関数で求められた配列全体を指定できます。

=G2#

[データの入力規則]ダイアログボックス

これで、セル[E2]の入力規則は完成です。

ドロップダウンリストの完成

リストの範囲が拡張されたら、自動的に入力規則のリストも拡張されます。

リストの範囲が拡張されたら、自動的に入力規則のリストも拡張

参考以下の記事内でも少し解説しています。UNIQUE関数を利用する場面は、いろいろあると思います。

データ検索ならXLOOKUP関数で縦横に検索(IFERROR関数は不要)

Excel2021とMicrosoft 365 のExcelでは、[XLOOKUP(エックスルックアップ)関数]が使用できます。 これは、V ...

続きを見る

また、SORT関数と組み合わせて使用すると、より便利になると思います。ただ、SORT関数では日本語の並べ替えは文字コード順になります。

SORT関数とSORTBY関数を使い分けて別表に並べ替えた結果を表示する

SORT(ソート)関数とSORTBY(ソートバイ)関数を使用すると、表内のキーを基準に別表に並べ替えた結果を表示できます。 データが変更され ...

続きを見る

条件付き書式で指定した値のセル(行単位)を塗りつぶす

セル[E2]で選択された文字列のセルを条件付き書式で塗りつぶします。

セル[B2]からセル[B19]までを範囲選択して、[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックします。

[セルの強調表示ルール]-[指定の値に等しい]をクリックします。

[ホーム]タブの[スタイル]グループにある[条件付き書式]

[指定の値に等しい]ダイアログボックスが表示されますので、以下のように入力します。セル[E2]をクリックすると、入力できます。

=$E$2

[OK] ボタンをクリックします。[書式]は、任意のものを選択してください。後で修正することもできます。

[指定の値に等しい]ダイアログボックス

セル[E2]の値と等しいセルの値に塗りつぶしが設定されます。

ドロップダウンリストの値と同じセルに塗りつぶしが設定

該当セルの行を塗りつぶす

該当セルを含む行に対して塗りつぶしを設定したい場合は、条件付き書式の数式を修正します。

条件付き書式を設定する場合は、以下の3つの要件が必要になります。このことを踏まえておくと分かりやすいと思います。

  • 書式を設定する範囲
  • どういう条件の時に設定するのか
  • 条件が合致した場合の書式

[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックして、[ルールの管理]をクリックします。

[条件付き書式]の[ルールの管理]

[条件付き書式ルールの管理]ダイアログボックスが表示されます。作成した条件付き書式を選択して、[ルールの編集]をクリックします。

[書式ルールの表示]は、条件付き書式を設定した範囲内のセルをアクティブにして表示すると[このテーブル]か[現在の選択範囲]が選択されていると思いますが、そうでない場合は、[このワークシート]を選択すると条件付き書式が表示されます。

[条件付き書式ルールの管理]ダイアログボックス

[書式ルールの編集]ダイアログボックスが表示されますので、[数式を使用して、書式設定するセルを決定]を選択します。

そして、テキストボックスに以下の数式を入力します。[OK]ボタンをクリックします。

[$]の入力は、直接入力してもいいですが、[F4]キーを使うと便利です。

相対参照と絶対参照と複合参照は[ F4 ]キーで切り替え

セルの参照方法は、相対参照、絶対参照、複合参照があります。 絶対参照と複合参照では、[$]を挿入する必要があります。 このとき、直接入力して ...

続きを見る

=$B2=$E$2

[書式ルールの編集]から[数式を使用して、書式設定するセルを決定]を選択

[条件付き書式ルールの管理]ダイアログボックスに戻りますので、[適用先]の範囲を修正します。

[ダイアログボックス拡大/縮小]ボタンをクリックして、セル範囲を指定します。

[適用先]の範囲を修正

セル[A2]からセル[C19]までを指定します。

=$A$2:$C$19

ここでは、入力された範囲のみを指定していますが、データが追加されることを予想して[適用先]の行範囲は少し拡大して指定しておくほうがいいと思います。

[OK]ボタンをクリックします。

適用先の範囲を拡大した[条件付き書式ルールの管理]

以下のように、該当セルを含む行範囲に塗りつぶしが設定されるようになります。

該当セルを含む行範囲に塗りつぶしが設定

参考以下の記事では、条件付き書式でデータが追加されたら自動的に罫線が引かれるようにする方法を解説しています。

新規データを追加したら自動的に罫線が追加される表にするには

Excelで表を作成する時、罫線を引いたりして書式を整えますね。 データが増えることがない表であれば、それで終わりかもしれませんが、新規デー ...

続きを見る

条件付き書式のオン/オフを切り替える方法も解説しています。印刷時に条件付き書式を非表示にしたい場合などに便利です。

条件付き書式のオンとオフをチェックボックス/ドロップダウンリストで操作

Excelの条件付き書式はとても便利な機能です。 条件書式を使うと、条件に合うセルに書式を設定したり、数値の大きさも視覚的に分かりやすくする ...

続きを見る

SUMIF関数の引数にスピル範囲演算子を使用して自動集計

重複しないリストを作成したら、項目ごとの集計も簡単に表示できます。

セル[H2]に以下のように入力して、[Enter]キーを押します。範囲選択する必要はありません。

ピボットテーブルで求めていたものが、簡単に求められます。

SUMIF 関数 - Microsoft サポート(Microsoft)

=SUMIF(条件範囲,条件,[合計範囲])

=SUMIF(B:B,G2#,C:C)

SUMIF関数を使用して項目ごとの集計

テーブルであれば、以下のようにテーブル範囲を指定しても構いません。列全体を指定するより、いいと思います。

=SUMIF(テーブル1[都道府県],G2#,テーブル1[参加人数])

ピボットテーブルで作成してみました。当たり前ですが、同じ結果ですね。

ピボットテーブルで集計

参考SUMIF関数については、以下の記事で解説しています。

SUMIF関数で先頭の1文字が同じセルの売上を集計する

Excelで顧客番号や商品番号の先頭の1文字が同じセルの合計をしたいという場合の方法です。 SUMIF関数を使用します。 指定された検索条件 ...

続きを見る

UNIQUE関数は、新しい関数です。Excel2019以前のバージョンで表示すると、動作しませんので気を付けてください。

以下は、Excel2019で開いています。

Excel2019でUNIQUE関数を使ったシートを表示

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 11 & Office 2021 Excel 2021

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.