Excel で一意の値のみを許可するにはどうすればよいですか?
Excel でデータを管理する際、特に製品コード、従業員 ID、登録番号など、重複が許されない一意識別子を含む列では、データの正確性を確保することが不可欠です。意図しない重複入力は、計算やレポート作成、後続の処理でエラーを引き起こす可能性があります。本記事では、列または範囲内で一意の値のみを許可するための実用的な手法をいくつか紹介し、ワークシート内のデータ整合性を効率的に維持できるようサポートします。各手法には適したシナリオと独自の利点があり、さらにトラブルシューティングのヒント、わかりやすい注釈、代替ソリューションも併せて提供することで、最適なアプローチを自信を持って選べるようにしています。
データ検証機能を使用してワークシート内で一意の値のみを許可する
Kutools for Excel を使用してワークシート内で一意の値のみを許可する
VBA コードを使用してワークシート内で一意の値のみを許可する
Excel の関数ヘルパー列を使用してワークシート内で一意の値のみを許可する
重複を削除機能を使用してワークシート内で一意の値のみを許可する
データ検証機能を使用してワークシート内で一意の値のみを許可する
Excel のデータ検証機能を使えば、セルに入力できる内容にルールを設定できます。特定の列または範囲内で一意の値のみを許可するように入力を制限したい場合は、以下の手順に従ってください。
1.まず、一意の値のみを入力できるようにしたいセルまたは列を選択します。たとえば、一意の ID がすべて列 E にある場合は、列 E をクリックして選択してください。リボンからデータタブをクリックし、データ検証>データ検証を選択します。
![[データ]>[データの入力規則]>[データの入力規則]をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/only-allow-unique-values/doc-only-allow-unique-1.png)
2.データの入力を一意に制限するには、次のようにデータ検証ダイアログボックスを設定します。
(1.)設定タブに移動します。
(2.)次の条件を満たす値を許可するドロップダウンリストで、ユーザー設定を選択します。
(3.)数式ボックスに、次のように入力します:=COUNTIF($E:$E,E1)<2(ここで)Eは対象の列、E1は選択範囲の最初のセルです)。データが別の列にある場合は、参照を適宜調整してください(例:列 A を使用する場合は、E を A に変更)。
![[データの入力規則]ダイアログ ボックスでオプションを指定](http://cdn.extendoffice.com/images/stories/doc-excel/only-allow-unique-values/doc-only-allow-unique-2.png)
この数式は、各入力値が列内にすでに何回存在するかをカウントし、その回数が2 未満であれば、そのエントリーを一意として許可します。
3.OKをクリックして検証を適用します。これにより、指定された列に重複する値が入力されると、Excel は「この値はすでに存在します」などの警告メッセージを表示し、値が一意でない限りその入力をブロックします。

適用シナリオ:このソリューションは、単一の列にのみ一意の値が必要となるシンプルなリストや設定に最適です。ただし、データ検証機能は他の場所から列に値を貼り付けた場合には重複入力を防げないため、値は手動で入力するか、貼り付け後には定期的に重複をチェックすることをおすすめします。
ヒント:データ検証ダイアログボックスのエラーアラートタブで、警告メッセージをカスタマイズできます。
注意事項:ユーザーがデータを入力するすべてのセルが選択範囲に含まれていることを確認してください。必要に応じて、列全体を選択して検証ルールを適用範囲に拡張してください。
トラブルシューティング:データ検証が正しく動作していないように見える場合は、数式内のセル参照が正しいことと、検証ルールが目的の範囲に正しく適用されていることを再度確認してください。
Kutools for Excel を使用してワークシート内で一意の値のみを許可する
上記の方法は1 列内の重複エントリーのみを防止できますが、Kutools for Excel をお持ちの場合は、その重複の入力を防止ユーティリティを使用して、セル範囲および単一の列または行内で迅速に重複の入力を防止できます。
Kutools for Excel をインストールした後、次のようにしてKutools for Excelの重複入力防止機能を使用します。
1.重複を許さず、一意のデータのみを入力できるようにする列または範囲を選択します。選択範囲は、単一の列、複数の列、または A1:D15 のようなセル範囲でもかまいません。
2.Excel リボンのKutoolsをクリックし、入力を制限するをクリックして、重複の入力を防止を選択します。これにより、「範囲を選択してください」が表示され、一意性ルールの設定が開始されます。
![Kutools の[重複入力防止]機能をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/only-allow-unique-values/doc-only-allow-unique-06.png)
3.この機能を適用すると、選択範囲内の既存のデータ検証ルールがすべて削除されることを知らせる警告メッセージが表示されます。これにより、Kutools のルールが他の検証設定と競合するのを防ぎます。

はいをクリックして確定すると、Kutools が一意性の強制を適用します。
4.どのセルが処理されたかを確認するための別ウィンドウが表示されます。これにより、一意性がどこで求められるようになったかをすぐに把握できます。

5.OKをクリックして完了します。これにより、制限された範囲(例:セル A1:D15)に重複するデータを入力または貼り付けようとすると、Kutools が「入力が無効です」というプロンプトを表示し、一意の値の入力を促します。

適用シナリオ:複数の列や行にわたって制御したい場合に最適です。
ヒント:適用前に、既存のデータ検証ルールがワークフロー上で重要かどうかを確認してください。これらのルールは「範囲を選択してください」から削除されます。
注意事項:特に複雑な表では、機能を有効にする前にセルの選択範囲を再度ご確認ください。
トラブルシューティング:プロンプトが表示されない場合や重複がそのまま通過してしまう場合は、Kutools for Excel が正しくインストールされており、最新版であることをご確認ください。
300 以上の機能でタスクを効率化!Kutools for Excel を無料でダウンロードしてお試しください。
VBA コードを使用してワークシート内で一意の値のみを許可する
マクロに慣れており、一意の値の検証にさらに高度なロジックを追加したい場合は、VBA(Visual Basic for Applications)を使用するのが柔軟な解決策となります。VBA スクリプトはデータ入力中に重複をチェックするようにカスタマイズでき、無効な値が見つかった際に即座にユーザーに通知し、必要に応じて重複エントリーを自動的に削除することも可能です。
1.一意の値のみを許可したいワークシートのシートタブを右クリックし、コンテキストメニューからコードの表示を選択します。Microsoft Visual Basic for Applicationsウィンドウが表示されたら、次のコードを標準モジュールではなく、そのシート専用のシートモジュールに直接コピー&ペーストしてください。
VBA コード:ワークシート内で一意の値のみを許可する:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160829
Dim xRg As Range, iLong, fLong As Long
If Not Intersect(Target, Me.[A1:A1000]) Is Nothing Then
Application.EnableEvents = False
For Each xRg In Target
With xRg
If (.Value <> "") Then
If WorksheetFunction.CountIf(Me.[A:A], .Value) > 1 Then
iLong = .Interior.ColorIndex
fLong = .Font.ColorIndex
.Interior.ColorIndex = 3
.Font.ColorIndex = 6
MsgBox "Duplicate Entry !", vbCritical, "Kutools for Excel"
.ClearContents
.Interior.ColorIndex = iLong
.Font.ColorIndex = fLong
End If
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
![[コードの表示]をクリックし、VBA コードをモジュールに挿入](http://cdn.extendoffice.com/images/stories/doc-excel/only-allow-unique-values/doc-only-allow-unique-4.png)
注記:このコードでは、A1:A1000が一意の入力を監視するセル範囲を示しています。一意のデータが別の範囲にある場合は、これらの参照を実際の列または範囲に合わせて調整してください。
2.コードを入力したら、保存をクリックして VBA ウィンドウを閉じてください。マクロのセキュリティが有効になっている場合は、ワークブックの設定でマクロが許可されていることをご確認ください。
これで、範囲 A1:A1000 に重複する値を入力すると、即座に警告メッセージがトリガーされます。

3.メッセージボックスのOKをクリックすると、セルから重複入力が削除されます。
Excel の関数ヘルパー列を使用してワークシート内で一意の値のみを許可する
データ検証および VBA に加えて、実用的な代替手段として、Excel の数式とヘルパー列を組み合わせて重複する値を特定する方法があります。この方法では入力をブロックしませんが、即座にフィードバックを提供するため、データをすばやく確認・クリーンアップしたい場合に役立つ選択肢です。
1。データの隣にヘルパー列を追加してください(たとえば、データが E 列にある場合は F 列)。セル F1 に次の数式を入力します:
=IF(COUNTIF($E$1:E1,E1)=1,"Unique","Duplicate") 2。「Enter」キーを押して確定後、その数式を下方向にドラッグしてすべての行に適用します。この数式は E 列の各エントリをチェックし、最初に出現した値には「Unique」、それ以降の重複エントリには「Duplicate」と表示します。
ヒント:このヘルパー列を使えば、重複行をフィルターで簡単に除外したり、データ共有前に視覚的に問題箇所をハイライトしたりできます。
適用シナリオ:既存の履歴データをレビューする際や、リアルタイムでの防止ではなく手動でのクリーンアップが必要な場面に最適です。
ワークシート内で重複を削除機能を使用して一意の値のみを許可する
入力を制限するのではなく、リストを定期的にクリーンアップして一意の値のみを保持することを優先するなら、Excel に内蔵された重複を削除機能がシンプルで使いやすく、非常に効果的です。
1。処理したい列またはテーブルを選択してください。
2。データ>重複を削除をクリックします。ダイアログボックスでチェックする列を選択してOKをクリックすると、Excel は各値の最初の出現のみを保持し、それ以降の重複を自動的に削除します。
適用シナリオ:大量のデータ入力やインポート後に大規模な表をすばやくクリーンアップしたい場合に最適です。
メリット/デメリット:操作は簡単でスピーディーですが、既存の重複データのみを削除でき、今後の重複防止には対応していません。
概要と推奨事項:最適なアプローチは、ワークフローと必要な制御レベルによって異なります。積極的に防止したい場合はデータ検証またはKutools を、カスタムルールと自動化が必要な場合は VBA を、手動でのデータ確認・クリーンアップには数式と「重複の削除」機能をご活用ください。大規模に適用する前には、必ず選択範囲とルールのロジックを確認し、新しいソリューションを試す際はワークブックのバックアップを取っておきましょう。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得