Excelのフィルターが一部の行にしかかからない!原因は「テーブル範囲」かも?

Excelでフィルターをかけたのに、なぜか最初の数行にしか反映されない……。

そんな現象に遭遇しました。

今回は、実際に試した対処方法と、あとから思い出した原因について紹介します。

何が起きたの?

仕事で使用していたExcelのリストで、フィルター機能を使おうとしたときのことです。

本来ならリスト全体にフィルターがかかるはずなのに、最初の3行くらいしかフィルターの対象になっていない状態でした。

少し操作してみましたが、すぐには直りません。

そこで、いったん別の方法で対応することにしました。

新しいシートに貼り付け直したら解決!

私が実際に行ったのは、次の操作です。

  1. 新しいワークシートを作成する。
  2. 元のリストから項目名をコピーして貼り付ける。
  3. 続けてデータをコピーして貼り付ける。
  4. 新しいシートでフィルターを設定する。

すると、今度はリスト全体に問題なくフィルターがかかりました。

無事に解決!

ただ、気になることがひとつ。

「この現象、以前にも見たことがあるような……?」

そのときは原因を思い出せず、作業もできるようになったので、そのままにしていました。

あとから思い出した原因は「テーブル」

しばらくして、ふと思い出しました。

「そうだ! Excelのテーブル機能だ!」

Excelには、通常のセル範囲とは別に「テーブル」という機能があります。

テーブルにはフィルター機能が標準で備わっていますが、フィルターの対象になるのは、基本的にそのテーブルに含まれているデータです。

今回のリストでは、おそらく次のような状態になっていたと考えられます。

  • 項目名と記入例までがテーブルに設定されていた。
  • その下に追加された実際のデータは、テーブルの範囲外だった。
  • そのため、フィルターが最初の数行にしか反映されなかった。

つまり、Excelのフィルターが壊れていたわけではなく、フィルターをかける対象範囲が想定より狭かった可能性があるのです。

なお、元のファイルを改めて検証したわけではないため、これが確定した原因というわけではありません。

同じ現象が起きたときの対処方法

もし同じような現象が起きた場合は、まずテーブルの範囲を確認してみましょう。

方法① テーブルの範囲を広げる

  1. テーブル内のセルをクリックする。
  2. 上部の「テーブル デザイン」タブを開く。
  3. 「テーブルのサイズ変更」をクリックする。
  4. 実際のデータの最終行まで範囲を広げる。
  5. 「OK」をクリックする。

これで、対象外だったデータもテーブルに含められます。

方法② テーブルを解除して通常のフィルターを使う

テーブル機能が特に必要ない場合は、通常のセル範囲に戻すこともできます。

  1. テーブル内のセルをクリックする。
  2. 「テーブル デザイン」タブを開く。
  3. 「範囲に変換」をクリックする。
  4. 確認画面で「はい」を選ぶ。
  5. 項目名を含むリスト全体を選択し、「データ」タブから「フィルター」を設定する。

これで、通常のセル範囲に対するフィルターを使用できます。

ただし、テーブルを解除すると、テーブル特有の機能は使えなくなるので注意が必要です。数式などでテーブルの機能を利用している場合は、影響を確認してから操作しましょう。

まとめ

今回の経験から、Excelでフィルターが一部の行にしか反映されないときは、テーブルの設定範囲を確認することが大切だと改めて感じました。

私は新しいシートに貼り付け直すことで解決しましたが、原因がテーブルの範囲だった場合は、わざわざシートを作り直さなくても対処できます。

Excelは便利ですが、以前設定された機能が思わぬところで影響することもありますね。

次に同じ現象が起きたときは、まず「テーブル デザイン」を確認してみようと思います。

コメント

タイトルとURLをコピーしました