いまさら聞けないExcelの使い方講座

【Excelトラブル】フィルターを設定したのに並べ替えや抽出ができない!? 原因と対策

テーブルの利用も検討しよう

データの並べ替えや抽出ができない!?

フィルターが効かないのはなぜ?

 一般的にデータの並べ替えや抽出をする場合、「フィルター」の機能を使いますよね。代表的な失敗例として、一部の列にフィルターを忘れていることがあります。

 元の状態に戻せない致命的なミスにつながるため、十分に注意したポイントですが、よくある失敗例はもう1つあります。すべての列にフィルターを設定しているのに、正しく動作しないケースです。例えば以下のような状態です。

会員種別が「ゴールド」の行を抽出したつもりが、20行目以降はそのままの状態です

 これは19行目に空白行があることが原因。列(フィールド)名を選択、または、表の任意のセルを選択した状態でフィルターを設定した場合、連続するデータの末尾までが1つの表であると判断されます。

 ここでは、セルA1~E18が1つの表として認識されており、20行目以降は“別の表”として扱われます。空白列が含まれている場合も同様です。

 また、フィルターが正しく動作しない原因はほかにもあります。今回はそれら解決法をまとめて紹介します。

不要な行を削除する

 表内に空白行や空白列が含まれている場合は削除すれば解決です。正しく動作するか不安な場合は、フィルターを再設定してもいいでしょう。フィルターを設定する[Shift]+[Ctrl]+[L]のショートカットキーも覚えておくと便利です。

空白行の行番号を右クリック(①)して[削除](②)を選択します
データを正しく抽出できました

 何らかの理由で削除できないこともあるかもしれません。また、空白の行や列が“非表示”になっていて、目視できないこともありますよね。1つの表として扱いたいセル範囲全体を選択してからフィルターを設定する方法も覚えておきましょう。

空白行が含まれているようには見えませんが、20行目以降は正しく抽出されていません。19行目の空白行が“非表示”になっているためです
フィルターを設定した列名を選択して(③)、[データ]タブ(④)にある[フィルター](⑤)をクリックします
フィルターが解除されたら、表全体を選択して(⑥)、[フィルター](⑦)をクリックします
データを正しく抽出できました

結合セルを解除する

 フィルターの機能を使う表において“結合セル”は絶対にNGです。以下は並べ替えをしようとして、エラーメッセージが表示されている例ですが、データが正しく抽出できないこともあります。

フィルターボタン(⑧)をクリックして[降順](⑨)を選択しました
エラーメッセージが表示されてしまいました。[OK](⑩)をクリックします
表内に結合セル(⑪)が含まれていることが原因です
結合セルを解除してデータを入力しておきます(⑫)
データを正しく並べ替えられました

 なお、意図通りに並べ替えや抽出できない場合は、数字に見える文字列のような、データ型の異なる値が含まれていないかを確認しましょう。

複数ワークシートの選択を解除する

 フィルターボタンが反応しない時は、複数のワークシートが選択されていないかを確認しましょう。表示中のシート名には下線が表示されているので、[Shift]キーを押しながらクリックして、ほかのワークシートの選択を解除します。

複数のワークシートが選択されている場合(⑬)、フィルターの機能は動作しません。[データ]タブのボタンもグレーアウトして、操作できない状態です
[Shift]キーを押しながら、表示中のシート名をクリックします(⑭)
複数のワークシートの選択が解除されて、フィルターの機能が使えるようになります

 なお、ほかの人から引き継いだファイルなどで、ワークシートを1つしか選択していないのにフィルターボタンが動作しない場合は、[シートの保護]が有効になっている可能性があります。

 シート名を右クリックして[シート保護の解除]から解除する必要があります。パスワードが設定されている場合はファイルの作成者に確認してください。

「テーブル」を活用する

 データの並べ替えや抽出などの処理が目的の場合は、表を「テーブル」に変換することをおすすめします。行や列を挿入・削除しても書式が保たれ、数式も自動入力されます。結合セルも設定できないため、余計なエラーも防げます。

 以下は[挿入]タブから操作していますが、[Ctrl]+[T]キーでテーブルに変換することも可能です。

表全体を選択しておきます(⑮)。[挿入]タブ(⑯)の[テーブル](⑰)をクリックします
テーブルに変換する範囲(⑱)は自動的に入力されます。[先頭行をテーブルの見出しとして使用する](⑲)にチェックが付いていることを確認して、[OK](⑳)をクリックします
表がテーブルに変換されました。書式が自動的に設定されて、フィルターボタンも表示されています

よく使うフィルター機能に悩まない

 データの並べ替えや抽出は利用する機会が多いですよね。普段から無意味な空白行や結合セルを使わないように意識しておくといいでしょう。データの入力もサポートしてくれる「テーブル」の機能もおすすめです。