メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelの列に重複が入力された場合、警告をポップアップするにはどうすればよいですか?

Author Sun Last modified

多くの現実のシナリオでは、データの完全性と正確性はExcelワークブックにおいて非常に重要です。例えば、従業員ID、製品シリアル番号、または学生番号を記録する際、重複した入力があると混乱やその後のエラーにつながる可能性があります。これを防ぐために、ユーザーが特定の列または範囲に重複を入力しようとした際に、自動的にポップアップ警告ダイアログで通知するように設定することができます(下記のスクリーンショット参照)。この方法により、ユーザーは一意のリストを維持し、誤って重複した入力を防ぐことができます。
A screenshot of the warning dialog for duplicate entry in Excel

重複が入力された場合のデータ検証による警告

Kutools for Excelを使用して重複が入力された場合の警告 good idea3

VBAコード(ワークシート変更イベント)によって重複が入力された場合の警告


重複が入力された場合のデータ検証による警告

Excelでは、カスタム数式を使用して選択範囲内での重複入力を防ぐための「データの検証」機能を利用できます。これは、ユニークなコード、識別子、または名前などの場合に役立ちます。設定後、Excelは即座にユーザーに警告し、重複入力をブロックするため、指定された範囲内のすべての値が一意であることが保証されます。これにより手動チェックが不要となり、大規模なデータ入力作業が効率化されます。

これを設定するには、以下の手順に従います:

1. 重複を防ぎたい範囲を選択します(例:A1:A10)。次に、「データ」タブに行き、「データの検証」をクリックします。スクリーンショットをご覧ください: データ タブをクリックして データの検証 > データの検証スクリーンショットをご覧ください:
A screenshot of the Data Validation option in Excel

2. 「データの検証」ダイアログボックスで、「設定」タブに切り替えます。「許可」を「カスタム」に設定し、数式ボックスには次の数式を入力します: データの検証 ダイアログボックスで、「設定」タブに切り替えます。 設定 タブで、「許可」を 許可 に設定し、ドロップダウンメニューから「カスタム」を選択します。「数式」欄には次の数式を入力します: カスタム に設定してください。「数式」ボックスに以下の数式を入力します: 数式 ボックスに次の数式を入力してください:
=COUNTIF($A$1:$A$10,A1)=1

この数式により、入力される値が選択範囲内で一度しか表示されないことが保証されます。スクリーンショットをご覧ください:
A screenshot of the formula used in the Data Validation dialog

パラメータの説明:
$A$1:$A$10 は重複をブロックしたい範囲を定義し、 A1 は範囲の最初のセルを指します。これらの参照は実際の範囲に合わせて調整してください。

注意: 検証が正しく適用されるように、常に範囲に対して絶対参照($)を使用してください。

3. 次に、「エラー警告」タブに切り替えてください。「無効なデータが入力された後にエラー警告を表示する」がオンになっていることを確認し、「スタイル」を「停止」(デフォルト)に設定します。そして、希望する警告タイトルとメッセージを指定します。これがユーザーが重複エントリーを試みた際に表示されるメッセージです。スクリーンショットをご覧ください: エラー警告 タブに切り替えてください。 無効なデータが入力された後にエラー警告を表示する がチェックされていることを確認します。「スタイル」を スタイル に設定し、「停止」(デフォルト)を選択し、希望する警告タイトルとメッセージを指定します。このメッセージは、ユーザーが重複入力を試みた際に表示されます。スクリーンショットをご覧ください: 停止 (デフォルト)を選択し、お好みの警告タイトルやメッセージを指定します。このメッセージは、ユーザーが重複入力を試みた際に表示されます。スクリーンショットをご覧ください:
A screenshot of the Error Alert tab in Data Validation dialog

ヒント:簡潔で明確なメッセージ(例:「重複入力は許可されていません!」)を使うことで、ユーザーが迅速に問題を理解するのに役立ちます。

4. 設定を適用するために「OK」をクリックします。これで、ユーザーが指定された範囲(ここではA1:A10)で同じ値を入力しようとすると、Excelは警告ダイアログを表示します。重複した値は受け付けられません。 OK をクリックして設定を適用します。これで、指定された範囲(ここではA1:A10)で同じ値を入力しようとすると、Excelは警告ダイアログを表示します。重複した値は受け付けられません。
A screenshot of the warning dialog after entering a duplicate value in Excel

ヒント: もし重複を通知しつつも、追跡や調査のためにそのような入力を許可したい場合、「データの検証」ダイアログの「エラー警告」タブで、「スタイル」のドロップダウンから「警告」を選択してください。「停止」ではなく「警告」を選ぶことで、重複は許可されますが、アラートで知らせることができます。 データの検証 ダイアログの エラー警告 タブで、「スタイル」のドロップダウンから「警告」を選択してください。「停止」ではなく「警告」を選ぶことで、重複は許可されますが、アラートで知らせることができます。 警告 を選択し、「スタイル」のドロップダウンから「停止」ではなく、「警告」を選んでください。これにより、重複が許可されますが、警告付きでフラグが立つようになります。 スタイル ドロップダウンから「停止」ではなく「警告」を選んでください。これにより、重複は許可されますが、警告付きでフラグが立つようになります。 停止これにより、重複が許可されますが、警告付きでフラグが立つようになります。
A screenshot of the Warning style in Data Validation for duplicates

ユーザが重複を入力すると、警告ダイアログが表示され、ユーザは「はい」または「キャンセル」を選択して重複を残すか、「いいえ」を選んで削除できます。 はい または キャンセル を選択して重複を保持するか、 いいえ を選んで削除します。
A screenshot of the pop-up warning dialog when entering duplicates

適用可能なシナリオ: この方法は、単一の範囲でデータ入力規則を強制したり監視したい場合、また特別なコードを使わずに組み込み機能で対応したい場合に適しています。利点:アドインやマクロが必要ない;ブロックおよび警告両方に対応可能。欠点:範囲サイズが変更された場合は検証を更新する必要があり、手動入力時のみ有効で、複数の値や数式の貼り付け時には動作しません。


Kutools for Excelを使用して重複が入力された場合の警告

数式を覚えることなくシンプルな手法を求めているユーザー向けに、Kutools for Excelは「重複防止」ユーティリティを通じて使いやすいソリューションを提供します。このツールは特に大規模なデータ範囲を扱う場合や高度な重複防止オプションが必要な場合に、セットアップや管理を簡略化します。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelのインストール後、以下の手順に従って重複入力時の警告ダイアログを有効にしてください。(今すぐ無料でKutools for Excelをダウンロード!)

重複が発生した場合に警告をトリガーしたい範囲(列やデータエリアなど)を選択し、「Kutools」→「入力を制限する」→「重複の入力を防止」に進みます。スクリーンショットをご覧ください: Kutools > 入力を制限する > 重複の入力を防止スクリーンショットをご覧ください:
A screenshot of the Prevent Duplicate option in Kutools tab in Excel

指示に従って「はい」をクリックして確認し、「OK」を押して防止を適用します。確認ダイアログが表示され、手順を案内します。

A screenshot of the warning dialog from Kutools after selecting the Prevent Duplicate option
A screenshot of the success dialog from Kutools after selecting the Prevent Duplicate option

このユーティリティを有効にすると、選択範囲内で重複値を入力するとすぐにポップアップ警告ダイアログが表示され、入力がブロックされ、重複が防がれます。スクリーンショットをご覧ください:
A screenshot of the popup warning for duplicate entries in Excel after using Kutools

Kutoolsではさらに細かい調整が可能です。例えば、@、#、$、%などの特定の文字の入力をブロックするには、「指定された文字の入力を禁止する」ボックスに入力します。また、「許可する文字を入力」設定を利用して特定の文字のみを許可することも可能です。これは重複を超えた高度なデータ品質管理に役立ちます。 指定された文字の入力を禁止する ボックスに入力します。また、「許可する文字を入力」設定を利用して特定の文字のみを許可することも可能です。これは重複を超えた高度なデータ品質管理に役立ちます。 許可する文字を入力 設定を利用して特定の文字のみを許可することも可能です。これは重複を超えた高度なデータ品質管理に役立ちます。
A screenshot of the Kutools Prevent Typing utility for managing input characters

適用可能なシナリオ:このソリューションは、インターフェースベースの効率的なアプローチを好むユーザー、または異なる範囲やワークブック間で再利用可能な設定が必要な場合に最適です。利点:シンプルで、数式を覚える必要がなく、より複雑な入力規則や文字制限にも対応します。欠点:Kutools for Excelのインストールが必要です。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

デモ: Kutools for Excelを使用して重複が入力された場合の警告

 
Kutools for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

VBAコード(ワークシート変更イベント)を使用して重複が入力された場合の警告

マクロに慣れていて、列内の重複入力についてプログラム的にユーザーに警告する動的な方法が必要な場合、VBAイベントコードを使用できます。Worksheet Changeイベントを実装することで、Excelは指定された列を監視し、重複エントリーが検出されるとカスタム警告メッセージボックスが即座に表示されます。この方法は柔軟性が高く、特にカスタマイズされたワークフローに有用であり、重複時に独自の動作を指定したい場合に最適です。

適用可能なシナリオ: このアプローチは次の状況で理想的です:

  • 完全にカスタマイズされたポップアップメッセージ(Excelの標準プロンプトを超えるもの)が必要なとき
  • VBAマクロが許可および有効になっている環境で作業しているとき
  • ニーズが大きめの範囲や動的に変化する範囲にまで及び、検証設定を頻繁に調整しなくて済むとき

利点: 高度にカスタマイズ可能なロジックやメッセージプロンプト;複雑な検証ルールにも適合可能。
欠点: マクロの有効化と基本的なVBAスキルが必要;イベントルーチンは「標準モジュール」ではなく「ワークシート」コード領域に配置する必要があり、インストールされたシートでのみ動作します。 ワークシート コード領域(標準モジュールではなく)に配置する必要があり、インストールされたシートでのみ動作します。

操作手順:
1. 重複を監視したいシートタブを右クリックし、「コードを見る」を選択します。 コードを見る.
2. エディターで、以下のVBAコードをワークシートコードウィンドウ(モジュールではない)に貼り付けます:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cell As Range
    Dim checkRange As Range
    Dim duplicateFound As Boolean
    Dim colRange As String
    
    colRange = "A:A" ' Set to the column you want to monitor (e.g., entire column A)
    
    Set checkRange = Intersect(Me.Range(colRange), Target)
    
    If checkRange Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    
    For Each cell In checkRange
        If WorksheetFunction.CountIf(Me.Range(colRange), cell.Value) > 1 And cell.Value <> "" Then
            MsgBox "Duplicate entry detected: '" & cell.Value & "' already exists in " & colRange, vbExclamation, "KutoolsforExcel"
            cell.ClearContents
        End If
    Next cell
    
    Application.EnableEvents = True
End Sub

3. VBAエディターを閉じ、ワークシートに戻ります。監視対象の列(ここでは列A)に値を入力してみてください。その値が既に列内に存在する場合、ポップアップ警告が表示され、重複入力は自動的にクリアされます。

パラメータのヒント:

  • colRangeは、重複をチェックする列を制御します(デフォルト:A:A 全体の列A)。必要に応じて「A1:A10」などの特定の範囲に変更できます。

トラブルシューティングのヒント: マクロが動作しない場合、マクロが有効化されていること、そしてコードが正しいワークシートモジュール(標準のVBAモジュールではない)にあることを確認してください。Alt + F11でエディターにアクセスし、「Microsoft Excel オブジェクト」の下にある関連するワークシート名をダブルクリックしてください。

実用的なヒント: 重複を許可しつつ警告だけを出すといった異なる動作を行いたい場合、cell.ClearContentsを単純なメッセージポップアップに変更できます。

まとめると、これらのExcelソリューションはそれぞれ、重複防止の管理において独自の利点を提供します:

  • データの検証 — 明確なアラートを持つシンプルでコード不要の設定に理想的です。
  • Kutools for Excel — 数式やVBAを書くことなく、柔軟で素早いセットアップや高度な入力制限を必要とするユーザーに最適です。
  • VBA Worksheet Changeイベント — カスタムメッセージやアクションが必要な高度で動的な要件に適しています。

VBAソリューションを使用する際は、コードが常にワークブック内に保存されるように、ファイルをExcelマクロ有効ワークブック(.xlsm)として保存することを忘れないでください。

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得