Excelのフィルター機能でソートしてみよう! 日付や偶数・奇数などの条件をつける方法は?

更新:2020/01/30

ITスキル

Excelのフィルターは、さまざまな条件を加えて自分が見たいデータだけに絞り込むことができます。今回は、空白を含めたフィルターのかけ方や日付(期間)の指定、偶数・奇数、最大値・最小値、以上・以下といった、実際に使われることの多い条件を例に、データ抽出の方法を解説していきます。

<目次・お困りごとの解決策>

1.空白を含めてフィルターをかける方法
2.日付(期間)を指定してフィルターをかける方法
3.偶数・奇数のみでフィルターをかける方法
4.最大値・最小値を抽出する方法
5.「●●以上~●●以下」というデータを抽出する方法

▼<上記に解決策がないときは・・・>
Excelの関連記事はこちら

Excelのフィルター機能でソートしてみよう! 日付や偶数・奇数などの条件をつける方法は?

空白を含めてフィルターをかける方法

ソートしたいデータの中に空白行が含まれている場合、フィルターの範囲指定でエラーが生じます。
たとえば、下記のような表があった場合、A1セルを選択した状態で[データ]>[フィルター]からフィルターをかけてみると……

空白を含めてフィルターをかける方法1

下図のように、一見すると表全体がフィルターの対象となっているように見えますが、これで性別を男性で絞り込むと、女性であるNo.12の加藤さんも表示されてしまいます。

空白を含めてフィルターをかける方法2

このような現象が起こってしまう原因が、フィルターの範囲が設定できていないためなのです。空白行を含めてフィルターをかける場合には、下図のように事前に範囲を指定してからフィルターをかけるようにしましょう。

空白を含めてフィルターをかける方法3

範囲指定したことにより、フィルター範囲がきちんと定められたため、性別を男性で絞り込んでみても、すべて正しい結果が表示されるようになりました。

空白を含めてフィルターをかける方法4

日付(期間)を指定してフィルターをかける方法

日付(期間)のフィルターでは、明日・今日・昨日など定型で使える範囲もいくつかあらかじめ用意されていますが、今回は「2019/4/1~2019/8/31」と任意の期間を指定してみます。この日付(期間)を指定してフィルターをかける手順は、次の通りです。

(1)日付が入力された列の「▼」マークをクリック、「日付フィルター」から「ユーザー設定フィルター」をクリックします。

日付(期間)を指定してフィルターをかける方法1

(2)オートフィルターオプションに登録日を次のように入力します。

2019/4/1「以降」
「And」
2019/8/31「以前」


日付(期間)を指定してフィルターをかける方法2

(3)OKを押すと、指定した期間に一致するデータが表示されました。

日付(期間)を指定してフィルターをかける方法3

偶数・奇数のみでフィルターをかける

偶数・奇数でフィルターをかけたい場合は、「MOD関数」フラグ列を用います。
MOD関数は、割り算の余りを表す関数です。数値を2で割ることにより、「余り0となる=偶数」「余り1となる=奇数」とみなします。
今回は、年齢の偶数・奇数でフィルターをかけることとします。具体的な手順は次の通りとなります。

(1)任意の列にフラグ列を追加ておきします。

偶数・奇数のみでフィルターをかける1

(2)フラグ列のセルを選択し、関数の挿入から「MOD」を選択します。

偶数・奇数のみでフィルターをかける2

(3)関数の引数画面で、数値には年齢列を選択、除数には「2」を入力し、OKボタンをクリックします。

偶数・奇数のみでフィルターをかける3

(4)入力されたMOD関数を、すべての行にコピーします。

偶数・奇数のみでフィルターをかける4

(5)フィルターの機能で、偶数(0)または奇数(1)で、表示したくないほうのチェックを外し、OKをクリックします。

偶数・奇数のみでフィルターをかける5

(6)今回は偶数(0)のデータのみを選択したので、年齢が偶数の場合のみが表示されました。

偶数・奇数のみでフィルターをかける6

最大値・最小値を抽出する方法

フィルターの結果から、最大値や最小値を抽出するためには、「SUBTOTAL関数」を利用します。
SUBTOTAL関数は、指定した範囲内で定められた集計方法を使って集計を行います。

・最大値を求める場合「=SUBTOTAL(4,範囲,…)」
・最小値を求める場合「=SUBTOTAL(5,範囲,…)」

4=最大値を求めるときの指定の数値、5=最小値を求めるときの指定の数値ですので、そのままの数値で設定すれば問題ありません。具体的にSUBTOTAL関数を用いた、最大値・最小値を抽出する手順は次の通りです。

(1)最大値を表示したいセルを選択し、関数の挿入から「SUBTOTAL関数」を選択します。

最大値・最小値を抽出する方法1

(2)集計方法に「4(最大値)」を記入、参照1に年齢列を選択し、OKボタンをクリックします。

最大値・最小値を抽出する方法2

(3)最小値を表示したいセルにも、同様の手順で集計方法に「5(最小値)」を入力してSUBTOTAL関数を挿入します。

最大値・最小値を抽出する方法3

(4)フィルターの結果に応じて、最大値と最小値が表示されました。

最大値・最小値を抽出する方法4

「●●以上~●●以下」というデータを抽出する方法

フィルターのデータが数値の場合であれば、「●●以上~●●以下」という範囲でデータを抽出することも可能です。今回は年齢が「25歳以上~32歳以下」という条件で、データを抽出してみましょう。

(1)年齢列の「▼」から[数値フィルター]>[指定の範囲内]を選択します。

「●●以上~●●以下」というデータを抽出する方法1

(2)デフォルトで「●●以上~●●以下」となっているため、年齢の範囲のみ入力します。

「●●以上~●●以下」というデータを抽出する方法2

(3)年齢が「25歳以上~32歳以下」のデータが絞り込まれました。

「●●以上~●●以下」というデータを抽出する方法3

まとめ

さまざまな条件下でデータを抽出したり、絞り込むことができるようになれば、見やすく使いやすい資料を作成することができます。今回紹介したさまざまな条件は、利用する頻度が高いものですので、ぜひ覚えて活用してみましょう。

(学生の窓口編集部)

関連記事

新着記事

もっと見る

HOT TOPIC話題のコンテンツ

注目キーワード

 ビジネス用語・カタカナ語80選

 キャリアロードマップの一歩目

  • ピックアップ