最近、 Excel(Excel)で集計関数を使用して大量のデータを簡単に集計する方法についての記事を書きましたが、その記事ではワークシート上のすべてのデータが考慮されていました。データのサブセットのみを調べて、データのサブセットを要約したい場合はどうなりますか?
Excelでは、フィルターに一致しない行を非表示にするフィルターを列に作成できます。さらに、Excelの特殊機能を使用して、フィルター処理されたデータのみを使用してデータを要約することもできます。
この記事では、Excelでフィルターを作成する手順と、組み込み関数を使用してフィルター処理されたデータを要約する手順について説明します。
Excelで簡単なフィルターを作成する
Excelでは、単純なフィルターと複雑なフィルターを作成できます。簡単なフィルターから始めましょう。フィルタを使用する場合は、ラベルに使用される行を常に上部に1つ配置する必要があります。この行は必須ではありませんが、フィルターの操作が少し簡単になります。
上記に、いくつかの偽のデータがあり、City列にフィルターを作成したいと思います。Excelでは、これは非常に簡単です。先に進み、リボンの[データ]タブをクリックしてから、[(Data)フィルター(Filter)]ボタンをクリックします。シート上のデータを選択したり(sheet or click)、最初の行をクリックしたりする必要はありません。
[フィルター(Filter)]をクリックすると、最初の行の各列の右端に小さなドロップダウンボタンが自動的に追加されます。
次に、[都市]列(City column)のドロップダウン矢印をクリックします。以下に説明するいくつかの異なるオプションが表示されます。
上部では、 City列(City column)の値ですべての行をすばやく並べ替えることができます。データを並べ替えると、 City列(City column)の値だけでなく、行全体が移動することに注意してください。これにより、データが以前と同じようにそのまま維持されます。
また、 IDと(ID and number)呼ばれる列を最前面に追加し、ワークシートにある1行からいくつまでの行に番号を付けることをお勧めします。このようにして、重要な場合は、いつでもID列(ID column)で並べ替えて、元の順序と同じ順序でデータを取得できます。
ご覧のとおり、スプレッドシートのすべてのデータは、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以下の行が必要であると言えます。
今、私はたった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)MODE、MEDIAN、AVERAGEなど の他の関数の使用方法をより詳細に学ぶことができます。
この記事が、 Excel(Excel)でフィルターを作成して使用するための良い出発点(starting point)になることを願っています。ご不明な点がございましたら、お気軽にコメントを投稿してください。楽しみ!
How to Filter Data in Excel
I recently wrote an article on how to use summary functions in Excel to easily summarize large amounts of data, but that article took into account all data on the worksheet. What if you only want to look at a subset of data and summarize the subset of data?
In Excel, you can create filters on columns that will hide rows that do not match your filter. In addition, you can also use special functions in Excel to summarize data using only the filtered data.
In this article, I’ll walk you through the steps for creating filters in Excel and also using built-in functions to summarize that filtered data.
Create Simple Filters in Excel
In Excel, you can create simple filters and complex filters. Let’s start off with simple filters. When working with filters, you should always have one row at the top that is used for labels. It’s not a requirement to have this row, but it makes working with filters a bit easier.
Above, I have some fake data and I want to create a filter on the City column. In Excel, this is really easy to do. Go ahead and click on the Data tab in the ribbon and then click on the Filter button. You don’t have to select the data on the sheet or click in the first row either.
When you click on Filter, each column in the first row will automatically have a small dropdown button added at the very right.
Now go ahead and click on the dropdown arrow in the City column. You’ll see a couple of different options, which I will explain below.
At the top, you can quickly sort all the rows by the values in the City column. Note that when you sort the data, it will move the entire row, not just the values in the City column. This will ensure that your data remains intact just as it was before.
Also, it’s a good idea to add a column at the very front called ID and number it from one to however many rows you have in your worksheet. This way, you can always sort by the ID column and get your data back in the same order it was originally, if that is important to you.
As you can see, all the data in the spreadsheet is now sorted based on the values in the City column. So far, no rows are hidden. Now let’s take a look at the checkboxes at the bottom of filter dialog. In my example, I have only three unique values in the City column and those three show up in the list.
I went ahead and unchecked two cities and left one checked. Now I only have 8 rows of data showing and the rest are hidden. You can easily tell you are looking at filtered data if you check the row numbers at the far left. Depending on how many rows are hidden, you’ll see a few extra horizontal lines and the color of the numbers will be blue.
Now let’s say I want to filter on a second column to further reduce the number of results. In column C, I have the total number of members in each family and I want to only see the results for families with more than two members.
Go ahead and click on the dropdown arrow in Column C and you’ll see the same checkboxes for each unique value in the column. However, in this case, we want to click on Number Filters and then click on Greater Than. As you can see, there are a bunch of other options too.
A new dialog will pop up and here you can type in the value for the filter. You can also add more than one criteria with an AND or OR function. You could say you want rows where the value is greater than 2 and not equal to 5, for example.
Now I’m down to just 5 rows of data: families only from New Orleans and with 3 or more members. Easy enough? Note that you can easily clear a filter on a column by clicking on the dropdown and then clicking the Clear Filter From “Column Name” link.
So that’s about it for simple filters in Excel. They are very easy to use and the results are pretty straight-forward. Now let’s take a look at complex filters using the Advanced filters dialog.
Create Advanced Filters in Excel
If you want to create more advanced filters, you have to use the Advanced filter dialog. For example, let’s say I wanted to see all families that live in New Orleans with more than 2 members in their family OR all families in Clarksville with more than 3 members in their family AND only the ones with a .EDU ending email address. Now you can’t do that with a simple filter.
To do this, we need to setup the Excel sheet a little differently. Go ahead and insert a couple of rows above your set of data and copy the heading labels exactly into the first row like shown below.
Now here is how advanced filters work. You have to first type your criteria into the columns at the top and then click the Advanced button under Sort & Filter on the Data tab.
So what exactly can we type into those cells? OK, so let’s start with our example. We only want to see data from New Orleans or Clarksville, so let’s type those into cells E2 and E3.
When you type values on different rows, it means OR. Now we want New Orleans families with more than two members and Clarksville families with more than 3 members. To do this, type in >2 in C2 and >3 in C3.
Since >2 and New Orleans are on the same row, it will be an AND operator. The same is true for row 3 above. Finally, we want only the families with .EDU ending email address. To do this, just type in *.edu into both D2 and D3. The * symbol means any number of characters.
Once you do that, click anywhere in your dataset and then click on the Advanced button. The List Range field will automatically figure out your dataset since you clicked into it before clicking the Advanced button. Now click on the small little button at the right of the Criteria range button.
Select everything from A1 to E3 and then click on the same button again to get back to the Advanced Filter dialog. Click OK and your data should now be filtered!
As you can see, now I have only 3 results that match all of those criteria. Note that the labels for the criteria range have to match exactly with the labels for the dataset in order for this to work.
You can obviously create a lot more complicated queries using this method, so play around with it to get your desired results. Finally, let’s talk about applying summation functions to filtered data.
Summarizing Filtered Data
Now let’s say I want to sum up the number of family members on my filtered data, how would I got about doing that? Well, let’s clear our filter by clicking on the Clear button in the ribbon. Don’t worry, it’s very easy to apply the advanced filter again by simply clicking on the Advanced button and clicking OK again.
At the bottom of our dataset, let’s add a cell called Total and then add a sum function to sum up the total family members. In my example, I just typed =SUM(C7:C31).
So if I look at all families, I have 78 members total. Now let’s go ahead and reapply our Advanced filter and see what happens.
Whoops! Instead of showing the correct number, 11, I still see the total is 78! Why is that? Well, the SUM function does not ignore hidden rows, so it is still doing the calculation using all the rows. Luckily, there are a couple of functions you can use to ignore hidden rows.
The first is SUBTOTAL. Before we use any of these special functions, you will want to clear your filter and then type in the function.
Once the filter is cleared, go ahead and type in =SUBTOTAL( and you should see a dropdown box appear with a bunch of options. Using this function, you first pick the type of summation function you want to use using a number.
In our example, I want to use SUM, so I would type in the number 9 or just click on it from the dropdown. Then type a comma and select the range of cells.
When you press enter, you should see the value of 78 is the same as previously. However, if you now apply the filter again, we will see 11!
Excellent! That’s exactly what we want. Now you can adjust your filters and the value will always reflect only the rows that are currently showing.
The second function that works pretty much exactly the same as the SUBTOTAL function is AGGREGATE. The only difference is that there is another parameter in the AGGREGATE function where you have to specify that you want to ignore hidden rows.
The first parameter is the summation function you want to use and as with SUBTOTAL, 9 represents the SUM function. The second option is where you have to type in 5 to ignore hidden rows. The last parameter is the same and is the range of cells.
You can also read my article on summary functions to learn how to use the AGGREGATE function and other functions like MODE, MEDIAN, AVERAGE, etc. in more detail.
Hopefully, this article gives you a good starting point for creating and using filters in Excel. If you have any questions, feel free to post a comment. Enjoy!