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

Excelで複数の一致を一度に検索して削除する方法は?

Author: Amanda Li Last Modified: 2025-05-23

Excelで大量のデータを扱う際には、必要な情報を迅速に見つけることが重要です。そのために必要なのが「検索と置換」機能です。この機能を使えば、現在のシートやワークブック全体で特定の値や書式を検索してハイライトし、その結果を削除したり置換したりすることができます。しかし、Excelの「検索と置換」では、一度に一つの値しか検索できません。このチュートリアルでは、Excelで複数の異なる値を一度に検索して削除する方法を紹介します。

A screenshot showing a range of cells to find and delete multiple values


VBAを使用して複数の一致を一度に検索して削除する

選択した範囲や複数のワークシートで異なる値を複数検索し、即座に削除するためのVBAコードを2つ作成しました。以下の手順に従って、必要に応じてコードを実行してください。

1. ExcelでAlt + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2.クリック 挿入 > モジュール。次に、以下のいずれかのVBAコードをコピーして モジュール ウィンドウに貼り付けます。
A screenshot of the Microsoft Visual Basic for Applications window with the Insert > Module option highlighted

VBAコード1: 選択した範囲で複数の一致を一度に検索して削除する

Sub FindAndDeleteDifferentValues_Range()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ

xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas

On Error Resume Next
Set xRg = Application.InputBox("Please select the search scope:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub

xBol = False
For Each xARg In xRg.Areas
    Set xFindRg = Nothing
    Set xFindRgs = Nothing
    Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.ClearContents
    End If
Next
If xBol Then
    MsgBox "Successfully deleted."
Else
     MsgBox "No results found."
End If
End Sub

注:13行目のスニペット xArrFinStr = Array("sales", "9", "@")では、"sales", "9", "@" を検索して削除したい実際の値に置き換えてください。各値を二重引用符で囲み、カンマで区切ることを忘れないでください。


VBAコード2: 複数のシートで複数の一致を一度に検索して削除する

Sub FindAndDeleteDifferentValues_WorkSheets()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and delete the values. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
    Set xWSh = xWb.Worksheets(xArr(xI))
    Set xFindRg = Nothing
    xWSh.Activate
    Set xFindRgs = Nothing

    Set xURg = xWSh.UsedRange
    Set xFindRgs = Nothing
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.ClearContents
    End If
Next

If xBol Then
    MsgBox "Successfully deleted."
Else
     MsgBox "No results found."
End If
End Sub
注:
  • 15行目のスニペット xArr = Array("Sheet1", "Sheet2")では、"Sheet1", "Sheet2" を検索して削除したいシートの実際の名前に置き換えてください。各シート名を二重引用符で囲み、カンマで区切ることを忘れないでください。
  • 16行目のスニペット xArrFinStr = Array("sales", "9", "@")では、"sales", "9", "@" を検索して削除したい実際の値に置き換えてください。各値を二重引用符で囲み、カンマで区切ることを忘れないでください。

3. F5キーを押してVBAコードを実行します。注: VBAコード1を使用する場合、値を検索して削除する範囲を選択するように求めるダイアログボックスが表示されます。また、シートタブをクリックしてシート全体を選択することもできます。

4. 以下に示すように、指定された一致が削除されたことを知らせるダイアログボックスが表示されます。クリック OK してダイアログを閉じます。
A screenshot of a message box in Excel confirming the deletion of specified values after running VBA code

5. 指定された値が一度に削除されました。
A screenshot of the Excel worksheet showing the cells after multiple values have been deleted using VBA code


特定のセルを選択する機能を使用して複数の一致を一度に検索して削除する

Kutools for Excelは、設定した1つまたは2つの条件を満たす値を一度に検索するための「特定のセルを選択する」機能を提供しています。続けて、複数の値を迅速に検索して削除する方法を確認してください。

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

1. Kutools タブで、 編集 グループで、クリック 選択 > 特定のセルを選択する.
A screenshot of the Kutools tab in Excel with the Select Specific Cells option highlighted

2. ポップアップする 特定のセルを選択する ダイアログボックスで、次のようにしてください。
  • 範囲内のセルを選択 」ボックスで、範囲選択ボタンをクリックして Range selection button 検索して削除する値の範囲を指定します . 注: シート全体を検索するには、シートタブをクリックしてください。
  • 選択タイプ」セクションで、「セル」オプションを選択します。
  • 指定タイプ 」セクションで、最大2つの条件を設定します。
    • 左側のドロップダウン矢印をクリックして、必要な関係を選択します。例えば、含む等しいより小さいで始まるなど。
    • 必要に応じて、対応するボックスに値を入力します。
    • 2つの条件間の関係を指定します(ある場合)。「And」または「Or」
A screenshot of the Select Specific Cells dialog box in Excel

3.クリック Ok して、設定した条件に合致するセルを選択します。ダイアログボックスが表示され、見つかったセルの数が表示されます。
A screenshot of the Select Specific Cells dialog box confirming the number of selected cells in Excel

4.クリック OK。次に、 DELETE キーを押して、選択した値を一度に削除します。
A screenshot of the Excel worksheet with selected cells being deleted using the DELETE key

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


デモ: Excelで複数の一致を一度に検索して削除する

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

関連する記事

Excelで重複を検索、ハイライト、フィルター、カウント、削除する

Excelでは、データを手動で記録したり、他のソースからデータをコピーしたりする際に、重複データが何度も発生します。重複が必要で有用な場合もありますが、重複する値がエラーや誤解を招くこともあります。この記事では、数式、条件付き書式ルール、サードパーティのアドインなどを使用して、重複を迅速に識別、ハイライト、フィルター、カウント、削除する方法を紹介します。

Excelで2つの列を比較して一致を削除する方法は?

2つの列またはリストに重複が含まれている場合、それらを比較して一致を見つけて削除したい場合、どのように迅速に解決できますか?この記事では、Excelでそれを処理するためのさまざまな方法を紹介します。

Excelで選択した範囲以外をすべて削除する方法は?

Excelでは、選択した範囲を迅速かつ直接的に削除できますが、選択した範囲以外のセルの内容を削除したことがありますか?この記事では、このタスクをExcelで迅速かつ簡単に解決するためのトリックを紹介します。

セル範囲内のすべての画像を削除する方法は?

ワークシートに複数の画像が配置されている場合、指定された範囲でそれらの一部を削除したい場合、どのように迅速に対処しますか?

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!