複雑な条件でデーターをフィルターしたい:Excelの基本操作



オートフィルターで抽出する 詳細設定で抽出する
このページで使用したデータ

複雑な条件でデーターをフィルターしたい       Topへ

オートフィルターで抽出する     Topへ

  1. 作業列を使えばオートフィルターで 「性別が男」であるデータの中でトップ5のデータを抽出することができます。
    抽出したいデータは「性別が男」ですのでその合計だけをI列に表示することにしました。
    I2セルに =IF(D2="男",H2,0) と数式を入力し、オートフィルで下方向へコピーしました。
    性別が女の場合はトップテンの邪魔にならないように0としています。
    複雑な条件でデーターをフィルターしたい02
  2. データを選択して、フィルターを掛けます。
    複雑な条件でデーターをフィルターしたい03
  3. 作業列のフィルターボタンをクリックして、[数値フィルター]→[トップテン]を選択します。
    複雑な条件でデーターをフィルターしたい04
  4. 「上位」「5」「項目」と設定して[OK]ボタンをクリックします。
    複雑な条件でデーターをフィルターしたい05
  5. 性別が男で合計がトップ5のデータを抽出することができました。
    複雑な条件でデーターをフィルターしたい06

詳細設定     Topへ

  1. 複雑なデーターのフィルター処理なら詳細設定(フィルターオプションの設定)を使うことが思いつきます。
    数式で条件を書くことができれば簡単にデータを抽出することができます。つまり、条件を数式で書くことができるかがキーポイントとなりそうです。
  2. J1セルに「条件」と入力しています。これはデータの見出しとは異なる文字列である必要があります。もしくはJ1セルは空欄にしておきます。
    J2セルに数式で条件を入力しました。男だけのデータの中での順位を求める数式です。
    =(IF(D2<>"男",100,SUMPRODUCT(($D$2:$D$51="男")*($H$2:$H$51>H2))+1))<=5
    D2<>"男",100 は男でない場合は順位に影響しない「100」となるようにしています。
    SUMPRODUCT(($D$2:$D$51="男")*($H$2:$H$51>H2))+1))<=5 の部分で ($H$2:$H$51>H2))+1) 各人の合計の値より大きい合計が何個あるかを求めています。一番大きい値の時には0となるので、+1 して調整しています。
    複雑な条件でデーターをフィルターしたい07
  3. データ内のセル1つを選択した状態で、[データ]タブの[詳細設定]を実行します。
    複雑な条件でデーターをフィルターしたい09
  4. フィルターオプションの設定 ダイアログボックスが表示されます。
    抽出先で「選択範囲内」を選択しています。
    リスト範囲は見出し行を含めたA1:H51 としています。
    検索条件範囲は J1:J2 としています。
    [OK]ボタンをクリックします。
    複雑な条件でデーターをフィルターしたい10
  5. データが抽出できました。
    見出し行にフィルターボタンがないのでオートフィルターではないことがわかります。
    複雑な条件でデーターをフィルターしたい11
  6. フィルターの解除は、[データ]タブの[クリア](フィルターのクリア)を実行します。

このページで使用したデータ     Topへ

HomeExcelの基本操作の目次|複雑な条件でデーターをフィルターしたい