
この記事では、重複した値を入力した際に、2つ目以降のセルの隣に「重複」と表示させる方法と、そもそも重複した値の入力を禁止する方法の2つをご紹介します。どちらの方法も、データ入力の効率化と正確性向上に繋がりますので、ぜひご活用ください。
重複入力を警告または禁止する方法
データの入力規則を使うと、特定のセルまたは範囲に入力できるデータの種類や形式を制限できます。重複入力に対する制限方法としては、ユーザーに注意を促す警告表示と、重複データの入力を根本的に防ぐ入力拒否の2つがあります。
単一列における重複入力を制限する

データの入力範囲を選択し、「データ」→「データの入力規則」を開きます。
データの入力規則が表示されたら、「ルールを追加」をクリックし、条件から「カスタム数式」を選びます。

数式欄に、=COUNTIF($A$2:$A$5,A2)=1
を入力します。
COUNTIF関数は指定した検索範囲から、条件に一致する値を検索します。これを=1
とすることで、「同じ値が1つの場合にのみ入力を許可するというルールになります。
ポイントは、検索範囲($A$2:$A$5)
は絶対参照に、条件のセル(A2)
は相対参照にすることです。これにより常に一定の範囲から、それぞれのセルの値を検索します。
COUNTIF関数の引数:(検索範囲, 検索条件)

上記のカスタム数式を設定することで、指定の範囲に同じ値を入力すると、「無効」の警告が表示されるようになります。

入力自体を禁止したい場合は、「詳細オプション」を開き、「データが無効な場合」の項目で「入力を拒否」にチェックを入れ、「完了」をクリックします。
この設定を行うと、範囲内に重複値を入力しようとした時点でエラーメッセージが表示され、同じ値は入力できなくなります。
複数列における重複入力を制限する

データの入力範囲を選択し、「データ」→「データの入力規則」を開きます。離れた複数の列範囲を同時に選択したい場合は、Ctrl
キーを押しながら選択します。
データの入力規則が表示されたら、「ルールを追加」をクリックし、条件から「カスタム数式」を選びます。

数式欄に、=COUNTIF({$A$2:$A$5;$C$2:$C$5},A2)=1
を入力します。
COUNTIF関数は指定した検索範囲から、条件に一致する値を検索します。これを=1
とすることで、「同じ値が1つの場合にのみ入力を許可するというルールになります。
この数式では、複数列をセミコロン ;
で区切りながら中括弧 {}
に入力することで、複数列を1列にまとめています。
また、検索範囲は絶対参照に、条件のセルは相対参照にすることで、常に一定の範囲から、それぞれのセルの値を検索します。
COUNTIF関数の引数:(検索範囲, 検索条件)
重複の隣のセルに「重複」を表示する方法

COUNTIF関数とIF関数を組み合わせて、重複セルの隣に「重複」を表示させます。
まずCOUNTIF関数で、範囲内に条件値が出現するのが何回目かを取得します。
このとき、検索範囲の「始点」のみ絶対参照にするのがポイントです。数式を下にコピーする際に、範囲の開始位置は固定されたまま、「終点」が拡張していきます。
例:=COUNTIF($A$2:A2,A2)
COUNTIF関数の引数:(検索範囲, 検索条件)

次にIF関数で、出現回数が1より大きいなら「重複」を、それ以外は「空白」を表示するようにします。数式は例の通りで、オートフィルでコピーしておきます。
例:=IF(COUNTIF($A$2:A2,A2)>1,"重複","")
これにより既に存在する値を新しく入力すると、隣に「重複」が表示されます。
IF関数の引数:(論理式, TRUE値, FALSE値)