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

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

特定のテキストを含まない行をExcelで削除するにはどうすればよいですか?

Author Sun Last modified

多くのExcelユーザーは、特定のテキストが含まれている場合に列全体を削除することに慣れているでしょう。しかし、特定のテキストを含まない行を削除する必要がある状況に直面することがあります。例えば、大規模なデータセットがあり、特定のキーワードに関連する行だけを残してすべての行を削除したい場合があります。これはレポートのフィルタリング、アンケート回答のクリーニング、データ品質管理などに役立ちます。Excelではこの操作用の直接的なワンクリックソリューションは提供されていませんが、いくつかの実用的な方法があり、それぞれスキルレベルや要件によって異なる利点があります。このチュートリアルでは、Filter(フィルター)、VBA、Kutools、数式アプローチを使用して、指定された文字列を含まない行を削除するための複数の効果的な手法を紹介します。

特定のテキストを含まない行をフィルターで削除する

特定のテキストを含まない行をVBAで削除する

Kutools for Excelで特定のテキストを含まない行を削除する

Excelの数式(ヘルパーカラム)で特定のテキストを含まない行を削除する


arrow blue right bubble 特定のテキストを含まない行をフィルターで削除する

Excelのフィルター機能は、特定のテキストを含まない行を識別して削除するための簡単でアクセスしやすい方法です。この方法は、迅速かつ視覚的なアプローチを求めるユーザーにとって特に便利で、小規模から中規模のデータテーブルに適しています。ただし、非常に大きなデータセットやターゲットテキストが多様である状況では効率が低下する可能性があります。

1. フィルターを適用する列を選択し、次に「データ」>「フィルター」をクリックして表にフィルターを適用します。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-1
doc-arrow
doc-delete-rows-not-contain-2

2. 関連する列のヘッダーにあるフィルターボタン(下向き矢印)をクリックしてドロップダウンフィルターメニューを開きます。対象とするテキスト以外のすべてのオプションのチェックを外してください。これにより、特定のテキストを含む行のみが表示されます。部分的な値またはサブストリングとしてテキストが表示される場合は、「テキストフィルター」>「含む...」オプションを使用するとより柔軟に対応できます。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-3

3. これで、指定されたテキストを含む行とヘッダーのみが表示され、そのテキストを含まない行は現在のビューでフィルタリングされます。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-4

4. ヘッダーを除いたすべての表示されている行を選択します(最初の行をクリックし、Shiftキーを押しながら最後の行をクリック)。次に右クリックしてコンテキストメニューから「行の削除」を選択します。これにより表示されている(フィルタリングされた)行が削除されます。削除後、指定されたテキストを含まない行(フィルタリングアウトされた行)のみが非表示のまま残る可能性があります。

doc-delete-rows-not-contain-5

5. 処理を完了するために、再度「データ」>「フィルター」をクリックしてフィルターを解除すると、ワークシートには指定されたテキストを含まない行のみが残ります。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-6
doc-arrow
doc-delete-rows-not-contain-7

注意:削除前に、意図した行のみが選択されていることを再確認してください。削除された行は元に戻す操作(Ctrl+Z)を行わない限り復元できません。この方法は、マージされたセルやネストされた小計が含まれているテーブルではうまく動作しません。


arrow blue right bubble 特定のテキストを含まない行をVBAで削除する

大規模なデータセットを処理する必要がある場合や頻繁に操作を繰り返す場合、VBA(Visual Basic for Applications)を使用することで削除プロセスを大幅に高速化できます。VBAソリューションでは、セルに特定の文字列が含まれているかどうかに基づいて行の削除を自動化できるため、基本的なプログラミングスキルを持つユーザー向けや、カスタマイズが必要な論理(例:大文字小文字を区別するマッチング)に最適です。

1. Alt + F11を押してMicrosoft Visual Basic for Applicationsエディタウィンドウを開きます。

2. エディタウィンドウで「挿入」>「モジュール」をクリックして新しいモジュールウィンドウを開き、次のVBAコードをコピーして貼り付けます。

VBA:特定のテキストを含まない場合、行全体を削除します。

Sub DeleteRowNoInclude()
'Updateby Extendoffice
Dim xRow As Range
Dim rng As Range
Dim WorkRng As Range
Dim xStr As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xStr = Application.InputBox("Text", xTitleId, "", Type:=2)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 1 Step -1
    Set xRow = WorkRng.Rows(i)
    Set rng = xRow.Find(xStr, LookIn:=xlValues)
    If rng Is Nothing Then
       xRow.Delete
    End If
Next
Application.ScreenUpdating = True
End Sub

3. 「実行」ボタンをクリックします。ダイアログボックスが表示され、処理する範囲(指定されたテキストを検索したい列など)を選択するよう求められます。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-8

4. 「OK」をクリックし、次のポップアップダイアログで削除基準として使用するテキストを入力します。最高の結果を得るには、データ内での表示通りに入力してください。コードはデフォルトで非大文字小文字区別検索を行います。大文字小文字を区別する場合はコードを変更してください。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-9

5. 「OK」をクリックすると、セルに指定されたテキスト(例:"Apple")が含まれていないすべての行が即座に削除されます。VBAマクロを実行する前に作業内容を保存してください。この操作は簡単に取り消すことができません。予期しない結果が発生した場合は、元に戻す(Ctrl+Z)か、ファイルを保存せずに閉じて正しいパラメータで再試行してください。上級ユーザーは、部分一致や複数条件に対応するようにこのコードを調整できます。


arrow blue right bubble Kutools for Excelで特定のテキストを含まない行を削除する

手動でフィルタリングしたりVBAを取り扱ったりしたくないユーザーにとっては、Kutools for Excelが効率的でインタラクティブな方法を提供します。わずか数回のクリックで特定のテキストを含まない行を選択して削除できます。これは、頻繁にデータを処理する場合や複数の検索条件を扱う場合に特に役立ちます。Kutoolsはインストールが必要ですが、複雑なExcel操作を大幅に簡素化し、バッチ処理をサポートします。また、操作は直感的で初心者にもフレンドリーです。

Kutools for Excelには300以上の便利なExcelツールが含まれています。30日間無制限で無料お試し可能です。今すぐ入手

1. 指定されたテキストを含まない行を削除したい列を選択し、「Kutools」>「選択ツール」>「特定のセルを選択」をクリックします。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-10

2. 「 特定のセルを選択」ダイアログボックスで、「行全体」をチェックし、ドロップダウンで「含まない」を選択し、テキストボックスにターゲットテキストを入力します。あるいは、「特定タイプ」セクションの範囲選択アイコンをクリックして、目的のテキストを含む参照セルを選択することもできます。タイポや余分なスペースがないか再確認してください。これらは選択の正確性に影響します。

doc-delete-rows-not-contain-11

3. 「OK」をクリックします。指定されたテキストを含まない行が自動的に選択されます。ハイライトされた行番号のいずれかを右クリックし、コンテキストメニューから「削除」を選択します。これにより、すべての選択された行が一度に削除されます。スクリーンショットをご覧ください:

doc-delete-rows-not-contain-12

4. これで、指定されたテキストを含んでいないすべての行がワークシートから削除されました。さらに高度なヒントや最新の機能については、以下をご覧ください:特定のセルを選択に関するドキュメント

ヒント:削除前に選択内容を確認して必要なデータの誤った損失を避けるとともに、安全性のためにバックアップコピーを作成することをお勧めします。Kutoolsの選択機能は他の機能と組み合わせて使用でき、さらにカスタマイズされたデータ管理を可能にします。


arrow blue right bubble Excelの数式(ヘルパーカラム)で特定のテキストを含まない行を削除する

もう一つの非常に実用的な方法は、ヘルパーカラムでExcelの数式を使用することです。このアプローチでは、各列が特定のテキストを含むか含まないかを迅速に識別し、必要に応じてフィルタリングまたは削除できます。この方法は、数式に精通しており、削除前に結果を透明かつ監査可能なプロセスで確認したいユーザーに適しています。特に、検索テキストがセル内のどこかに現れる場合(完全一致ではなく)に便利です。

利点:非常に柔軟で、アドインやVBAを必要とせず、安全です(削除前にユーザーが結果を確認する)。欠点:多段階のプロセスであり、Excelの数式やフィルターに習熟している必要があります。

手順:

1. データの隣に新しいヘルパーカラムを追加します。説明のため、テキストがA列にあると仮定し、データは2行目から始まります(ヘッダーを除く)。

2. ヘルパーカラムの最初の行(例:B2)に次の数式を入力します("text"を検索したい文字列に置き換えてください):

=ISNUMBER(SEARCH("text",A2))

この数式は、A2のセルに指定されたテキスト(部分文字列、大文字小文字を区別しない)が含まれている場合にTRUEを返し、それ以外の場合はFALSEを返します。

3. Enterキーを押し、セルの右下隅をダブルクリックして数式をデータセットのすべての行に埋め込みます。

4. ヘルパーカラムでフィルター関数を使用します。ドロップダウン矢印をクリックし、FALSEを選択してターゲットテキストを含まない行のみを表示します。これらのフィルタリングされた行すべてを選択(ヘッダーがあれば除く)、右クリックし、「行の削除」を選択します。

5. 削除後、フィルターをクリアしてビューを復元します。結果を確認し、必要であればヘルパーカラムを削除します。

パラメーターおよびヒント:

  • 完全なセル値(部分文字列ではない)を一致させる必要がある場合は、数式を=A2="text"に変更してください。
  • データに空のセルが含まれている場合、ISNUMBER(SEARCH(...))はFALSEを返し、その行はテキストを含まないと見なされます。
  • 大文字小文字を区別するマッチングが必要な場合は、数式内のSEARCHをFINDに置き換えてください。

 

トラブルシューティング:数式アプローチは実際に行を削除するまで破壊的操作ではありません。必ずTRUE/FALSEの結果を再確認し、一括削除の前にバックアップコピーを保存することを検討してください。


関連記事:

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

🤖 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日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得