Excelのフィルターに項目が全部出てこない|空白行と1万件の上限

カラフルでおしゃれなキーボード

Excelでフィルターの▼をクリックしたのに、絞り込みたい名前がどこにもない。

リストを下までスクロールしても出てこないし、そもそも候補が数個しか並んでいない。データはちゃんと入力してあるのに、です。

これ、私も何度もやられました。取引先からもらった名簿にフィルターをかけたら、候補が20件ほどで打ち止め。画面をスクロールすれば300行くらいあるのは見えているのに、▼の中には20件しか出てこない…。最初は「ファイルが壊れたのでは」と本気で疑いましたが、原因はもっと単純なところにありました。

フィルターの▼に並ぶ候補は、Excelが「ここからここまでが表だ」と判断した範囲の中身だけです。つまり候補が足りないときは、フィルターの故障ではなく、範囲の認識がズレているケースがほとんど。データ側ではなく、設定の問題なんですね。

そしてもうひとつ、行数の多い表では、Excel側の仕様で一覧に並べられる件数に上限があります。こちらは何度やり直しても直らないタイプなので、知らないと延々ハマります。私も昔、上限の存在を知らずに30分ほど無駄にしました。

この記事では、Excelのフィルターに項目が全部出てこないときの原因を、空白行による範囲の切れ、見出し行だけの設定ミス、1万件という表示上限、セルの結合の4つに整理して、確認手順と直し方をまとめます。

あわせて、▼どころか[フィルター]ボタン自体がグレーアウトして押せないパターンの対処も後半で扱います。症状に心当たりのある見出しから読んでもらって大丈夫です。

まずはExcelがどこまでを表だと思っているか確認する

原因を探す前に、やっておきたい確認がひとつあります。

フィルターをかけた状態で見出し行のセルをクリックすると、表のまわりに細い枠線が表示されます。それがExcelの認識している範囲です。

もっと確実なのは、表の左上のセルを選んでCtrlShiftEndを押す方法。選ばれた範囲の右下が、Excelにとっての「データの終わり」になります。

ここで選択が表の途中でぷつりと止まったなら、候補が足りない理由はほぼ確定です。

逆に最終行まできれいに選択されるなら、後半で説明する件数の上限か、セルの結合を疑う流れになります。まずはこの一手間で、原因を半分に絞り込めます。

原因1:表の途中に空白行や空白列がある

いちばん多いのがこれです。

表のどこかに、データの入っていない行がまるごと1本挟まっていませんか。Excelは連続したデータのかたまりを1つの表として自動判定するため、空白行にぶつかった時点で「表はここで終わり」と解釈します。

やっかいなのは、見た目では空白行に気づきにくいことです。区切りのつもりで入れた1行、行を削除したあとに残ったスカスカの1行、列でいえばメモ欄として空けてある1列。どれも犯人になり得ます。

特に他の人が作ったファイルを引き継いだときは要注意。私が20件で打ち止めになった名簿も、部署の区切りとして空白行が1本入っていただけでした。犯人はいつも地味です。

直し方1:範囲を選んでからフィルターをかけ直す

手っ取り早いのは、範囲をこちらから教えてやる方法です。

  • [データ]タブの[フィルター]をクリックして、いったんフィルターを解除する
  • 見出し行から表のいちばん下の行まで、ドラッグで選択する
  • 選択したまま、もう一度[フィルター]をクリックする

自分で範囲を指定してから設定すれば、途中に空白行があってもその範囲全体が対象になります。空白行を残したまま使いたいときは、この方法がいちばんラクです。

直し方2:空白行そのものを削除する

そもそも空白行が不要なら、消してしまうのが根本解決です。

フィルターを解除してから空白行を選び、Ctrl-(マイナス)で行ごと削除します。空白行が点在していて探すのが面倒なときは、いったん範囲を選択してフィルターをかけ、[(空白セル)]だけにチェックを入れると、空白行だけを表示させて一気に処理できます。

削除するときは、他の列に値が残っていないかを必ず確認してください。「空っぽに見えたけど右のほうの列に備考が入っていた」というのは、地味に痛い事故です。

直し方3:テーブルに変換してしまう

今後も更新していく表なら、テーブルにしてしまうのが手堅い選択です。

表の中のセルをどこか1つ選んでCtrlTを押し、見出し行の有無を確認して[OK]。これだけで表がテーブルになります。

公式ドキュメントにも「すべてのテーブルの列でフィルター処理が有効になっている」と書かれているとおり、テーブルにした時点でフィルターは自動で有効になります。範囲がはっきり定義されるので、行を足したときに設定し直す手間もなくなります。

参考:Excel のテーブルの概要

原因2:見出し行だけにフィルターをかけている

▼を押しても[(すべて選択)]しか出ない。候補欄が完全に空っぽ。この症状なら、原因はほぼこれです。

見出しの1行だけを選択した状態で[フィルター]をクリックすると、その1行だけが対象範囲になります。データが1件も含まれていないので、当然ながら候補も出ません。

Microsoftの公式Q&Aでも、タイトル行だけでなく「タイトル行」から「データが存在する範囲の最下行」までの全ての行を選択してフィルターを設定し直すよう案内されています。範囲を選ばずに、表の中のセルを1つだけ選んだ状態から[フィルター]を押すのが、実は安全な操作です。

もうひとつ見落としやすいのが、見出しを2行に分けているケース。

「氏名」の上に「基本情報」のような大見出しを置いている表は珍しくありませんが、Excelはどちらを見出しと見なすか迷います。公式ドキュメントは「1つの行にのみ列見出しを入力する」とはっきり書いていて、2行分の文字を入れたいなら、セル内で文字列を折り返すよう案内しています。

大見出しがどうしても必要なら、表とのあいだに1行あけて、フィルター範囲を選択してから設定するのが現実的な落としどころです。

参考:公式ドキュメント

原因3:候補は1万件までしか並ばない仕様

範囲は合っている。空白行もない。それなのに候補が足りない…という場合は、データの件数を疑ってください。

Excelのフィルターのドロップダウンに並ぶ項目は、重複しないもので1万件までと決まっています。公式の「Excel の仕様と制限」に、フィルターのドロップダウンの一覧に表示されるアイテムは「10,000」と明記されている、れっきとした仕様です。

公式のフィルター解説ページにも「リスト内で重複しない最初の10,000項目だけがフィルター ウインドウに表示されます」という注意書きがあります。不具合ではないので、ファイルを開き直してもExcelを再起動しても変わりません。

ちなみに、ワークシートの行数の上限は1,048,576行。10万行を超えるデータを扱うことも普通にある以上、1万件で頭打ちになる場面は意外と身近です。

1万件を超えたときの回避策

  • チェックボックスの一覧を使わず、[テキストフィルター]や[数値フィルター]で条件を直接指定する
  • ドロップダウン上部の検索ボックスにキーワードを入力して、候補を絞り込む
  • 日付や部署など別の列で先に絞り込んで、対象そのものを減らす
  • 集計が目的なら、フィルターではなくピボットテーブルに切り替える

大事なのは、絞り込みの計算そのものは1万件を超えた行にもきちんと効くという点です。上限があるのは、あくまで一覧に並べて見せられる件数のほう。「候補に出ない=抽出できない」ではないので、この点は押さえておいてください。

参考:Excel の仕様と制限

原因4:データ部分にセルの結合が混ざっている

見出し行や項目の列でセルを結合していると、フィルターの動きが途端に怪しくなります。

結合したセルは、Excelの内部では左上のセルにだけ値が入っていて、残りは空白として扱われます。3行分を結合して「営業部」と書いた場合、値を持っているのは1行目だけ。2行目と3行目は空白なので、候補の一覧にも[(空白セル)]として現れますし、絞り込んだ結果も期待どおりになりません。

直し方はシンプルで、データ部分の結合はすべて解除し、同じ値を各行に入力します。「営業部」を3行に繰り返し書くのは冗長に見えますが、フィルターや並べ替え、ピボットテーブルまで含めて考えると、こちらが正解です。

見た目の中央揃えがどうしても欲しいときは、[セルの書式設定]の[配置]タブから[選択範囲内で中央]を使ってください。横方向であれば、セルを結合せずに結合したような見た目にできます。

そもそも▼が押せない・グレーアウトしているとき

候補以前に、[フィルター]ボタン自体が灰色で押せないこともあります。この場合は原因が別で、代表的なのは次の2つです。

複数のシートを選択している

シート見出しをCtrlキーを押しながらクリックして複数選んだ状態、いわゆる作業グループになっていると、フィルターは使えません。タイトルバーやシート見出しの見え方が普段と違っていたら、これを疑ってください。

解除は簡単で、グループに入っていない別のシートを1枚クリックするだけ。全シートを選んでいる場合は、いま開いているシート以外の見出しをクリックすれば戻ります。

シートが保護されている

シートの保護も、よくある原因です。

公式の解説によれば、保護をかけるときに「オートフィルターの使用」を許可しておけば、すでに適用済みのオートフィルターのドロップダウン矢印は操作できます。ただし「この設定に関係なく、ユーザーは保護されたワークシートでオートフィルターを適用または削除することはできません」とも明記されています。

つまり、保護されたシートに新しくフィルターをかけることはできません。[校閲]タブから[シート保護の解除]を実行してから設定する必要があります。パスワードがかかっている場合は、作成者に確認を。

参考:公式サポート

見落としがちな落とし穴:別の列で先に絞り込んでいる

「昨日は出ていた候補が、今日は出てこない」。そんなときは、他の列のフィルターを確認してみてください。

ある列で絞り込んだ状態で別の列の▼を開くと、候補に並ぶのは、その時点で表示されている行の値だけです。日付で今月分に絞ったあとに担当者の列を開けば、今月動きのなかった担当者は当然ながら候補に出てきません。

公式ページにも、フィルター中の検索について「表示されているデータのみが検索されます。表示されていないデータは、検索されません。すべてのデータを検索するには、すべてのフィルターをクリアします」と書かれています。仕様どおりの動きなので、直しようがあるとすれば操作の順番のほうです。

絞り込み済みの列は、▼のアイコンが漏斗の形に変わります。[データ]タブの[クリア]を押せば、フィルターの設定は残したまま抽出条件だけを一度リセットできるので、迷ったらまずここを押しましょう。

参考:公式サポート

フィルターでつまずかない表に整えるコツ

ここまでの原因を裏返すと、トラブルになりにくい表の条件が見えてきます。

  • 見出しは1行だけにする
  • 表の途中に空白行・空白列を作らない
  • データ部分ではセルを結合しない
  • 作り始めの時点でテーブルにしておく
  • 1枚のシートに表を2つ並べない

最後の項目は特に効きます。公式ドキュメントに「同時にフィルターを適用できるのは、シートの1つのセル範囲に対してのみです」とあるとおり、1シートに表が2つあると、片方にしかフィルターをかけられません。

集計表とデータ表を1枚に同居させている資料はよく見かけますが、フィルターを使う前提なら、シートを分けたほうが結果的に早いです。

関連記事:エクセル内の全シートのカーソル位置を一括で左上(A1)にする方法

まとめ

Excelのフィルターに項目が全部出てこないとき、まず疑うのは範囲の認識です。

表の左上からCtrlShiftEndを押して、選択が途中で止まるかどうかを見る。止まるなら空白行や空白列で範囲が切れているので、見出しから最終行までを選び直してフィルターをかけ直せば解決します。候補が[(すべて選択)]だけなら、見出し行しか範囲に入っていないパターンです。

最終行まできれいに選ばれるのに候補が足りないなら、1万件の表示上限か、セルの結合を確認してください。1万件の上限は公式に明記された仕様で、直す対象ではありません。テキストフィルターや検索ボックスに切り替えるのが正解です。

フィルターの候補が足りないのは、ほとんどの場合Excelの不具合ではなく、表の作りとフィルターの範囲がかみ合っていないサインです。

個人的にいちばんおすすめしたいのは、原因1で紹介したテーブル化です。CtrlTを1回押しておくだけで、範囲のズレも、行を追加したときの設定し直しも、まとめて過去のものになります。私は他の人から受け取ったファイルを触るとき、まずテーブルにできる形かどうかを見るようになりました。

なお、候補以前に▼そのものが押せないときは、複数シートの選択とシートの保護という別ルートを疑ってください。こちらは表の作りとは関係なく、いまの操作状態が原因です。

フィルターが素直に効く表は、集計もグラフ化も驚くほどラクになります。今つまずいているファイルを直すついでに、表そのものを少し整えてみてください。

この記事をシェア