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

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

Author: Amanda Li Last Modified: 2025-08-06

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