- 公開日:
エクセルでフィルターの範囲指定ができない場合
エクセルでは、いくつかの条件下でフィルターの範囲指定ができない場合があります。
この記事では、エクセルでフィルターの範囲指定ができない場合の原因と対処法をご紹介します。
以下でご紹介する方法を一つずつ確認して、フィルターの範囲指定ができるか試してみましょう。
エクセルでフィルターの範囲指定ができない場合
エクセルでフィルターの範囲指定ができない場合、いくつかの問題点がある可能性があります。
詳細については以下でご紹介します。
表に空行が含まれている
表に空行が含まれている場合、フィルターの範囲指定ができない場合があります。
上記の画像では、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までのデータが正しく範囲指定されていることが確認できます。