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

Excel のセル値に基づいて行を削除する – 簡単なチュートリアル

著者:シャオヤン 最終更新日:2024年04月09日

扱うのが小さなスプレッドシートであっても、大規模なデータセットであっても、セル値に基づいて行を削除する方法を知っていれば、時間と労力を節約できます。このプロセスは、フィルター機能、検索と置換ツール、並べ替え機能などのいくつかの Excel 機能を使用して実行でき、さらに高度なテクニックを使用することもできます。このガイドを終えるまでに、Excel シートから不要な行を効率的に削除し、データがクリーンで分析ニーズに適合していることを確認するための知識を身につけることができます。

たとえば、名前列に Jener が含まれる行をすべて削除したい場合は、どうすればよいでしょうか?

セル値に基づいて行全体を削除します

並べ替え機能を使用してセル値に基づいて選択範囲内の行を削除します


Excel のセル値に基づいて行全体を削除する

Excel には、特定のセル値に基づいて行を削除する方法がいくつか用意されています。このセクションでは、フィルタリング、検索と置換、Kutools などの単純な Excel 機能から、VBA を含むより高度なテクニックまで、さまざまな方法を取り上げます。初心者でも上級ユーザーでも、あなたのスキルレベルとニーズに合った方法が見つかります。

📝 Note: 行を削除する次のメソッドは、行の他のセルの内容を含む、その行内のすべてのデータを削除します。データの損失を防ぐために、削除する前にデータセットを別のワークシートに複製することを検討してください。

フィルター機能を使用してセル値に基づいて行全体を削除します

通常、フィルター機能を適用して特定の条件を満たす行を表示し、その行を一度に削除できます。

ステップ 1:フィルタ機能を適用して不要な行をフィルタリングします。

  1. 行を削除するデータ範囲を選択します。そして、クリックします 且つ > フィルタ、スクリーンショットを参照してください:
  2. これで、各列のヘッダーにドロップダウン矢印が表示されます。行を削除する基準となる値を含む列のドロップダウン矢印をクリックします。たとえば、Jener という名前の行を削除する場合は、[名前] 列の矢印をクリックします。
  3. ドロップダウンメニューでチェックを外します すべてを選択します。 をクリックしてすべての選択をクリアし、「Jener」の横のボックスのみをチェックするか、検索ボックスに「Jener」と手動で入力してすぐに見つけます。
  4. 次に、をクリックします OK ボタンをクリックしてフィルターを適用します。 Jener を含む行のみが表示されます。スクリーンショットを参照してください:

ステップ 2: フィルタリングされた行を削除する

表示されている行を選択し、選択した行の 1 つを右クリックして、 行を削除 コンテキストメニューから。これにより、選択したすべての行が削除されます。

ステップ 3: フィルターをクリアする

次に、をクリックします 且つ > フィルタ また。これによりフィルターが削除され、削除されたレコードを除くすべてのレコードが表示されます。

💡 ヒント:
  • フィルター メソッドを適用してテキスト Jener を含む行を削除する方法と同様に、次のスクリーンショットに示すように、このメソッドを利用して数値または日付の条件に基づいて行を削除することもできます。
    数値フィルター条件:


    日付フィルター条件:
  • フィルター機能を使用して、特定の背景色を含むすべての行をフィルターして削除することもできます。スクリーンショットを参照してください:
  • フィルター機能を使用すると、複数の基準に基づいてフィルター処理を行い、不要なコンテンツを除外して削除できます。たとえば、営業マンが Jener で、総売上高が 7000 ドルを超える行をすべて削除するとします。まず Jener という名前で行をフィルタリングし、次に 7000 を超える売上をフィルタリングする必要があります。
 

Kutools AI Aideを使用してセル値に基づいて行全体を削除します

Kutools for Excel は、Excel でのさまざまな種類の複雑なタスクを簡素化するように設計された、300 を超える高度な機能を含む包括的なアドインです。その特徴の一つとして、 Kutools AI アシスタントは、特定の条件に基づいて行のフィルタリングや削除などのタスクを自動化するのに役立ちます。

📝 Note: 使用するには Kutools AI アシスタント of Kutools for Excelについては Kutools for Excelをダウンロードしてインストールします 最初。

インストールした後 Kutools for Excel、をクリックしてください クツールAI > AI補佐官 を開く Kutools AI アシスタント ペイン:

  1. データ範囲を選択し、チャット ボックスに要件を入力して、 送信 ボタンまたはプレス 入力します 質問を送信するためのキー。
    「名前列の選択項目に Jener という名前が含まれている場合は行を削除します。」
  2. 分析後、クリックします 実行する 実行するボタン。 Kutools AI Aide は、AI を使用してリクエストを処理し、指定された行を Excel で直接削除します。
💡 ヒント:
  • 複数の基準に基づいて行を削除するには、要件をそれに応じて調整するだけです。たとえば、「」のようなコマンドを使用します。[名前] 列の選択項目に Jener または Kevin が含まれる行を削除します。"または"[名前] 列に Jener が含まれており、総売上高が 7000 を超える行を選択範囲から削除します。".
  • この方法 元に戻すことはサポートされていません function。ただし、元のデータを復元したい場合は、 不満 変更を元に戻します。
 

検索と置換機能を使用してセル値に基づいて行全体を削除します

Excel の検索と置換機能を使用して特定のセル値に基づいて行全体を削除するのは、データをクリーンアップするのに非常に効果的な簡単な方法です。次のようにしてください。

ステップ 1: 検索と置換機能を適用して特定の値を選択する

  1. 特定のセル値に基づいて行を削除する列データを選択し、 検索および置換 ダイアログボックスを Ctrl + F キーを同時に押す。
  2. 検索および置換 ダイアログ ボックスで、特定のセル値を入力してください (この例では、 ジェナー)を 見つける ボックスをクリックし、 すべて検索 ボタン。 スクリーンショットを参照してください:
  3. 下部にあるすべての検索結果を選択します 検索および置換 ダイアログ ボックスを閉じて、このダイアログ ボックスを閉じます。 (検索結果のいずれかを選択してから、 Ctrlキー+ A キーを押して、見つかった結果をすべて選択します。) そして、特定の値を含むすべてのセルが選択されます。その後、このダイアログ ボックスを閉じます。スクリーンショットを参照してください:

ステップ 2: 選択した値に基づいて行を削除します。

  1. セルが選択されたままの状態で、選択したセルの 1 つを右クリックし、 削除 コンテキストメニューから選択します。
  2. 選択 行全体 [削除]ダイアログで をクリックし、 OK 指定した値を含むすべての行を削除します。
 

VBAコードを使用してセル値に基づいて行全体を削除します

Excel で VBA (Visual Basic for Applications) を使用してセル値に基づいて行を削除すると、タスクを自動化でき、特に大規模なデータセットの場合に効率的になります。

手順 1: VBA モジュール エディターを開いてコードをコピーする

  1. イベント Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
  2. 開いたウィンドウで、 をクリックします。 インセット > モジュール 新しい空のモジュールを作成します。
  3. 次に、以下のコードをコピーして空のモジュールに貼り付けます。
    Sub DeleteRowsBasedOnCellValue()
    'Updateby Extendoffice
        Dim ws As Worksheet
        Set ws = ActiveSheet
        Dim columnRange As Range
        On Error Resume Next
        Set columnRange = Application.InputBox("Select the column range to check:", "Kutools for Excel", Type:=8)
        On Error GoTo 0
        If columnRange Is Nothing Then Exit Sub
        Dim lastRow As Long
        lastRow = ws.Cells(ws.Rows.Count, columnRange.Column).End(xlUp).Row
        Dim criteria As String
        criteria = Application.InputBox("Enter the value to delete rows for:", "Kutools for Excel", Type:=2)
        If criteria = "" Then Exit Sub
        Dim i As Long
        For i = lastRow To 1 Step -1
            If ws.Cells(i, columnRange.Column).Value = criteria Then
                ws.Rows(i).Delete
            End If
        Next i
    End Sub
    

ステップ 2: コードを実行する

  1. 次に、 F5 キーを押してコードを実行します。ポップアップダイアログボックスで、特定の値に基づいて行を削除する列を選択し、 OK
  2. 次のダイアログ ボックスで、行を削除する基準となる特定の値を入力し、 OK ボタン。 スクリーンショットを参照してください:

結果:

そして、指定された値に基づいて行全体がすでに削除されていることがわかります。

📝 Note: この VBA コード メソッド 元に戻すには対応していませんしたがって、使用する前に、操作が期待どおりに実行されることを確認してください。さらに、意図しない変更や損失を防ぐために、データのバックアップを維持することをお勧めします。

並べ替え機能を使用してセル値に基づいて選択範囲内の行を削除します

上記のすべての方法では行全体が削除されるため、制限が生じる可能性があります。たとえば、これらの方法を使用すると、データセットの右側にあるすべてのデータが削除されます。データセット内の特定のレコードのみを削除し、残りのデータは保持したいとします。その場合は、別のアプローチが必要になります。

ステップ 1: データのヘルパー列を作成する

注文の追跡に役立つ新しい列を作成します。データの横に列を挿入し、1、2、3 などのシリアル番号を入力する必要があります。スクリーンショットを参照してください。

ステップ 2: 特定の列に基づいてデータを並べ替える

  1. 行を削除する基準となるデータ列を選択します。次に、クリックします 且つ > ZをZにソートする or ZからAへをクリックすると、[並べ替えの警告] ダイアログ ボックスが表示されます。 選択範囲を拡大、次に、をクリックします 並び替え ボタン。 スクリーンショットを参照してください:
  2. これで、同じ値を持つ行がグループ化され、それらを簡単に識別して選択できるようになります。スクリーンショットを参照してください:

ステップ 3: ソートされた行を削除する

  1. 削除するレコードのグループを選択し、右クリックして [ 削除 コンテキストメニューから。 の中に 削除 ダイアログボックスで セルを上にシフト オプション。そして、クリックします OK ボタン。 スクリーンショットを参照してください:
  2. 行全体は削除されず、名前が Jener であるレコードのみが削除されます。したがって、データセットの右側または左側にあるデータは影響を受けません。

ステップ 4: 並べ替え機能を適用してデータの元の順序を復元する

ヘルプ列のヘッダーをクリックして、次のページに進みます。 且つ リボン上で選択します ZをZにソートする ヘルパー列の順序に従ってデータを整理します。これにより、必要に応じて、選択した範囲内のデータが元の順序に復元されます。

ステップ 5: ヘルパー列を削除する

最後に、必要に応じてヘルパー列を削除し、ワークシートをクリーンアップします。


この記事では、セルの値に基づいて Excel の行を削除するいくつかの方法を検討しました。お好みのものをお選びいただけます。 Excel のヒントやテクニックをさらに詳しく知りたい場合は、当社の Web サイトで何千ものチュートリアルをご覧ください。 ここをクリックしてアクセスしてください。 読んでいただきありがとうございます。今後さらに役立つ情報を提供できることを楽しみにしています。


関連記事:

  • Excel の空白セルを簡単に削除 – 完全なチュートリアル
  • Excel での空白セルの削除は、データを合理化し、分析、理解、表示を容易にする一般的なタスクです。空白のセルがあると、データ分析が中断され、数式にエラーが発生し、データセットが不完全または専門的でないように見える可能性があります。このチュートリアルでは、特別な機能に移動、数式、フィルター関数など、Excel の空白セルを効率的に削除または管理するためのいくつかの方法を検討します。各方法は異なるニーズとシナリオに対応するため、要件に最も適した方法を選択できます。
  • Google シートの列内の特定のテキストを含む行をすべて削除する
  • グーグルシートにある範囲のデータがあると仮定して、ここで、列のセル値に基づいて行を削除したいとします。 たとえば、Colum Cで「Complete」というテキストを含むすべての行を削除したいとします。この記事では、Googleスプレッドシートでそれを解決する方法について説明します。
  • 背景色に基づいて行を削除する
  • 背景色に基づいて行全体を削除するにはどうすればよいですか? この例では、次のスクリーンショットに示すように、セルが青色の背景色で塗りつぶされているすべての行を削除する必要があります。 この記事では、Excelでこのタスクを実行するためのいくつかのコードを取得します。
  • XNUMX行おきに削除
  • ExcelでXNUMXつおきの行または列をすばやく削除する場合、重要な点は、最初にXNUMXつおきの行または列をすばやく選択してから、それらに削除操作を適用する方法です。 また、この記事では、最初にXNUMXつおきの行または列を選択してから、それらをすばやく削除する方法について、いくつかの注意点を示します。
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations