Excelでデータをフィルタリングする方法

最近、 Excel(Excel)で集計関数を使用して大量のデータを簡単に集計する方法についての記事を書きましたが、その記事ではワークシート上のすべてのデータが考慮されていました。データのサブセットのみを調べて、データのサブセットを要約したい場合はどうなりますか?

Excelでは、フィルターに一致しない行を非表示にするフィルターを列に作成できます。さらに、Excelの特殊機能を使用して、フィルター処理されたデータのみを使用してデータを要約することもできます。

この記事では、Excelでフィルターを作成する手順と、組み込み関数を使用してフィルター処理されたデータを要約する手順について説明します。

Excelで簡単なフィルターを作成する

Excelでは、単純なフィルターと複雑なフィルターを作成できます。簡単なフィルターから始めましょう。フィルタを使用する場合は、ラベルに使用される行を常に上部に1つ配置する必要があります。この行は必須ではありませんが、フィルターの操作が少し簡単になります。

サンプルデータExcel

上記に、いくつかの偽のデータがあり、City列にフィルターを作成したいと思います。Excelでは、これは非常に簡単です。先に進み、リボンの[データ]タブをクリックしてから、[(Data)フィルター(Filter)]ボタンをクリックします。シート上のデータを選択したり(sheet or click)、最初の行をクリックしたりする必要はありません。

エクセルデータフィルター

[フィルター(Filter)]をクリックすると、最初の行の各列の右端に小さなドロップダウンボタンが自動的に追加されます。

追加されたフィルターExcel

次に、[都市]列(City column)のドロップダウン矢印をクリックします。以下に説明するいくつかの異なるオプションが表示されます。

フィルタオプションは優れています

上部では、 City列(City column)の値ですべての行をすばやく並べ替えることができます。データを並べ替えると、 City列(City column)の値だけでなく、行全体が移動することに注意してください。これにより、データが以前と同じようにそのまま維持されます。

また、 IDと(ID and number)呼ばれる列を最前面に追加し、ワークシートにある1行からいくつまでの行に番号を付けることをお勧めします。このようにして、重要な場合は、いつでもID列(ID column)で並べ替えて、元の順序と同じ順序でデータを取得できます。

ソートされたデータExcel

ご覧のとおり、スプレッドシートのすべてのデータは、City列(City column)の値に基づいて並べ替えられています。これまでのところ、非表示の行はありません。次に、フィルターダイアログ(filter dialog)の下部にあるチェックボックスを見てみましょう。私の例では、City列(City column)に3つの一意の値しかなく、それらの3つがリストに表示されます。

フィルタリングされた行は優れています

私は先に進み、2つの都市のチェックを外し、1つをチェックしたままにしました。現在、表示されているデータは8行のみで、残りは非表示になっています。左端の行番号を確認すると、フィルタリングされたデータを見ていることが簡単にわかります。非表示になっている行の数に応じて、いくつかの余分な水平線が表示され、数字の色が青になります。

次に、結果の数をさらに減らすために、2番目の列でフィルター処理したいとします。列Cには、各家族のメンバーの総数があり、メンバーが2人以上の家族の結果のみを表示したいと思います。

ナンバーフィルターエクセル

先に進み、列C(Column C)のドロップダウン矢印をクリックすると、列の一意の値ごとに同じチェックボックスが表示されます。ただし、この場合は、[数値フィルター]をクリックしてから、[(Number Filters)より大きい( Greater Than)]をクリックします。ご覧のとおり、他にもたくさんのオプションがあります。

フィルタよりも大きい

新しいダイアログがポップアップ表示され、ここにフィルターの値を入力できます。AND関数またはOR関数(AND or OR function)を使用して複数の基準を追加することもできます。たとえば、値が2より大きく5以下の行が必要であると言えます。

2つのフィルターが優れています

今、私はたった5行のデータになりました。ニューオーリンズ(New Orleans)からの家族と3人以上のメンバーがいる家族です。簡単(Easy)ですか?ドロップダウンをクリックしてから[[列名]からフィルターをクリア](Clear Filter From “Column Name”)リンクをクリックすると、列のフィルターを簡単にクリアできることに注意してください。

クリアフィルターエクセル

これで、 Excel(Excel)の単純なフィルターについては以上です。それらは非常に使いやすく、結果は非常に簡単です。次に、[高度な(Advanced)フィルター]ダイアログを使用して複雑なフィルターを見てみましょう。

Excelで高度なフィルターを作成する

より高度なフィルターを作成する場合は、 [高度な(Advanced) フィルター]ダイアログ(filter dialog)を使用する必要があります。たとえば、ニューオーリンズ(New Orleans)に住んでいて、家族に2人以上のメンバーがいるすべての家族、または(OR)家族に3人以上のメンバーがいるクラークスビルのすべての家族、(Clarksville)および(AND).EDUの末尾のメールアドレスを持つ家族だけを表示したいとします。今では、単純なフィルターではそれを行うことはできません。

これを行うには、Excelシート(Excel sheet)を少し異なる方法で設定する必要があります。先に進み、データセットの上に数行挿入し、以下に示すように見出しラベルを最初の行に正確にコピーします。

高度なフィルター設定

これが高度なフィルターの仕組みです。最初に上部の列に条件を入力してから、[データ(Data)]タブの[並べ替えとフィルター( Sort & Filter)]の下にある[詳細(Advanced)設定]ボタンをクリックする必要があります。

高度なフィルターリボン

では、これらのセルに正確に何を入力できるでしょうか。では、例から始めましょう。ニューオーリンズまたはクラークスビル(New Orleans or Clarksville)からのデータのみを表示したいので、それらをセルE2およびE3(E2 and E3)に入力してみましょう。

高度なフィルター都市

異なる行に値を入力する場合、それはORを意味します。ここで、2人以上のメンバーがいるニューオーリンズの(New Orleans)家族と3人以上のメンバーがいるクラークスビルの家族が必要です。(Clarksville)これを行うには、C2に >2 >3と入力します。

高度なフィルターが優れています

> 2とニューオーリンズ(New Orleans)は同じ行にあるため、AND演算子(AND operator)になります。上記の行3(row 3)についても同じことが言えます。最後に、.EDUの末尾のメールアドレスを持つ家族のみが必要です。これを行うには、D2とD3(D2 and D3)の両方に*.eduと入力するだけです。*記号は、任意の数の文字を意味します。

基準範囲は優れています

これを行ったら、データセット内の任意の場所をクリックしてから、[詳細設定(Advanced)]ボタンをクリックします。[詳細]ボタン(Advanced button)をクリックする前にデータセットをクリックしたため、 [リスト(List Rang)範囲]フィールドはデータセットを自動的に把握します。次に、[基準範囲(Criteria range)]ボタンの右側にある小さな小さなボタンをクリックします。

基準範囲を選択

(Select everything)A1からE3まですべてを選択し、同じボタンをもう一度クリックして、[高度なフィルター]ダイアログ(Advanced Filter dialog)に戻ります。[OK](Click OK)をクリックすると、データがフィルタリングされます。

結果をフィルタリングする

ご覧のとおり、これらの基準すべてに一致する結果は3つだけです。これが機能するためには、基準範囲のラベルがデータセットのラベルと正確に一致している必要があることに注意してください。

このメソッドを使用すると、明らかにもっと複雑なクエリを作成できるので、それを試して目的の結果を取得してください。最後に、フィルタリングされたデータに合計関数を適用する方法について説明します。

フィルタリングされたデータの要約

ここで、フィルター処理されたデータの家族の数を合計したいとします。どうすればそれを実行できますか?さて、リボンの[クリア(Clear)]ボタンをクリックして、フィルターをクリアしましょう。心配しないでください。[詳細設定]ボタン(Advanced button)をクリックしてもう一度[OK]をクリックするだけで、詳細設定フィルターを再度適用するのは非常に簡単です。

エクセルのクリアフィルター

データセットの下部に、 Total(Total)というセルを追加してから、sum関数を追加して家族の合計メンバーを合計しましょう。私の例では、=SUM(C7:C31)と入力しました。

合計エクセル

ですから、すべての家族を見ると、合計78人のメンバーがいます。それでは、先に進んで高度なフィルター(Advanced filter)を再適用して、何が起こるかを見てみましょう。

間違ったトータルフィルター

おっと!正しい数字の11を表示する代わりに、合計が78であることがわかります。何故ですか?SUM関数(SUM function)は非表示の行を無視しないため、すべての行を使用して計算を実行します。幸い、非表示の行を無視するために使用できる関数がいくつかあります。

1つ目はSUBTOTALです。これらの特別な関数を使用する前に、フィルターをクリアしてから関数を入力する必要があります。

フィルタがクリアされたら、先に進んで=SUBTOTAL(と入力すると、一連のオプションを含むドロップダウンボックスが表示されます。この関数を使用して、最初に数値を使用して使用する合計関数のタイプを選択します。(summation function)

この例では、SUMを使用したいので、数字の9(number 9)を入力するか、ドロップダウンからクリックします。次に、カンマを入力してセルの範囲を選択します。

小計関数

Enterキーを押すと、78の値が以前と同じであることがわかります。ただし、フィルターを再度適用すると、11が表示されます。

フィルタの小計

優れた!それがまさに私たちが望んでいることです。これで、フィルターを調整でき、値は常に現在表示されている行のみを反映します。

SUBTOTAL関数(SUBTOTAL function)とほぼ同じように機能する2番目の関数はAGGREGATEです。唯一の違いは、AGGREGATE関数(AGGREGATE function)に、非表示の行を無視することを指定する必要がある別のパラメーターがあることです。

集計関数

最初のパラメーターは、使用する合計関数であり、 (summation function)SUBTOTALと同様に、9はSUM関数(SUM function)を表します。2番目のオプションは、非表示の行を無視するために5を入力する必要がある場合です。最後のパラメータは同じで、セルの範囲です。

また、要約関数に関する私の記事を読んで、AGGREGATE関数や、 (AGGREGATE function)MODEMEDIANAVERAGEなど の他の関数の使用方法をより詳細に学ぶことができます。

この記事が、 Excel(Excel)でフィルターを作成して使用するための良い出発点(starting point)になることを願っています。ご不明な点がございましたら、お気軽にコメントを投稿してください。楽しみ!



About the author

私は Windows 10 の技術者であり、長年にわたって個人や企業が新しいオペレーティング システムを活用できるよう支援してきました。外観をカスタマイズしたり、さまざまなユーザー向けにアプリケーションをパーソナライズする方法など、Microsoft Office に関する豊富な知識があります。さらに、Explorer アプリを使用して、コンピューター上のファイルやフォルダーを探索および検索する方法も知っています。



Related posts