フッターコンテンツにスキップ
EXCEL ツール

Excelシートの保護を解除する方法 (簡単なガイド)

Iron Softwareのチームが執筆しました。 スプレッドシートタスクをプログラムで自動化したい場合、 IronXL製品ページ にアクセスし、我々 for .NET用プロフェッショナルExcelライブラリについて詳しく学んでください。

データ管理の世界では、正確性がすべてです。 メールリストを管理する場合、四半期ごとの売上を分析する場合、または財務記録を監査する場合、重複したデータは敵です。 それはメトリクスを歪め、二重請求を引き起こし、レポートに混乱をもたらします。

これらのエラーを最速で見つける方法を探しているなら、答えは条件付き書式設定にあります。 次の手順では、Excelファイルでの重複を見つけるための異なるアプローチを見ていきます。

Excelで重複を見つける最速の方法

Excelで重複を見つける最速の方法は、データを選択して重複する値ツールを使用することです。

  1. データ範囲を選択します。
  2. ホームタブに移動します。

  3. 条件付き書式設定 > セルルールのハイライト > 重複する値をクリックします。

  4. OKをクリックします。

スピードを好む人のために、これらの条件付き書式設定ルールを使用するためのキーボードショートカットはAlt → H → L → H → Dです。 これは即座に重複検出エンジンをトリガーし、選択範囲内のすべての繰り返されたエントリをハイライトします。

データインテグリティのために重複を見つけることが重要な理由

識別方法に入る前に、なぜこれを行うのかを理解することが重要です。 データの冗長性はしばしば以下の状況で発生します:

  • 手動データ入力: ヒューマンエラーが重複の最も一般的な原因です。
  • システムのエクスポート: 複数のCRMやレガシーデータベースからデータを統合する際。
  • コピー&ペーストの操作: マスターシートにうっかりと二度貼り付けてしまうこと。

これらの重複を放置すると、"汚れたデータ"が発生し、ピボットテーブルや数式が不正確な結果を生み出します。 このガイドでは、基本的なリボンツールから高度なPower Query技術に至るまで、あらゆる重複の発見、ハイライト、管理方法を紹介します。

方法1: 条件付き書式設定を使用する(視覚的アプローチ)

これはライブ監査の間に重複を処理する標準的な"プロフェッショナル"な方法です。 データを削除しません; 問題が存在する場所を見るための視覚的なレイヤーを適用するだけです。

ステップバイステップの手順

  1. データを選択する: セルをクリックしてドラッグし、全体の列を選択する場合は列の文字(例:A)をクリックします。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像1 - ハイライトされたセル

  1. メニューにアクセスする: ホームタブでスタイルグループを探し、条件付き書式設定をクリックします。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像2 - ホームタブのスタイルグループで条件付き書式設定

  1. ルールを適用する: セルルールのハイライトにホバーし、重複する値を選択します。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像3 - セルルールのハイライトタブで

  1. スタイルを選択する: ダイアログボックスが表示されます。 デフォルトの"薄い赤の塗りつぶしで濃い赤のテキスト"または特定の色(黄色や緑など)を望む場合は"カスタムフォーマット"を作成することができます。

  2. 確認: OKをクリックします。

重複値の検索とハイライトの出力

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像4 - ハイライトされた重複値

この方法を使用する理由?

これは非破壊的です。複製を見て、それらがなぜそこにあるのか調査し、保持するか削除するかを手動で判断できます。

方法2:重複除去"ツール(クリーンアプローチ)

既に重複がゴミであることが判明していて、削除したいだけであれば、ハイライトに時間を費やさないでください。 重複を削除機能を使用して数秒で削除できます。

使用方法

  1. データテーブル内の任意の場所をクリックします。

  2. リボンのデータタブに移動します。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像5 - Excelのデータタブ

  1. データツールグループ内の重複を削除をクリックします。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像6 - 重複の削除オプション

  1. 列を選択: どの列をチェックするか尋ねるウィンドウが現れます。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像7 - 重複の削除ポップアップウィンドウ

  • 例えば、繰り返されたメールを削除したい場合、"メール"だけを選択し、Excelはメールが繰り返された行を削除します。

  • すべての列を選択した場合、Excelは同じ行ですべてのセルが他の行と完全に一致する場合のみ行を削除します。
  1. OKをクリックします。 Excelは見つかった重複値がいくつになるか、削除されたかを教えてくれます。 また、残りのユニークな値がいくつかも伝えます。

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像8 - 重複が削除された例の出力

プロのヒント: ツールを使用する前に、常に新しいシートにデータをコピーしてください。 重複が削除され、ファイルが保存された後に気付いても、簡単に再び削除を取り消すことはできません。

方法3: COUNTIF関数を使った重複検索

時には、ハイライト表示だけでは不十分です。 値が何回も出てくるかを明示的に示す別の列が欲しいかもしれません。 このために、COUNTIF関数を使用します。

ロジック

COUNTIF関数は、特定の値が範囲内に出現する回数を数えます。 その回数が1を超える場合、重複があります。

実装方法

  1. 新しい列(例えば、列E)に次の数式を入力します。
=COUNTIF(B:B, B2)
=COUNTIF(B:B, B2)
This appears to be an Excel formula rather than C# code. If you have C# code that interacts with Excel or a specific C# snippet you'd like converted, please provide that code for conversion to VB.NET.
$vbLabelText   $csharpLabel
  1. リストの末尾まで数式をドラッグします。

  2. 結果の解釈:
  • 1: これはユニークな値です。

  • 2以上: これは重複する値です。

例外出力: COUNTIF関数で重複行またはデータを見つける方法

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像9 - 見つかった重複データの結果を示す出力

高度な数式: 2回目の出現だけをハイライト表示

名前の最初のインスタンスを保持したまま、それ以後の出現にハイライトを付けるには、"拡張範囲"数式を使用します。

=COUNTIF($A$2:A2, A2) > 1
=COUNTIF($A$2:A2, A2) > 1
$vbLabelText   $csharpLabel

範囲の最初の部分($A$2)を固定し、2番目の部分を相対のままにして(A2)、現在の行まで"上から下へ"順にチェックすることができます。これが削除のために重複をフラグ付けする最も良い方法です。

方法4: 大規模データセットにPower Queryを使用する

100,000行を超える作業を行っている場合、Excelの標準のフォーマット機能によってコンピュータが遅くなる可能性があります。 Power Queryは、巨大なデータセットを簡単に処理できる組み込みのデータ処理エンジンです。

Power Queryのワークフロー

  1. データを選択してデータタブに移動します。

  2. テーブル/範囲からをクリックします(これによりあなたのデータが正式なExcelテーブルに変わります)。

3.Power QueryEditorが開いたら、チェックしたい列のヘッダーを右クリックします。

  1. 重複を保持(エラーのみを見るため)または重複を削除(リストをクリーンにするため)を選択します。

  2. 閉じる & 読み込むをクリックして、新しいExcelシートにクリーンデータを戻します。

方法5: 自動監査のためのVBA使用

毎週同じ種類のファイルを監査するパワーユーザーのために、VBAマクロは5分のタスクを1秒のタスクに変えることができます。

マクロコード

これを使用するには、Alt + F11を押し、挿入 > モジュールに移動して貼り付けます。

Sub HighlightAllDuplicates()
    Dim myRange As Range
    Set myRange = Selection
    myRange.FormatConditions.AddUniqueValues
    myRange.FormatConditions(myRange.FormatConditions.Count).SetFirstPriority
    myRange.FormatConditions(1).DupeUnique = xlDuplicate
    With myRange.FormatConditions(1).Interior
        .Color = RGB(255, 199, 206) ' Light Red
    End With
End Sub
Sub HighlightAllDuplicates()
    Dim myRange As Range
    Set myRange = Selection
    myRange.FormatConditions.AddUniqueValues
    myRange.FormatConditions(myRange.FormatConditions.Count).SetFirstPriority
    myRange.FormatConditions(1).DupeUnique = xlDuplicate
    With myRange.FormatConditions(1).Interior
        .Color = RGB(255, 199, 206) ' Light Red
    End With
End Sub
Option Strict On



Sub HighlightAllDuplicates()
    Dim myRange As Range
    myRange = Selection
    myRange.FormatConditions.AddUniqueValues()
    myRange.FormatConditions(myRange.FormatConditions.Count).SetFirstPriority()
    myRange.FormatConditions(1).DupeUnique = xlDuplicate
    With myRange.FormatConditions(1).Interior
        .Color = RGB(255, 199, 206) ' Light Red
    End With
End Sub
$vbLabelText   $csharpLabel

今や、このマクロを実行して赤色のハイライトを瞬時に適用するために、単に範囲を選択することができます。

よくある問題とトラブルシューティング

最も優れたツールでさえ、データが"汚れている"と失敗することがあります。Excelが重複を見逃す最も一般的な理由は以下の通りです。

1. 見えない空白

Excelは"Apple"と"Apple "(末尾に空白がある)を完全に異なるものとみなします。

  • 修正: 補助列で=TRIM(A2)関数を使用して、重複チェックを行う前にすべての先頭とトレーリングの空白を除去します。

2. テキストとして保存された数値

あるセルが数字123で、別のセルがテキスト"123"、Excelはそれを重複として認識しません。

  • 修正: 列を選択し、データ > テキストを列に変換に移動して、完了をクリックします。 これによりその列内のすべてのフォーマットが統一されます。

3. 非改行スペース

Webサイトからコピーされたデータには、TRIM関数で削除できない"非改行スペース"(ASCII 160)がしばしば含まれています。

  • 修正: 検索と置換 (Ctrl + H)を使用します。 "検索"ボックスでAltを押しながら0160をテンキーで入力します。 "置換"ボックスは空のままにし、すべて置換をクリックします。

開発者向け: IronXLを使用した重複検出の自動化

上記の手動方法がオフィスの従業員に最適である一方で、開発者はしばしばアプリケーションの内部でスケールに応じて重複検出を処理する必要があります。 .NETアプリケーションを構築している場合、Excelを手動で開くことはオプションではありません。

IronXLは、サーバーにMicrosoft OfficeをインストールせずにExcelファイルと対話するため for .NET開発者向けの強力で高速なライブラリを提供します。

なぜIronXLを使用するのですか?

  • No Interop: Microsoft.Office.Interopの頭痛を回避します。
  • データを簡単に操作: Excelワークシートをプロジェクト内で簡単に開いて編集し、重複セルの場所を特定してハイライトする、行全体を編集する、フォーマットスタイルを適用する、ユニークな値を抽出する、または新しいデータを入力する際に使用できます。
  • 速度: 数ミリ秒で膨大なスプレッドシートを処理します。
  • C#統合: 複数の基準に基づいて重複した行をハイライトする必要がある場合でも、慣れたLINQ構文を使用して重複を見つけてグループ化できます。

Code Snippet: Finding Duplicate Entries in C

ここでは、IronXLを使用してプログラム的に重複を見つけてハイライトする方法の簡単な例を示します。

using IronXL;
using System.Linq;
// Load the workbook
WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Select the column to audit (e.g., Column B - Revenue)
var range = sheet["B2:B20"];
// Use LINQ to find the duplicate values
var duplicateList = range.GroupBy(c => c.Value.ToString())
                         .Where(g => g.Count() > 1)
                         .Select(g => g.Key);
// Apply styling to those duplicates
foreach (var cell in range)
{
    if (duplicateList.Contains(cell.Value.ToString()))
    {
        cell.Style.BackgroundColor = "#FFC7CE"; // Light Red fill
        cell.Style.Font.Color = "#9C0006";       // Dark Red text
    }
}
// Save the audited file
workbook.SaveAs("Audited_financial_report.xlsx");
using IronXL;
using System.Linq;
// Load the workbook
WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Select the column to audit (e.g., Column B - Revenue)
var range = sheet["B2:B20"];
// Use LINQ to find the duplicate values
var duplicateList = range.GroupBy(c => c.Value.ToString())
                         .Where(g => g.Count() > 1)
                         .Select(g => g.Key);
// Apply styling to those duplicates
foreach (var cell in range)
{
    if (duplicateList.Contains(cell.Value.ToString()))
    {
        cell.Style.BackgroundColor = "#FFC7CE"; // Light Red fill
        cell.Style.Font.Color = "#9C0006";       // Dark Red text
    }
}
// Save the audited file
workbook.SaveAs("Audited_financial_report.xlsx");
Imports IronXL
Imports System.Linq

' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("financial_report.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Select the column to audit (e.g., Column B - Revenue)
Dim range = sheet("B2:B20")

' Use LINQ to find the duplicate values
Dim duplicateList = range.GroupBy(Function(c) c.Value.ToString()) _
                         .Where(Function(g) g.Count() > 1) _
                         .Select(Function(g) g.Key)

' Apply styling to those duplicates
For Each cell In range
    If duplicateList.Contains(cell.Value.ToString()) Then
        cell.Style.BackgroundColor = "#FFC7CE" ' Light Red fill
        cell.Style.Font.Color = "#9C0006"       ' Dark Red text
    End If
Next

' Save the audited file
workbook.SaveAs("Audited_financial_report.xlsx")
$vbLabelText   $csharpLabel

選択された範囲内で重複値をハイライト表示

Excelで重複を見つける方法: 究極のステップバイステップガイド: 画像10 - ハイライトされた重複

方法の比較

| 方法 |最適|難易度| |---|---|---| |条件付き書式|小/中規模のリストの迅速な視覚監査。 |初心者| |重複を削除|データを恒久的にクリーンにします。 |初心者| |COUNTIF数式|シートにロジックを追加します(例:"カウント > 3の場合")。 |中級| |Power Query|非常に大きなデータセットまたは定期的なデータインポート。 |上級| | IronXL (.NET) |アプリケーションのビルドまたはサーバーサイドレポートの自動化。 |開発者|

概要とベストプラクティス

Microsoft Excelファイルでの重複の検索は単なるフォーマットのトリックではなく、 プロフェッショナルなデータ分析での重要なステップです。 エラーを防ぐためには:

  1. "重複を削除"を使用する前に、必ずバックアップを保持してください。

  2. TRIMとCLEANを使用してデータを最初にクリーニングして、スペースが重複を隠さないようにします。

  3. 作業中にはいつも視覚的な手がかりを使用して、リアルタイムでエラーをキャッチします。

リボンを使用するビジネスプロフェッショナルであろうと、IronXLを使用する開発者であろうと、データの重複除去戦略を持つことで、レポートの正確性を保ち、データベースをスリムに保つことができます。

Excelのワークフローを自動化する準備はできましたか? IronXLの無料トライアルをチェックして、スプレッドシートをプロのように処理し始めましょう。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね