詳細な検索条件を指定してリストのデータを抽出する

複雑な検索条件 (たとえば、種別 = "農産物" OR 販売員 = "西脇") を指定してデータを抽出する必要がある場合は、[フィルター オプションの設定] ダイアログ ボックスを使用できます。

[フィルター オプションの設定] ダイアログ ボックスを開くには、[データ]、[詳細設定] の順にクリックします。

[データ] タブの [並べ替えとフィルター] グループ

フィルター オプションの設定

使用例

概要

1 つの列を対象に複数の検索条件を指定して抽出する (いずれかの条件に一致)

販売員 = "西脇" OR 販売員 = "吉田"

複数の列を対象に複数の検索条件を指定して抽出する (すべての条件に一致)

種別 = "農産物" AND 売上 > 100000

複数の列を対象に複数の検索条件を指定して抽出する (いずれかの条件に一致)

種別 = "農産物" OR 販売員 = "西脇"

それぞれが 1 つの列を対象とする複数の検索条件を指定して抽出する

(売上 > 600000 AND 売上 < 650000 ) OR (売上 < 50000)

複数の列に複数の検索条件セットを指定していずれかのセットに一致するデータを抽出する

(販売員 = "西脇" AND 売上 >3000) OR
(販売員 = "吉田" AND 売上 > 1500)

ワイルドカードを使用して一部の文字にのみ一致する文字列を抽出する

販売員 = 2 文字目が '山' になっている名前

概要

[詳細設定] は、いくつかの重要な点で [フィルター] とは動作が異なります。

  • オートフィルター メニューの代わりに [フィルター オプションの設定] ダイアログ ボックスが表示されます。

  • ワークシート上の、データ抽出対象のセル範囲またはテーブルの上の別のセル範囲 (検索条件範囲) に詳細な検索条件を入力します。この検索条件範囲は、[フィルター オプションの設定] ダイアログ ボックスで詳細な検索条件のソースとして使用します。

サンプル データ

次のデータの例は、この記事のすべて手順で使用されます。

このデータには、条件範囲 (A1:C4) およびリスト範囲 (A6:C10) として使用されるリスト範囲の上の 4 つの空白行が含まれます。条件範囲には、列ラベルがあり、条件値とリスト範囲の間に少なくとも 1 つの空白行が含まれます。

このデータを使用するには、次の表でデータを選んでコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。

種別

"販売員"

営業

種別

"販売員"

営業

飲料

須山

¥512,200

肉類

西脇

¥45,000

produce

吉田

¥632,800

農産物

西脇

¥6544

比較演算子

次の演算子は、2 つの値を比較する際に使用します。これらの演算子を使用して 2 つの値を比較すると、結果は TRUE または FALSE のいずれかの論理値になります。

比較演算子

説明

= (等号)

左辺と右辺が等しい

A1=B1

> (より大記号)

左辺が右辺よりも大きい

A1>B1

< (より小記号)

左辺が右辺よりも小さい

A1<B1

>= (より大か等しい記号)

左辺が右辺以上である

A1>=B1

<= (より小か等しい記号)

左辺が右辺以下である

A1<=B1

<> (不等号)

左辺と右辺が等しくない

A1<>B1

等号を使用して文字列または値を入力する

等号 (=) は、セルにテキストまたは値を入力するときに数式を示すために使用されるので、Excel で入力内容が評価されますが、このためにフィルターの処理結果が予期しないものになることがあります。 テキストまたは値の等価比較演算子を示すには、条件範囲内の適切なセルに条件を文字列式として入力します。

=''= 入力内容 ''

入力内容 には、検索する文字列または値を指定します。次にその例を示します。

セルに入力する内容

Excel による評価と表示

="=西脇"

=西脇

="=3000"

=3000

大文字と小文字を考慮する

Excel のテキスト データのフィルター処理では、大文字と小文字は区別されません。ただし、特定の数式を使用すると、大文字と小文字を区別した検索を実行できます。例については、「ワイルドカード条件」セクションを参照してください。

定義済みの名前を使用する

検索条件のセル範囲に "検索条件" という名前を付けると、この範囲への参照が自動的に [検索条件範囲] ボックスに表示されます。また、抽出するリスト範囲に "データベース" という名前を付け、抽出したデータ行を貼り付ける領域に "抽出" という名前を付けると、これらの範囲がそれぞれ [リスト範囲] ボックスと [抽出範囲] ボックスに表示されます。

数式を使用して検索条件を作成する

数式の計算結果を検索条件として使用できます。次の点に注意してください。

  • TRUE または FALSE に評価される数式しか使用できません。

  • 数式は通常と同じように入力する必要があります。次のような式を入力することはできません。

    =''= 入力内容 ''

  • 列見出しを検索条件のラベルに指定することはできません。検索条件のラベルを指定しないか、リスト範囲内の列見出しとは異なるラベル (以降の例では、"平均値評価" と "完全一致") を指定します。

    数式には、相対セル参照や範囲名の代わりに列見出しを指定することができます。列見出しを使用すると、検索条件を入力したセルに "#NAME?"、"#VALUE" などのエラー値が表示されますが、このエラーはリスト範囲の抽出結果には影響しないため、無視してかまいません。

  • 条件として使用する数式は、データの先頭行の対応するセルを相対参照する必要があります。

  • それ以外の参照には、絶対参照を使用します。

1 つの列を対象に複数の検索条件を指定して抽出する (いずれかの条件に一致)

論理式:     (販売員 = "西脇" OR 販売員 = "吉田")

  1. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  2. 同じ列を対象とする複数の検索条件を指定して、いずれかに一致するデータを抽出するには、検索条件範囲の同じ列の各行に条件を入力します。例を使用する場合は、次のように入力します。

    種別

    "販売員"

    営業

    ="=西脇"

    ="=吉田"

  3. リスト範囲内のセルをクリックします。 例を使用し、範囲 A6:C10 内のいずれかのセルをクリックします。

  4. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  5. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

      ヒント    フィルター処理された行を別の場所にコピーするときには、コピー操作に含まれる列を指定することができます。 フィルター処理する前に、フィルター処理された行を貼り付ける領域の最初の行に、列ラベルをコピーします。 フィルター処理するときに、[コピー先] ボックスで、コピーされた列ラベルの参照を入力します。 コピーされた行には、ラベルをコピーした列のみが含まれます。

  6. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$C$3」と入力します。

    条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  7. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    肉類

    西脇

    ¥45,000

    produce

    小山田

    ¥632,800

    農産物

    西脇

    ¥654,400

複数の列を対象に複数の検索条件を指定して抽出する (すべての条件に一致)

論理式:     (種別 = "農産物" AND 売上 > 1000)

  1. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  2. それぞれ異なる列を対象とする複数の検索条件に一致する行を抽出するには、検索範囲の同じ行にすべての検索条件を入力します。例を使用する場合は、次のように入力します。

    種別

    "販売員"

    営業

    ="=農産物"

    >100000

  3. リスト範囲内のセルをクリックします。例を使用する場合は、セル範囲 A6:C10 の任意のセルをクリックします。

  4. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  5. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

      ヒント    フィルター処理された行を別の場所にコピーするときには、コピー操作に含まれる列を指定することができます。 フィルター処理する前に、フィルター処理された行を貼り付ける領域の最初の行に、列ラベルをコピーします。 フィルター処理するときに、[コピー先] ボックスで、コピーされた列ラベルの参照を入力します。 コピーされた行には、ラベルをコピーした列のみが含まれます。

  6. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$C$2」と入力します。

    条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  7. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    produce

    小山田

    ¥632,800

    農産物

    西脇

    ¥654,400

複数の列を対象に複数の検索条件を指定して抽出する (いずれかの条件に一致)

論理式:     (種別 = "農産物" OR 販売員 = "西脇")

  1. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  2. 複数の列を対象とする複数の検索条件を指定して、いずれかに一致する行を抽出するには、検索範囲のそれぞれ別の行列に検索条件を入力します。例を使用する場合は、次のように入力します。

    種別

    "販売員"

    営業

    ="=農産物"

    ="=吉田"

  3. リスト範囲内のセルをクリックします。 例を使用し、リスト範囲 A6:C10 内の任意のセルをクリックします。

  4. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  5. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

    ヒント: 抽出した行を他の場所にコピーする場合は、一部の列だけをコピーできます。抽出前に、抽出する列の見出しをコピー先の最初の行にコピーしておきます。[抽出範囲] ボックスに、コピーした列見出しのセル範囲を指定します。抽出を実行すると、見出しをコピーした列のデータだけが抽出され、コピーされます。

  6. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$B$3」と入力します。

    条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  7. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    produce

    小山田

    ¥632,800

    農産物

    西脇

    ¥654,400

それぞれが 1 つの列を対象とする複数の検索条件を指定して抽出する

論理式:     ( (売上 > 6000 AND 売上 < 6500 ) OR (売上 < 500) )

  1. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  2. それぞれが 1 つの列を対象とする複数の検索条件を指定して、そのいずれかに一致する行を抽出するには、同じ列見出しで複数の列を指定します。例を使用する場合は、次のように入力します。

    種別

    "販売員"

    営業

    売上

    >600000

    <650000

    <500

  3. リスト範囲内のセルをクリックします。 例を使用し、リスト範囲 A6:C10 内の任意のセルをクリックします。

  4. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  5. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

      ヒント: 抽出した行を他の場所にコピーする場合は、一部の列だけをコピーできます。抽出前に、抽出する列の見出しをコピー先の最初の行にコピーしておきます。[抽出範囲] ボックスに、コピーした列見出しのセル範囲を指定します。抽出を実行すると、見出しをコピーした列のデータだけが抽出され、コピーされます。

  6. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$D$3」と入力します。

    条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  7. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    肉類

    西脇

    ¥45,000

    produce

    小山田

    ¥632,800

複数の列に複数の検索条件セットを指定していずれかのセットに一致するデータを抽出する

論理式:     ( (販売員 = "西脇" AND 売上 >3000) OR (販売員 = "吉田" AND 売上 > 1500) )

  1. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  2. 複数の列に複数の検索条件セットを指定して、いずれかのセットに一致するデータを抽出するには、それぞれ別の行列に検索条件セットを入力します。例を使用する場合は、次のように入力します。

    種別

    "販売員"

    営業

    ="=西脇"

    >300000

    ="=小山田"

    >150000

  3. リスト範囲内のセルをクリックします。例を使用する場合は、リスト範囲 A6:C10 の任意のセルをクリックします。

  4. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  5. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

      ヒント    フィルター処理された行を別の場所にコピーするときには、コピー操作に含まれる列を指定することができます。 フィルター処理する前に、フィルター処理された行を貼り付ける領域の最初の行に、列ラベルをコピーします。 フィルター処理するときに、[コピー先] ボックスで、コピーされた列ラベルの参照を入力します。 コピーされた行には、ラベルをコピーした列のみが含まれます。

  6. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$C$3」と入力します。条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  7. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    produce

    小山田

    ¥632,800

    農産物

    西脇

    ¥654,400

ワイルドカードを使用して一部の文字にのみ一致する文字列を抽出する

論理式:    販売員 = 2 文字目が '山' になっている名前

  1. 一部の文字だけが一致する文字列を検索するには、次のいずれかを行います。

    • 特定の文字または文字列から始まる文字列値を含む行を検索するには、等号 (=) を使用せずにその文字または文字列を入力します。たとえば、検索条件として「西」と入力すると、"西脇"、"西田"、"西崎" などが検索されます。

    • ワイルドカード文字を使用します。

      入力する文字列

      検索対象

      ? (疑問符)

      任意の 1 文字
      たとえば、「インターフェ?ス」と入力すると "インターフェイス" や "インターフェース" が検索されます。

      * (アスタリスク)

      任意の数の文字
      たとえば、「Win*」と入力すると "Win98" や "Win2000" が検索されます。

      ~ (ティルダ) (?、*、または ~ の前に入力)

      疑問符、アスタリスク、またはチルダ
      たとえば、「fy91~?」と入力すると "fy91?" が検索されます。

  2. リスト範囲の上に 3 行以上の空白行を挿入して、検索条件を入力する検索条件範囲として使用します。検索条件範囲には列見出しを付ける必要があります。また、検索条件の値とリスト範囲との間に 1 行以上の空白行を確保します。

  3. 列ラベルの下の行に、一致させる条件を入力します。 例を使用し、次のように入力します。

    種別

    "販売員"

    営業

    ="=肉*"

    ="=?山*"

  4. リスト範囲内のセルをクリックします。 例を使用し、リスト範囲 A6:C10 内の任意のセルをクリックします。

  5. [データ] タブの [並べ替えとフィルター] で [詳細設定] をクリックします。

    [データ] タブの [並べ替えとフィルター] グループ

  6. 次のいずれかの操作を行います。

    • 入力した検索条件に一致する行だけを表示し、それ以外の行を非表示にするには、[選択範囲内] をクリックします。

    • リスト範囲の検索条件に一致する行をワークシートの別の場所にコピーして抽出するには、[指定した範囲] をクリックします。次に [抽出範囲] ボックスをクリックし、抽出先のセルをクリックします。このセルが抽出範囲の左上のセルになります。

      ヒント: 抽出した行を他の場所にコピーする場合は、一部の列だけをコピーできます。抽出前に、抽出する列の見出しをコピー先の最初の行にコピーしておきます。[抽出範囲] ボックスに、コピーした列見出しのセル範囲を指定します。抽出を実行すると、見出しをコピーした列のデータだけが抽出され、コピーされます。

  7. [条件範囲] ボックスに、条件ラベルを含む条件範囲の参照を入力します。 例を使用し、「$A$1:$B$3」と入力します。

    条件範囲を選択する間、[フィルター オプションの設定] ダイアログ ボックスをじゃまにならないように一時的に移動する場合は、[ダイアログ縮小] ボタンの画像 をクリックします。

  8. 例を使用すると、リスト範囲のフィルター処理された結果は次のようになります。

    種別

    "販売員"

    営業

    飲料

    須山

    ¥512,200

    肉類

    西脇

    ¥45,000

    produce

    小山田

    ¥632,800

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×