【Excel】フィルターが思うように使えないときの解決策。うまくいかない3つの原因

エクセルで、思うようにフィルター検索できないことはありませんか。
たとえば、下のような表。

 

購入者のうち男だけを表示させたいと思ってフィルターをかけてみると・・・。

 

なぜかフィルターが途中までしか適用されず、男女両方が表示されてしまいました。

 

また、購入商品のうち「ギフト用」だけを表示させたいので、▽をクリックしてみても…。

 

Sからはじまる商品コードだけがフィルター選択でき、「ギフト用」かどうかのフィルターを設定することができません。

 

このように、フィルターがうまく使えないときの対処方法について解説します。
「そもそもエクセルのフィルター機能の使い方がよく分からない・・・」という人は以下の記事も参考にしてみてください。
関連記事

複数の列で、特定の条件を満たす行だけを抽出したい場面が実務ではよくあります。 たとえば、下の表のように、学生ごとの成績が一覧となったデータがある場合。 このデータのうち、全科目が「優」か「秀」の人だけを抽出して表示させたい場合、ひと[…]

 

スポンサードリンク

フィルターが使えない原因は?どうすればいい

結論からいうと、フィルターがうまく動かないときの原因は、主に3つです。
  1. 空白の行が途中に含まれている
  2. セルが結合されている
  3. 非表示になっている行に原因が隠れている
では、うまくいかない詳しい理由と対処方法についてお伝えしていきます。

空白の行や列が途中にあるとフィルターが使えない

フィルターは、原則「アクティブセル領域を対象範囲とする」という性質があります。
なので、集計したい範囲がアクティブセル領域になるように空白セルをなくすか、あらかじめ集計したい範囲を選択した状態でフィルターを設定する必要があります。

 

アクティブセル領域とは?

アクティブセル領域とは、「アクティブになっている(≒選択中の)セルを含む、エクセルの末端あるいは空白で囲まれた範囲」のことをいいます。
言葉にするとややこしいですが、下の図のようなイメージです。

 

フィルターを手間なく使いたいなら、空白の行をなくそう

途中に空白の行があると、そこでアクティブセル領域が終わってしまうので、集計したい範囲すべてにフィルターがかかりません。
一応、あらかじめ集計したい範囲を選択した状態でフィルターボタンを押せば、正しくフィルターがかかります。

 

でも、行を追加した場合などの、フィルター範囲の追加が必要な場合に、毎回集計範囲を選択してフィルターボタンをクリックして…というのは面倒です。
フィルター集計したい範囲の途中に空白行や列がある場合は、あらかじめ行・列を削除しておくか、適当な文字列を入力して空白を埋めておきましょう。
空白セルを埋める方法については、別の記事で解説します。

 

セル結合されているとフィルター集計がうまくいかない場合がある

フィルターで抽出したいと思っているセルが結合されていると、データ抽出がうまくいきません。

 

フィルター集計に限らず、セルを結合するとエクセルの集計がうまくいかなくなることが非常に多いです。
ピボットテーブルや関数処理などの基本的なエクセルの便利機能はすべて、セル結合のせいで使えなくなります。

 

今回の表のように、表頭部分だけセル結合されている場合もあれば、なぜか表の途中のとんでもないところがセル結合されている場合もあります。
自分が作ったエクセルならともかく、ほかの人が作ったエクセルだと、どこがセル結合されているか分かりません。
ですが、セル結合は見栄えを整える効果以外はデメリットだらけなので、セル結合を解除しても支障がないのであれば、すべて解除してしまいましょう。

 

エクセル左上の三角形マークをクリックするか、[Ctrl] + [A]を二回押して、シート内のセルが全選択された状態で「セルを結合して中央揃え」のボタンをクリックしましょう。

 

セル結合を解除したら、一度フィルターを解除して、再度フィルターボタンをクリックするとフィルターが再設定されます。
先ほどまで選べなかった「ギフト用」の列もフィルターの選択ができるようになりました。
スポンサードリンク

非表示になっている行や列が原因でフィルターが使えない場合もある

一見、空白の行や列がないように見えても、フィルターがうまくかからない場合があります。
たとえば、下の図の場合、アクティブセルはA2、空白セルは一見なさそうですが・・・。

 

「▼」のフィルターボタンがD列までしか表示されておらず、G列~I列はフィルターが使えません。

 

列番号(A,B,C,D,G,H,I…とアルファベットが書いてあるところ)を見ると、E,F列が非表示になっているようです。
非表示になっている列を含むように列を選択(ここではD~G列を選択)したら、右クリックして「再表示」を左クリックして選択します。

 

空白の列が隠れていました。
空白列のE,F列になにか入力するか、不要な列であれば列を削除しましょう。
フィルターを再度設定すれば、フィルターがうまくかからなかった列までフィルターが使えるようになります。

 

まとめ

フィルターが思うように使えないケースはよくありますが、原因が分かれば対処方法は簡単です。
  1. 空白の行や列がないか
  2. セルの結合がされていないか
  3. 非表示になっている行や列はないか
焦らず、以上のことを再確認してみましょう。