フィルターボタンから実行するデータ抽出は手軽で便利ですが、数の多い複雑な条件指定には対応できません。そんな時にはフィルターの「詳細設定」から実行します。
検索条件範囲に指定する表を作る
下図はWEBデザイン会社のデータ表です。
検索に使う条件表を元表と同じシート内に作成します。(別シートでもOK)
検索条件を表にする時には幾つかの約束事があります。
列見出し(フィールド名)は元表の列見出しと一致していること。上図の「日付、担当、商品」のところですね。同じフィールドを複数並べることもできます。
横方向に連なる条件は「AND」指定になる。上図では「2016/1/1以降」AND「2016/12/31以前」AND「担当者Aが受け持った」AND「WEB制作・スタンダード」という条件指定をしたと見做されます。
縦方向に連なる条件は「OR」指定になる。上図では「WEB制作・スタンダード」OR「WEB制作・プレミアム」OR「WEB制作・格安」という条件指定をしたと見做されます。
空白セルは作らないのも原則です。同じ指定なら、繰り返して入力します。
この条件表は「2016/1/1~12/31までの期間に担当者Aが制作した全ランクのWEBデザイン」に合致するレコードの抽出を求めていることになります。
フィルターオプションの設定
このフィルターを実行する時には、元表内のセルをどれか選択しておきます。
「データ」タブの「並べ替えとフィルター」グループにある「詳細設定」をクリック。
「フィルターオプションの設定」ダイアログボックスが開きます。
「抽出先」で「選択範囲内」がオンになっており、「リスト範囲」に元表全体が選択されていることを確認します。元表の周囲をダークグリーンの破線が回っているはずです。※適正に選択されていない時は、選択し直して下さい。
「検索条件範囲」に、先ほど作成した抽出条件表を列見出しも含めてドラッグして指定します。
設定はこれで完了です。
抽出されたレコードの行番号の色がブルーになっていますね。
フィルターの解除は「詳細設定」上の「クリア」ボタンで行います。
試験成績の全科目が平均点以上という条件
もう1例。試験成績表で、すべての科目、及び総合点が平均を上回っていれば合格となる条件でレコードを抽出してみましょう。
表はテーブル化してあり、集計行の表示で「平均点」が自動計算されています。
上図の表のC1:H1の列見出しをコピペし、次行に平均点を転記してそれぞれ「>=(以上)」と比較演算子を冒頭に入力しています。全て横方向に連なったAND指定の条件ということになります。
比較演算子の詳細はIF関数のページへ
「データ」タブの「並べ替えとフィルター」グループにある「詳細設定」から、「フィルターオプションの設定」ダイアログを開きます。
「リスト範囲」には、この例では元表全体に定義しておいた名前を入れます。名前を忘れた場合はF3キーを押して「名前の貼り付け」を表示させ、対象の名前をクリックして入力できます。
▶名前の定義
「検索条件範囲」に作成した表を指定。
レコードが抽出されました。
フィルターボタンからではデータ抽出できない条件の指定をする場合には、表の作成がちょっと手間ではありますが、詳細設定からのフィルターを実行しましょう。