• 公開日:

エクセルでフィルターの範囲指定ができない場合

エクセルでは、いくつかの条件下でフィルターの範囲指定ができない場合があります。

この記事では、エクセルでフィルターの範囲指定ができない場合の原因と対処法をご紹介します。

以下でご紹介する方法を一つずつ確認して、フィルターの範囲指定ができるか試してみましょう。

エクセルでフィルターの範囲指定ができない場合

エクセルでフィルターの範囲指定ができない場合、いくつかの問題点がある可能性があります。

詳細については以下でご紹介します。

表に空行が含まれている

表に空行が含まれている場合、フィルターの範囲指定ができない場合があります。

表に空行が含まれている

上記の画像では、6行目に空行が含まれています。

表に空行が含まれている状態でフィルターメニューを開いてみます。

A1セル右下のフィルターボタンを押します。

空行以降にフィルターがかかっていない

フィルターメニューが開かれました。

しかしフィルター正しく機能しておらず、No.5以降のデータの抽出指定ができません。

表に空行が含まれる場合は、改めて正しくフィルターをかける必要があります。

詳しい方法については、以下の記事「エクセルでフィルター時に空白を含む方法」セクションでご紹介しています。

エクセルでフィルター時に空白を含む方法

日付フィルターの範囲指定が正確にできていない

日付フィルターを設定した際に、正しく抽出が行われない場合があります。

表に日付が含まれている

上記の画像のように表内に日付データが含まれている場合には、日付フィルターを使用することができます。

日付フィルターを設定する際、正しく範囲指定ができていないとフィルターが正常に機能しません。

詳細については、以下の記事「日付を正確に選択できていない」セクションでご紹介しています。

エクセルの日付データをフィルターする方法

SUBTOTAL関数を使っている

SUBTOTAL関数を使うとフィルターで絞り込んだデータに連番をふることができます。

ただし、関数の不具合でフィルター条件に該当しないデータが絞り込まれることがあります。

サブトータル関数で連番が振られている

上記の画像はA列にSUBTOTAL関数を使い、表に連番を振った場合の例です。

SUBTOTAL関数の書式は、「=SUBTOTAL(集計方法,参照1,…)」です。

「=SUBTOTAL(3,$B$2:B2)」は「B列のデータの個数を数えてA列に表示する」という意味になっています。

SUBTOTAL関数の引数の詳細や使い方などについては、以下の記事でご紹介しています。

ExcelのSUBTOTAL関数の使い方|集計方法によって様々な集計をする

フィルターを設定して、「愛知県」のデータだけを抽出してみます。

抽出が正しく行われていない

すると、赤矢印で示したように「愛知県」以外のデータも一緒に絞り込まれています。

最後の行にフィルターがかかっていない

フィルターメニューを確認しても、No.7までのデータしか範囲指定ができていません。

表内にSUBTOTAL関数を使用したデータがある場合にフィルターをかけると、エクセルにエラーが発生し、最後の行だけがフィルターの範囲外になってしまうことがあります。エラーの原因は明らかになっていません。

SUBTOTAL関数を使って連番を振った表にフィルターをかける場合には、数式を工夫する必要があります。

方法の詳細は以下の通りです。

機能する数式を入力する

SUBTOTAL関数を使ってもフィルターが正常に機能するように、数式を置き換えます。

A2セルに「=SUBTOTAL(3,$B$:B2)-1」と入力し、Enterを押します。

余分に数えてしまっている見出し行分の個数を引くために「-1」を設定します。

数式をドラッグする

A2セルの数式が置き換わりました。

他のセルの数式も置き換えます。

A2セル右下のフィルハンドルを下にドラッグします。

フィルターボタンを押す

A列のすべてのセルの数式が置き換わりました。

フィルターメニューを開きます。

A1セル右下のフィルターボタンを押します。

正しくフィルターがかかった

フィルターメニューが開かれました。

No.8までのデータが正しく範囲指定されていることが確認できます。