Excelでのデータのフィルタリング – 簡単で包括的
Excelのフィルター コマンドは、範囲またはテーブル内のデータをフィルタリングし、必要なデータのみを表示して残りを非表示にするのに役立ちます。組み込みの演算子を使用して、数値、テキスト、日付を簡単にフィルタリングできます。例えば、特定の数値以上であるすべての数値をフィルタリングしたり、テキストが特定の文字や単語で始まる、終わる、またはそれを含むものをフィルタリングしたり、期日が特定の日付の前または後である行だけを表示したりできます。範囲またはテーブル内のデータを一度フィルタリングすると、データが変更された場合、フィルターを再適用して新しいデータを取得するか、フィルターをクリアしてすべてのデータを表示することができます。
このチュートリアルでは、Excelでフィルターを追加、使用、削除する方法を実演します。さらに、より複雑なExcelの問題に対処するためにフィルター機能を強化する方法についてもご案内します。
目次: [ 非表示 ]
1. Excelでフィルターを追加する方法
範囲またはテーブル内のデータをフィルタリングするには、まずデータにフィルタを追加する必要があります。このセクションでは、Excelでフィルタを追加する3つの方法を提供します。
1.1 データタブのフィルター コマンド
フィルタを追加したい範囲またはテーブル内の任意のセルを選択し、[データ] > [フィルタ] をクリックします。
1.2 ホームタブのフィルター コマンド
フィルターを追加したい範囲または表の任意のセルを選択し、[ホーム] → [並べ替えとフィルター] → [フィルター] をクリックします。
1.3 ショートカットでフィルターを追加
フィルタを追加したい範囲またはテーブル内の任意のセルを選択し、次に "Ctrl" + "Shift" + "L" キーを押します。
上記の操作のいずれかを適用すると、選択したセルの列見出しにドロップダウン矢印が追加されていることが確認できます。
2. Excelでフィルターを適用する方法(1つまたは複数の条件)
フィルターを追加した後、手動で適用する必要があります。このセクションでは、Excelの1つまたは複数の列にフィルターを適用する方法を紹介します。
2.1 1列にフィルターを適用する(1つの条件)
特定の列(例えば、下のスクリーンショットに示す列Cのデータをフィルタリングする場合)にのみフィルタを適用したい場合は、その列に移動して、次のように操作してください。
- 1) 列ヘッダーのドロップダウン矢印をクリックします。
- 2) 必要に応じてフィルター条件を指定します。
- 3) 「OK」ボタンをクリックして、フィルタリングを開始します。スクリーンショットをご覧ください:
これでフィルターが列 C に適用されました。フィルター条件を満たすすべてのデータが表示され、残りのデータは非表示になります。
フィルターを適用すると、ドロップダウン矢印がフィルターアイコンに変わります。 .
フィルターアイコンにカーソルを合わせると、指定したフィルター条件がスクリーンチップとして表示されるという点は非常に配慮されています。以下のスクリーンショットのように表示されます。そのため、指定したフィルター条件を忘れた場合は、フィルターアイコンにカーソルを合わせるだけで確認できます。
2.2 複数列に複数条件でフィルターを適用する(複数条件)
2.2.1 複数の列に複数の条件を一つずつ適用してフィルタを設定
複数の列に複数の条件でフィルターを適用したい場合は、上記の方法を各列に対して一つずつ繰り返してください。
複数の列にフィルターを適用すると、フィルターが適用された列のドロップダウン矢印がフィルターアイコンに変わります。
2.2.2 複数の列に複数の条件を同時に適用してフィルターを実行
上記の方法では、列ごとにフィルターを個別に適用する必要があり、最も重要な点は、この方法が「AND」条件のみをサポートしていることです。ここでご紹介するのは、複数の列に同時にフィルターを適用できるだけでなく、「AND」と「OR」の両方の条件を適用できる方法です。
以下のスクリーンショットに示すようなデータテーブルがあり、複数の列から「製品 = AAA-1」および「注文 > 80」、または「総価格 > 10000」という複数の条件に基づいてデータをフィルタリングしたいとします。次のいずれかの方法を試して、これを実行してください。
高度なフィルター機能を使用すると、この問題を解決できるかもしれません。以下の手順に従って操作してください。
1. まず、下のスクリーンショットに示すように、ワークシートに条件を作成します。
注: AND条件の場合、基準値を同じ行の異なるセルに配置してください。そして、OR条件の値を別の行に配置してください。
2. 「データ」をクリックし、次に「詳細」を選択して「高度なフィルター」機能を有効にします。
3. 「高度なフィルター」ダイアログボックスで、次の通り設定してください。
これで、列が指定された基準に基づいて同時にフィルタリングされ、以下のスクリーンショットに示されるようになりました。
2.2.2.2 複数の列にフィルターを簡単に適用するための驚きのツール
「AND」および「OR」のフィルター条件は、前述の方法では管理が難しいため、ここでは「Kutools for Excel」の「スーパーフィルター」機能を強くお勧めします。この機能を使用すると、Excelで複数の列にANDとORの両方の基準を簡単に適用できます。
1. Kutools for Excel をインストールした後、「Kutools Plus」>「スーパーフィルター」をクリックします。
その後、「スーパーフィルター」ペインがワークシートの右側に表示されます。
デフォルトでは、「スーパーフィルター」ウィンドウに OR 関係を持つ 2 つの空白の条件グループが追加されます。そして、同じグループ内の条件間の関係は AND です。必要に応じて、異なるグループ間の関係を変更できます。
2. 「スーパーフィルター」ペインで、次のフィルタ条件を設定してください。

ヒント: 最初のドロップダウンリストは列ヘッダー用、2番目はフィルタータイプ用です(このドロップダウンから「テキスト」、「数値」、「日付」、「年」、「テキスト形式」などを選択できます)、3番目は条件タイプ用、最後のテキストボックスは条件値用です。
前述の例のように、ここでは3つのドロップダウンリストからそれぞれ「Product」→「Text」→「Equals」を選択し、その後テキストボックスに「AAA-1」と入力します。スクリーンショットをご覧ください:
これで、一致するデータのみが元のデータ範囲に表示され、残りは非表示になります。 スクリーンショットをご覧ください:
ヒント: この便利な機能を使用すると、グループにさらに条件を追加したり、新しいグループを追加したり、現在のフィルター設定をシナリオとして保存して将来使用したりすることができます。このツールは、作業時間を大幅に節約し、作業効率を向上させるために欠かせないものです。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
この機能についてさらに詳しく知るには、クリックしてください。
3. Excelでフィルターを使用する方法
このセクションでは、テキスト、数値、日付、書式などのさまざまなデータタイプをフィルタリングするために、フィルタコマンドを使用する方法を学びます。
3.1 テキスト値をフィルタリング
3.1.1特定の条件でテキストセルをフィルタリング(で始まる、で終わる、含むなど)
実際、組み込みのフィルター演算子「テキスト フィルター」には、テキストを簡単にフィルターするための多くの便利な基準が用意されています。たとえば、J などの特定の文字で始まるセルをフィルターしたい場合は、次の手順を実行してください。
1. 元のデータ範囲の列見出しにフィルターを追加します。列見出しにフィルターを追加する方法を確認するにはクリックしてください。
2. ヘッダー セルのドロップダウン矢印をクリックして、フィルター メニューを開きます。
3. 「テキストフィルター」をクリックし、「で始まる」を選択します。
4. 「カスタムオートフィルター」ダイアログボックスで、特定の文字(ここでは J と入力)をテキストボックスに入力し、「OK」をクリックします。
ヒント: 必要に応じて、別の「And(かつ)」または「Or(または)」の関係条件を追加できます。
これで、文字 J で始まるすべてのセルが列 D に表示されます(下のスクリーンショット参照)。
特定の条件に基づいてテキストセルをフィルタリングするのは、組み込みのフィルタ演算子を使用すれば簡単なように思えます。しかし、Filter 関数では大文字と小文字を区別したテキストのフィルタリングがサポートされていないため、Excel で大文字と小文字を区別するフィルタリングをどのように行えばよいでしょうか?このセクションでは、それを実現する方法を紹介します。
3.1.2.1 数式とフィルター コマンドを使用して、大文字と小文字を区別して特定のテキストをフィルター処理する
列 B で「TEXT TOOLS」のような特定のテキストのすべての大文字をフィルタリングしたい場合、次の手順を実行してください。
1. 元のデータ範囲の隣にヘルパー列を作成します(ここでは列Dをヘルパー列として選択します)。以下の数式を2番目のセルに入力し、「Enter」キーを押します。結果のセルを選択し、「オートフィルハンドル」を下にドラッグして他の結果を取得します。
=EXACT(B2,UPPER(B2))
注: この数式は、大文字と小文字のセルを識別するのに役立ちます。セルにすべて大文字の文字が含まれている場合、結果は "TRUE" になり、それ以外の場合は "FALSE" という結果が得られます。
2. 列Bと列Dを選択します(列Cも選択されますが、問題ありません)。「データ」>「フィルター」をクリックして、それらにフィルターを追加します。
3. 列B(フィルタリングするテキストが含まれる列)に移動し、次のように設定します。
現在、列 B には「テキスト ツール」の小文字と大文字のみが表示されています。
4. D列のドロップダウン矢印をクリックし、「すべて選択」のチェックボックスをオフにし、「TRUE」項目の隣のチェックボックスをオンにしてから、「OK」ボタンをクリックします。
そして、列Bの「text tools」というテキストのすべて大文字が以下のスクリーンショットに示されているようにフィルタリングされます。
3.1.2.2 大文字と小文字を区別するセルを驚くほど簡単にフィルタリングできるツール
列内のすべての大文字または小文字のテキストだけをフィルタリングしたい場合、ここでは「Kutools for Excel」の「特殊フィルタ」機能をお勧めします。この機能を使用すれば、数回のクリックだけで大文字または小文字のテキストが簡単にフィルタリングされます。
1. テキストをフィルタリングする列の範囲を選択し、次に「Kutools Plus」>「特殊フィルタ」>「特殊フィルタ」をクリックします。
2. 「特殊フィルタ」ダイアログボックスで、以下の設定を行ってください。
3. 次に、「Kutools for Excel」ダイアログボックスが表示され、見つかったセルの数とフィルタリングされるセルの数が通知されます。「OK」ボタンをクリックしてください。
これで、すべて大文字または小文字のセルが、以下のスクリーンショットに示すようにすぐにフィルタリングされます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
テキストの長さでセルをフィルタリングしたい場合、例えば、テキストの長さが10文字に等しいセルをフィルタリングするには、どうすればよいでしょうか? 以下の3つの方法がお役に立てます。
3.1.3.1 フィルタコマンドを使用してテキストの長さでセルをフィルタリング
実際、フィルターコマンドにはこの問題を解決するための組み込み演算子があります。以下の手順で行ってください。
1. フィルタリングするセルの範囲を選択します(ここではB1:B27を選択します)。次に、「データ」>「フィルター」をクリックして、この列範囲にフィルターを追加します。
2. 列ヘッダーのドロップダウン矢印をクリックし、次に「テキストフィルター」>「カスタムフィルター」をクリックします。スクリーンショットをご覧ください:
3. 「カスタムオートフィルター」ダイアログボックスで、基準として「等しい」を選択し、テキストボックスに10個の疑問符(?)をパターンとして入力してから、「OK」ボタンをクリックします。
ヒント: これらの10個の疑問符は、長さが10のテキスト文字列と一致することを示しています。
これで、文字列の長さが10(スペースを含む)であるすべてのセルがすぐにフィルタリングされます。
3.1.3.2 数式とフィルターコマンドを使用してテキストの長さでセルをフィルタリング
さらに、LEN関数を使用して各セルの文字列の長さを計算し、その後、計算結果に基づいて必要な文字列の長さを持つセルをフィルタリングするためにフィルター コマンドを適用できます。
1. 元のデータ範囲の隣にヘルパー列を作成します。以下の数式を入力し、「Enter」キーを押します。結果セルを選択し、その「オートフィルハンドル」を下にドラッグして他の結果を取得します。
=LEN(B2)
これで、指定された列の各セルのテキスト長が取得されます。
2. ヘルパー列(ヘッダーを含む)を選択し、[データ] > [フィルター] をクリックして、それにフィルターを追加します。
3. ドロップダウン矢印をクリックし、「すべて選択」のチェックを外してすべての項目の選択を解除した後、番号10の横にあるチェックボックスのみをオンにし、最後に「OK」ボタンをクリックします。
これで、文字列の長さが10(スペースを含む)であるすべてのセルがすぐにフィルタリングされます。
3.1.3.3 テキストの長さでセルを簡単にフィルタリングできる驚きのツール
ここでは、Excelでテキストの長さによってセルを簡単にフィルタリングするのに役立つ「Kutools for Excel」の「特殊フィルタ」機能をおすすめします。
1. 特定のテキスト長に基づいてフィルタリングする列範囲を選択し、"Kutools Plus" > "特殊フィルタ" > "特殊フィルタ" をクリックします。スクリーンショットをご覧ください:
2. 「特殊フィルタ」ダイアログボックスで、次の通り設定してください。
3. 「Kutools for Excel」のダイアログボックスが表示され、見つかったセルの数とフィルタリングされるセルの数が通知されます。「OK」をクリックして続行します。
その後、文字列の長さが10に等しいすべてのセルが、以下のスクリーンショットに示すようにフィルタリングされます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
3.2 数値をフィルタリング
Excel では、[数値フィルター] コマンドを使用して数値をフィルタリングすることも非常に簡単です。
列内の15000から20000の間の数値を持つセルをフィルタリングしたいとします(以下のスクリーンショットに示すように、たとえばC列の場合)、次の手順で実現できます。
1. 数値をフィルタリングしたい列の範囲を選択し、[データ] > [フィルター] をクリックしてフィルターを追加します。
2. フィルターを追加した後、次の通り設定してください。
ヒント: 15000から20000の間の数値を持つセルをフィルタリングしたいので、ここでは15000と20000をそれぞれテキストボックスに入力します。
これで、15000から20000の間の数値を持つセルが以下のスクリーンショットのようにフィルタリングされました。
3.3 日付をフィルタリング
デフォルトでは、組み込み機能の「日付フィルター」は、日付をフィルタリングするための多くの一般的な基準を提供しています。ご覧の通り、曜日、週末、または平日で日付をフィルタリングする組み込みオプションはありません。このセクションでは、これらの操作を実現する方法を説明します。
下のスクリーンショットに示すようなデータテーブルがあるとします。日付を平日や週末でフィルタリングしたい場合は、以下の方法のいずれかを適用してください。
3.3.1.1 曜日または週末で日付をフィルタリング(数式とフィルター コマンドを使用)
このセクションでは、WEEKDAY関数を使用して各日付の曜日を計算し、その後、必要に応じて特定の曜日や週末をフィルタリングします。
1. 空のセル(この場合はD2)に以下の数式を入力し、「Enter」キーを押します。結果のセルを選択してから、「オートフィルハンドル」を下のセルにドラッグして、この数式を適用します。
=WEEKDAY(A2)
ヒント:
注: ご覧のとおり、数式は「1」から「7」までの数字を返します。これは、「日曜日」から「土曜日」までの曜日を示しています(1は日曜日、7は土曜日です)。
2. 式の結果全体(ヘッダー セルを含む)を選択し、[データ] > [フィルター] をクリックします。
3. ドロップダウン矢印をクリックし、次に「すべて選択」チェックボックスのチェックを外します。
その後、すべての週末または特定の曜日のセルがフィルタリングされます。スクリーンショットをご覧ください:
3.3.1.2 驚きのツールを使用して、曜日や週末ごとに日付を簡単にフィルタリング
上記の方法が不便な場合、ここでは「Kutools for Excel」の「特殊フィルタ」機能をおすすめします。この機能を使用すれば、数回のクリックだけで曜日に関連するセルを簡単にフィルタリングできます。
1. 特定の曜日に基づいてフィルタリングしたい日付が含まれているセルを選択します。
2. 「Kutools Plus」をクリック > 「特殊フィルタ」 > 「特殊フィルタ」。
3. 「特殊フィルタ」ダイアログボックスで、次の通り設定してください。
4. 次に、「Kutools for Excel」ダイアログボックスが表示され、見つかったセルの数とフィルタリングされる数が示されます。「OK」をクリックして続行します。
これで、すべての週末または週の任意の日のセルがフィルタリングされました。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
3.3.2 驚きのツールを使用して平日でセルをフィルタリング
週の曜日や週末でセルをフィルタリングするほかに、「Kutools for Excel」の「特殊フィルタ」機能を使用すると、平日でセルをフィルタリングすることもできます。
1. 上記と同じ手順を適用して、「特殊フィルタ」機能を有効にします。
2. 「特殊フィルタ」ダイアログボックスで、以下の設定を行います。
3. 次に「Kutools for Excel」ダイアログボックスが表示されます。「OK」をクリックして続行します。
現在、すべての平日セルがフィルタリングされています。
3.4 書式でフィルタリング
通常、Excel では、次のスクリーンショットに示すように、フォントの色、セルの色、またはアイコンセットに基づいてデータをフィルタリングする視覚的な基準がサポートされています。
しかし、フォントスタイル(太字、斜体)、フォンテフェクト(取り消し線)、または特別なセル(数式を含む)などの他の視覚的基準に基づいてデータをフィルタリングしたい場合、Excelではそれを実現することができません。このセクションでは、これらの問題を解決するための方法を提供します。
3.4.1 太字/斜体の書式設定されたテキストでフィルタリング
太字や斜体の書式設定されたテキストでデータをフィルタリングしたい場合、以下のスクリーンショットのように、次の方法が役立ちます。以下のように操作してください。
3.4.1.1 数式とフィルターコマンドを使用して太字/斜体で書式設定されたテキストをフィルターする
Get.Cell数式とフィルター コマンドを組み合わせることで、列の範囲内の太字で書式設定されたテキストをフィルタリングできます。
1. 「数式」>「名前の定義」をクリックします。
2. 「新しい名前」ダイアログボックスで、次の操作を行う必要があります:
=GET.CELL(20,$B2)
=GET.CELL(21,$B2)
数式の構文:
=GET.CELL(タイプ番号, 参照)
数式の引数
3. B2と同じ行の空白セルを選択し、以下の数式を入力して「Enter」キーを押します。結果のセルを選択し、その「オートフィルハンドル」を下のセルにドラッグして、この数式を適用します。
=Filter_Bold_Cells
4. 結果のセル全体(ヘッダーを含む)を選択し、[データ] > [フィルター] をクリックします。
5. ドロップダウン矢印をクリックし、「TRUE」オプションの横にあるチェックボックスのみをオンにしてから、「OK」をクリックします。
その後、すべての太字または斜体のテキストセルがフィルタリングされます。スクリーンショットをご覧ください:
3.4.1.2 太字または斜体で書式設定されたテキストを「検索と置換」および「フィルター」コマンドでフィルタリングする
また、[検索と置換] と [フィルター] コマンドを組み合わせて使用することでも実現できます。
1. 太字または斜体のテキストセルを含む列の範囲を選択し、次に「Ctrl」+「F」キーを押します。
2. 「検索と置換」ダイアログボックスで、次の設定を行う必要があります。
3. これで、元の範囲内で太字または斜体のテキストを持つセルがすべて選択されます。「ホーム」>「塗りつぶし色」をクリックし、選択したセルの塗りつぶし色を選んでください。
4. 再び列全体の範囲を選択し、[データ] → [フィルター] をクリックしてフィルターを追加します。
5. ドロップダウン矢印をクリックし、「色でフィルタ」を選択してから、「セルの色でフィルタ」の下に表示される、先ほど指定した塗りつぶしの色をクリックします。スクリーンショットをご覧ください:
その後、すべての太字または斜体のテキストセルがフィルタリングされます。
3.4.1.3 素晴らしいツールを使用して、太字や斜体で書式設定されたテキストを簡単にフィルタリング
上述したように、「Kutools for Excel」の「特殊フィルタ」機能は、大文字と小文字を区別するフィルタリング、テキストの長さによるフィルタリング、日付のフィルタリングを簡単に行うことができます。ここでは、この機能を使用してExcelで太字や斜体で書式設定されたテキストセルをフィルタリングする方法を説明します。
1. 太字または斜体で書式設定されたセルをフィルタリングする列範囲(ヘッダーを含む)を選択します。
2. 「Kutools Plus」>「特殊フィルタ」>「太字のフォントを持つセルをフィルタリング / イタリック体のフォントを持つセルをフィルタリング」をクリックします。スクリーンショットをご覧ください:
3. 「Kutools for Excel」のダイアログボックスが表示されたら(このダイアログボックスは、条件に一致するセルの数を通知するために表示されます)、「OK」をクリックして続行します。
これで、太字または斜体の書式設定がされたすべてのテキストセルがフィルタリングされました。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
3.4.2 取り消し線付きの書式設定されたテキストでフィルタリング
例えば、取り消し線を追加して人々を削除したリストを受け取ったとします。そして、フィルタリングによってすべての取り消し線付きセルを見つける必要がある場合、以下の方法が役立ちます。
3.4.2.1 ユーザー定義関数とフィルターコマンドを使用して取り消し線書式のテキストをフィルターする
ユーザー定義関数を適用して、取り消し線書式が設定されたテキストセルを識別し、その後、Filter(フィルター)コマンドを使用して、その結果に基づいてすべての取り消し線付きセルをフィルタリングできます。
1. 「Alt」キーと「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックします。その後、下記のVBAコードをコードウィンドウにコピーしてください。
Function HasStrike(Rng As Range) As Boolean
HasStrike = Rng.Font.Strikethrough
End Function
3. 「Alt」キーと「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを閉じます。
4. 空のセルを選択します(このセルは、計算したいセルと同じ行にある必要があります)。以下の数式を入力し、「Enter」キーを押します。結果のセルを選択し、その「オートフィルハンドル」を下のセルまでドラッグして、この数式を適用します。
=HasStrike(B2)
注: 対応するセルに取り消し線のフォント効果が適用されている場合、「TRUE」を返し、そうでない場合は「FALSE」を返します。
5. 結果セル全体(ヘッダーセルを含む)を選択し、[データ] > [フィルター] をクリックします。
6. 次に、ドロップダウン矢印をクリックし、"TRUE" オプションの横にあるチェックボックスのみをオンにして、"OK" をクリックします。スクリーンショットをご覧ください。
これで、取り消し線書式が設定されたすべてのセルがフィルタリングされたことが確認できます。
3.4.2.2 素晴らしいツールを使用して、取り消し線付きの書式設定されたテキストを簡単にフィルタリング
「Kutools for Excel」の「特殊フィルタ」機能を使用すると、取り消し線書式が設定されたすべてのセルを数回のクリックだけで直接フィルタリングできます。
1. すべての取り消し線書式のセルをフィルタリングする列範囲を選択し、「Kutools Plus」>「特殊フィルタ」>「取り消し線でフィルタリング」をクリックします。
2. 次に、「Kutools for Excel」ダイアログボックスが表示され、条件を満たすセルの数が通知されます。「OK」をクリックして続行します。
その後、取り消し線書式が設定されたすべてのセルが、以下のスクリーンショットに示されるようにフィルタリングされます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
このフィルタ形式のセクションの冒頭で述べたように、Excelには組み込み機能により、フォントの色、セルの色、アイコンセットなどの視覚的基準に基づいてデータをフィルタリングする機能がサポートされています。このセクションでは、「色によるフィルタ」機能を使用して、フォントまたは背景色に基づいてセルをフィルタリングする方法を詳しく説明します。同時に、この問題を解決するのに役立つ便利なサードパーティ製の機能もお勧めします。
3.4.3.1 フィルターコマンドを使用して1つのフォントまたは背景色でフィルタリング
Excel では、フィルター コマンドの「色でフィルター」機能を直接使用して、特定のフォントまたは背景色に基づいてセルをフィルターできます。
1. フォントまたは背景色でフィルタする列の範囲を選択し、次に「データ」>「フィルター」をクリックします。
2. ドロップダウン矢印をクリックし、"色でフィルター"を選択します。すると、現在の列範囲内のすべてのセルの色とフォントの色がリストアップされます。任意のセルの色またはフォントの色をクリックすると、選択した色に基づいてすべてのセルがフィルタリングされます。
3.4.3.2 ユーザー定義関数とフィルタコマンドを使用して複数の背景色でフィルタリング
複数の背景色でセルをフィルタリングしたい場合は、以下の方法を適用してください。
列Bでオレンジと青の背景色を持つすべてのセルをフィルタリングしたいとします(下のスクリーンショット参照)。まず、これらのセルの色インデックスを計算する必要があります。
1. 「Alt」キーと「F11」キーを同時に押します。
2. 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックします。その後、下記のVBAコードをコードウィンドウにコピーしてください。
VBAコード: セルの背景色インデックスを取得
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
3. 「Alt」キーと「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを閉じます。
4. 新しい列で、最初のセルにヘッダーを入力します(このセルは元の範囲のヘッダーと同じ行にある必要があります)。
5. ヘッダーセルの隣にある空白セルを選択します(ここではE2を選択します)。以下の数式を入力し、「Enter」キーを押します。結果セルを選択し、その「オートフィルハンドル」を下のセルにドラッグして、この数式を適用します。
=GetColor(B2)
注: セルに塗りつぶし色がない場合、-4142 が返されます。
6. ヘルパーカラムのセル(ヘッダーを含む)を選択し、[データ] > [フィルター] をクリックして、列にフィルターを追加します。
7. ドロップダウンリストを開くためにドロップダウン矢印をクリックし、次のように設定します。
これで、セルが指定された背景色でフィルタリングされました。以下のスクリーンショットをご覧ください。
3.4.3.3 素晴らしいツールを使用して、フォントや背景色で簡単にフィルタリング
確かに、フォントや背景色でセルをフィルタリングするために、[フィルター by カラー]の組み込み機能を使用するのは簡単です。しかし、問題点は、ドロップダウンリストボックスが元のデータの内容を覆い隠してしまうため、適切にフォントや背景色を選択するためにデータを常に確認できないことです。この問題を回避するために、ここでは「Kutools for Excel」の「特殊フィルタ」機能をお勧めします。
1. フォントまたは背景色でフィルタする列の範囲を選択し、次に「Kutools Plus」>「特殊フィルタ」>「特殊フィルタ」をクリックします。
2. 「特殊フィルタ」ダイアログボックスで、次の設定を行ってください。

次に、選択範囲内で指定されたフォント色または背景色を持つすべてのセルがフィルタリングされます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
実際の値と数式の両方を含む長いデータリストがあり、数式セルのみをフィルタリングしたい場合、どうすればよいでしょうか?このセクションでは、それを実現するための2つの方法を提供します。
3.4.4.1 ユーザー定義関数とフィルターコマンドを使用して数式セルをフィルター処理
まず、ユーザー定義関数を使用してリスト内のすべての数式セルを見つけ出し、その後、結果に基づいて数式セルをフィルタリングするためにフィルター コマンドを適用する必要があります。
1. 「Alt」キーと「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックし、以下のVBAコードをコードウィンドウにコピーします。
Function HasFormula(Cell)
HasFormula = Cell.HasFormula
End Function
3. 「Alt」キーと「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを閉じます。
4. 空のセルを選択します。このセルは、確認したい数式セルと同じ行にある必要があります。以下の数式を入力し、「Enter」キーを押します。結果のセルを選択し、その「オートフィルハンドル」を下のセルにドラッグして、この数式を適用します。
=HasFormula(C2)
上記のスクリーンショットに示されているように、結果は「FALSE」と「TRUE」であり、対応するセルが数式セルである場合、TRUEを返し、そうでない場合はFALSEを返すことを示しています。
5. 結果セル(ヘッダーセルを含む)を選択し、[データ] > [フィルター] をクリックしてフィルターを追加します。
6. ドロップダウン矢印をクリックし、「TRUE」の横にあるチェックボックスのみをオンにしてから、「OK」をクリックします。
そして、すべての数式セルがフィルタリングされていることが確認できます。
3.4.4.2 素晴らしいツールを使用して数式セルを簡単にフィルタリング
ここでは、「Kutools for Excel」の「特殊フィルタ」機能を紹介し、数回のクリックだけでリスト内の数式セルを簡単にフィルタリングする方法をお伝えします。
1. 数式セルをすべてフィルタリングしたいリストを選択し、次に「Kutools Plus」>「特殊フィルタ」>「数式を含むセルをフィルタリング」をクリックします。
2. 「Kutools for Excel」のダイアログボックスが表示され、条件に一致するセルの数を通知します。「OK」をクリックして続行します。
その後、すべての数式セルが以下のスクリーンショットに示すようにフィルタリングされます。
さらに、"Kutools for Excel"の「特殊フィルタ」機能を使用して、他の書式設定を持つセル(例:)を簡単にフィルタリングできます。
コメント付きのすべてのセルをフィルタリングします。詳細を確認するにはクリック...
特定の値に基づいてすべての結合されたセルをフィルタリングします。詳細を確認するにはクリック...
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
3.5 ワイルドカードでフィルタ
フィルタリング時に正確な検索条件を忘れる場合があります。そのような場合、ワイルドカード文字の使用をお勧めします。
Excelには3つのワイルドカード文字しかありません:
ワイルドカード文字 | 機能の説明 | 例 |
* (アスタリスク) | 任意の数の文字を表します | 例えば、*berry は「Blackberry」、「Strawberry」、「Blueberry」などを検索します。 |
? (疑問符) | 任意の単一文字を表します | 例えば、l?ck は「lick」、「lock」、「lack」などを検索します。 |
~ (タイド) の後に *, ?, または ~ が続く | 実際の *, ? または ~ 文字を表す | 例えば、Face~*Shop は “Face*Shop” を検索します。 |
では、フィルタリングでワイルドカードを使用する方法を見てみましょう。
列 B で 'Market' で終わるすべてのセルをフィルタリングする必要がある場合、以下のスクリーンショットのように操作してください。
1. まず、条件範囲を作成します。元の列見出しと同じ見出しを入力し、その後下のセルにフィルター条件を入力します。スクリーンショットをご覧ください:
2. 「データ」をクリックし、次に「詳細設定」を選択します。
3. 開いた「高度なフィルター」ダイアログボックスで、次の通り設定します。
そして、Marketで終わるすべてのセルがフィルタリングされます。 スクリーンショットをご覧ください:
フィルタリングにおける * と ~ のワイルドカード文字の使用は、上記の操作と同じです。
3.6 組み込みの検索ボックスでフィルタリング
Excel 2010以降のバージョンを使用している場合、Excelのフィルターに組み込みの検索ボックスがあることに気付くかもしれません。このセクションでは、この検索ボックスを使用してExcelでデータをフィルタリングする方法を説明します。
以下のスクリーンショットに示すように、「Market」を含むすべてのセルをフィルタリングしたい場合、検索ボックスがそれを簡単に実行するのに役立ちます。
1. データをフィルタリングする列の範囲を選択し、[データ] > [フィルター] をクリックしてフィルタを追加します。
2. ドロップダウン矢印をクリックし、検索ボックスに「Market」と入力してから、「OK」をクリックします。
検索ボックスにデータを入力すると、条件に合致するすべてのテキストがリアルタイムでリストアップされます。
その後、"Market" を含むすべてのセルが以下のスクリーンショットに示されるようにフィルタリングされます。
4. 表示されているデータのみをコピー(非表示またはフィルタリングされたデータを無視)
デフォルトでは、Excel は表示されているセルと非表示のセルの両方をコピーします。フィルタリング後に表示されているセルのみをコピーしたい場合は、以下の方法のいずれかを試すことができます。ショートカットキーで表示されているデータのみをコピー
表示されているセルのみを選択するためのショートカットキーを使用し、その後手動でコピーして目的の場所に貼り付けることができます。
1. 表示されているセルのみをコピーしたい範囲を選択します。このステップでは、表示されているセルと非表示のセルの両方が選択されます。
2. 「Alt」キーと「;」キーを同時に押します。これで、表示されているセルのみが選択されます。
3. 選択したセルをコピーするために「Ctrl」+「C」キーを押し、その後、「Ctrl」+「V」キーを押して貼り付けます。
驚きのツールを使用して、表示されているデータのみを簡単にコピー
ここで、「Kutools for Excel」の「可視範囲に貼り付け」機能を紹介します。これにより、Excelで表示されているデータのみを簡単にコピーできます。さらに、この機能を使用すると、フィルタリングされた範囲内の表示されているセルにのみ値をコピーして貼り付けることができます。
1. コピーしたい表示セルのみのフィルター範囲を選択し、次に「Kutools」>「範囲」>「可視範囲に貼り付け」>「すべて / 値のみ貼り付け」をクリックします。
数式セルの場合、「すべて」を選択すると結果と数式の両方がコピーされ、「値のみ貼り付け」を選択すると実際の値のみがコピーされます。
2. 表示された「可視範囲に貼り付け」ダイアログボックスで、コピーしたセルを出力する空白のセルを選択し、「OK」をクリックします。
その後、選択したフィルタ範囲内の表示されているセルのみがコピーされ、新しい場所に貼り付けられます。
注: コピー先の範囲がフィルターされている場合、選択した値は表示されているセルにのみ貼り付けられます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
5. フィルタリング後に非表示または表示されている行を削除
フィルタリングされたリストでは、表示されているデータのみを保持するために非表示の行を削除する必要がある場合があります。このセクションでは、Excelでフィルタリングされたリスト内の非表示または表示されている行を削除するための3つの方法を学びます。
VBAコードを使用して現在のワークシートからすべての非表示行を削除する
以下のVBAコードは、Excelの現在のワークシートからすべての非表示行を削除するのに役立ちます。
注: このVBAは、フィルタリングされたリスト内の非表示の行だけでなく、手動で非表示にした行も削除します。
1. 隠し行を削除したいワークシートで、「Alt」キーと「F11」キーを同時に押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックし、以下のVBAコードをモジュールウィンドウにコピーしてください。
VBAコード:現在のワークシートからすべての非表示行を削除
Sub RemoveHiddenRows()
Dim xRow As Range
Dim xRg As Range
Dim xRows As Range
On Error Resume Next
Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRows Is Nothing Then Exit Sub
For Each xRow In xRows.Columns(1).Cells
If xRow.EntireRow.Hidden Then
If xRg Is Nothing Then
Set xRg = xRow
Else
Set xRg = Union(xRg, xRow)
End If
End If
Next
If Not xRg Is Nothing Then
MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
xRg.EntireRow.Delete
Else
MsgBox "No hidden rows found", , "Kutools for Excel"
End If
End Sub
3. 「F5」キーを押してコードを実行します。
4. 次に、「Kutools for Excel」ダイアログボックスが表示され、削除された非表示の行数が通知されます。「OK」をクリックして閉じます。
これで、すべての非表示行(自動的に非表示にされた行や手動で非表示にされた行を含む)が削除されました。
フィルタリング後に表示されている行を「移動」機能を使用して削除
特定の範囲内の表示されている行のみを削除したい場合、「移動」機能が役立ちます。
1. 表示されている行を削除したいフィルターされた範囲を選択し、「F5」キーを押して「移動」ダイアログボックスを開きます。
2. 「移動」ダイアログボックスで、「特殊」ボタンをクリックします。
3. 「ジャンプ先の選択」ダイアログボックスで、「表示されているセルのみ」オプションを選択し、その後「OK」ボタンをクリックします。
4. これで、すべての表示されているセルが選択されました。選択範囲を右クリックし、コンテキストメニューから「行を削除」をクリックします。
その後、すべての表示されているセルが削除されます。
驚きのツールを使用して、フィルタリング後に非表示または表示されている行を簡単に削除
上記の方法は面倒で時間がかかります。ここで、「Kutools for Excel」の「非表示(表示)行と列を削除」機能をお勧めします。この機能を使用すると、選択した範囲内だけでなく、現在のワークシート、複数の選択したワークシート、またはブック全体においても、簡単に非表示または表示されている行を削除できます。以下のように操作してください。
1. 非表示または表示されている行をすべて削除したい範囲を選択します。
注記:
2. 「Kutools」>「削除」>「非表示(表示)行と列を削除」をクリックします。
3. 「非表示(表示)行と列の削除」ダイアログボックスで、次の設定を行う必要があります。
4. その後、すべての表示されている行や非表示の行が一度に削除されます。同時に、削除された行数を知らせるダイアログボックスが表示されます。「OK」をクリックして操作を完了してください。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
6. 複数のワークシートにわたるフィルター
通常、ワークシート内のデータをフィルタリングするのは簡単です。このセクションでは、共通のデータ構造を持つ複数のワークシート間で同じ基準を使用してデータをフィルタリングする方法を学びます。
あるワークブックに、以下のスクリーンショットのように3つのワークシートが含まれているとします。ここで、これらの3つのワークシートを同時に同じ条件「Product = KTE」でフィルタリングしたい場合、以下のVBAコードが役立ちます。
1. 「Alt」キーと「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックし、以下のVBAコードをモジュールウィンドウにコピーしてください。
VBAコード: 複数のワークシートにまたがるデータを同時にフィルタリング
Sub apply_autofilter_across_worksheets()
'Updateby Extendoffice 20210518
Dim xWs As Worksheet
On Error Resume Next
For Each xWs In Worksheets
xWs.Range("A1").AutoFilter 1, "=KTE"
Next
End Sub
注: コード内の行 “Xws.Range(“A1”.AutoFilter 1, “=KTE”)” は、列Aで条件 =KTE を使用してデータをフィルタリングすることを示しています。数字の1は列Aの列番号です。これらは必要に応じて変更できます。例えば、列Bで500より大きいすべての数値をフィルタリングしたい場合、この行を “Xws.Range(“B1”.AutoFilter 2, “>500”)” に変更できます。
3. 「F5」キーを押してコードを実行します。
指定された列は、現在のブック内のすべてのワークシートで同時にフィルタリングされました。下の結果をご覧ください。
7. データを変更した後にフィルターを再適用する
フィルターを適用した範囲に変更を加えたことがあるかもしれませんが、その範囲にどのような変更を加えてもフィルターの結果は同じままです(下のスクリーンショットを参照)。このセクションでは、手動または自動で現在の範囲にフィルターを再適用し、行った変更が反映されるための2つの方法を紹介します。
「再適用」コマンドでフィルターを手動で再適用する
Excelには、手動でフィルターを再適用するための組み込み機能「再適用」があります。以下のように適用できます。
「データ」>「再適用」をクリックして、現在のシートにフィルターを再適用します。
その後、変更した内容が含まれるようにフィルター範囲が再適用されていることが確認できます。
VBAコードでフィルターを自動的に再適用する
フィルタリングされたリストを頻繁に変更する必要がある場合、この再適用機能を繰り返しクリックして適用する必要があります。ここでは、データが変更されたときにリアルタイムでフィルタを自動的に再適用するためのVBAコードを提供します。
1. 自動的に再適用したいフィルターが含まれているワークシートで、シートタブを右クリックし、「コードの表示」を選択します。
2. 開いた「Microsoft Visual Basic for Applications」ウィンドウで、以下のVBAコードをコードウィンドウにコピーします。
VBAコード: データを変更したときにフィルターを自動的に再適用する
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Sheet2").AutoFilter.ApplyFilter
End Sub
注: コード内の「Sheet2」は現在のワークシートの名前です。必要に応じて変更できます。
3. 「Alt」+「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを閉じます。
今後、フィルタリングされたリスト内のデータを変更すると、フィルタリング結果が動的に調整されます。下のGIF画像をご覧ください。
8. フィルターをクリアまたは削除
これまでの内容で、フィルターの追加、適用、使用方法を学びました。ここでは、Excelでフィルターをクリアまたは削除する方法を学びます。
8.1 列からフィルターをクリアする
列にフィルターを適用した後、それをクリアしたい場合は、フィルターされたアイコンをクリックし、ドロップダウンメニューから「“ヘッダー名” からのフィルターをクリア」をクリックしてください。
8.2 ワークシート内のすべてのフィルターをクリア
複数の列にフィルターを適用していて、それらをすべて同時にクリアしたい場合は、「データ」>「クリア」をクリックしてください。
その後、すべてのフィルタが以下のスクリーンショットに示すようにクリアされます。
8.3 現在のブック内のすべてのワークシートからフィルターをクリア
複数のワークシートにフィルターを適用していて、それらを一度にクリアしたい場合、以下のVBAコードが役立ちます。
1. フィルタをすべてクリアするワークブックを開き、次に「Alt」+「F11」キーを同時に押します。
2. 開いた「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」 > 「モジュール」をクリックし、以下のVBAコードをモジュールウィンドウにコピーしてください。
VBAコード:現在のワークブック内のすべてのワークシートからフィルターをクリア
Sub Auto_Open()
'Updated by Extendoffice 20201113
Dim xAF As AutoFilter
Dim xFs As Filters
Dim xLos As ListObjects
Dim xLo As ListObject
Dim xRg As Range
Dim xWs As Worksheet
Dim xIntC, xF1, xF2, xCount As Integer
Application.ScreenUpdating = False
On Error Resume Next
For Each xWs In Application.Worksheets
xWs.ShowAllData
Set xLos = xWs.ListObjects
xCount = xLos.Count
For xF1 = 1 To xCount
Set xLo = xLos.Item(xF1)
Set xRg = xLo.Range
xIntC = xRg.Columns.Count
For xF2 = 1 To xIntC
xLo.Range.AutoFilter Field:=xF2
Next
Next
Next
Application.ScreenUpdating = True
End Sub
3. 「F5」キーを押してコードを実行します。すると、現在のワークブック内のすべてのワークシートからフィルターがクリアされます。
8.4 ワークシート内のすべてのフィルターを削除
上記の方法は、フィルターされた状態をクリアするのに役立つだけであり、フィルター機能はワークシートで引き続き有効です。ワークシートからすべてのフィルターを削除したい場合は、以下の方法をお試しください。
フィルタをオフにしてワークシート内のすべてのフィルタを削除
「データ」>「フィルター」をクリックして、機能をオフにします(フィルターボタンが強調表示されていない状態になります)。
ショートカットキーですべてのフィルターをワークシートから削除する
さらに、ワークシート内のすべてのフィルターを削除するためのショートカットキーを適用することもできます。
フィルターを削除したいワークシートで、「Ctrl」+「Shift」+「L」キーを同時に押します。
現在のワークシート内のすべてのフィルターは、すぐに削除されます。
最高のオフィス生産性ツール
🤖 | 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%向上させ、毎日数百回のマウスクリックを減らします!