部分集計(オートフィルタ再訪)
ポイント
- フィルタ機能で紹介したオートフィルタ機能を使って、テーブル表示に条件を課すことができる。
- オートフィルタによるセル表示では、全ての行は表示されずフィルタを通過した行だけが表示されるため、計算する場合には注意が必要である。
- フィルタ表示された抽出データの計算には、
SUBTOTAL
関数を使う。 - ただし、フィルタ表示を変化させると、それまでフィルタ表示に対して行っていた計算結果が変化してしまうので、作表の際にはデータ保存に対する注意が必要。
利用する関数と機能
関数名 | 記述 | 意味 |
---|---|---|
SUBTOTAL | SUBTOTAL(集計方法*, 範囲) | 指定された集計方法*(番号で指定)に従って、表示セル範囲のデータを計算した結果を返す。 |
集計方法 | 使われる関数 | 役 割 |
---|---|---|
1 | AVERAGE | 平均 |
2 | COUNT | データ数 |
3 | COUNTA | デル範囲にあるデータ数 |
4 | MAX | 最大値 |
5 | MIN | 最小値 |
6 | PRODUCT | 引数リストの積 |
7 | STDEV | セル範囲を母集団の見本とした、母集団の(不偏)標準偏差 |
8 | STDEVP | セル範囲を母集団全体とした、母集団の標準偏差 |
9 | SUM | 合計 |
10 | VAR | セル範囲を母集団の見本とした、母集団の(不偏)分散 |
11 | VARP | セル範囲を母集団全体とした、母集団の分散 |
関数名 | 記述 | 意味 |
---|---|---|
COUNT | COUNT(セル範囲のリスト) | セル範囲のリストに含まれている数値入力されているセル数を返す。 |
ここで利用する表データ:subtotal.xls
注意: Webブラウザ内で開かないで、一旦ダウンロードしてファイルとして保存してから、そのファイルをOpenしてください。
課題
- オートフィルタ機能を使って、フィルタ条件に合致するデータだけを抽出表示し、そのフィルタ表示を使って目的の計算を行う。
- 男女別に、科目別および全教科の平均、分散、合格者数を算出したい。 合格者数は(さまざまな分析を経た上で)適当に与えるとする。
- 分散には
VARP
を使う。 - たとえば、人数の総数には、
セル範囲(学生番号のセルや英語のセル)を指定して関数
COUNT(セル範囲)
で取得する( 学生番号をよ〜く眺めて 20 としてもよいが常に連番になっているか保証されないため)。 - 重要な観察:この女の英語平均 55 を求めた計算式をそのままにして、性別を男とフィルタ条件を変えると、16人の男フィルタ表示となって、しかも先ほど女の英語平均を求めたセルには 64 と表示されることに注意。何故こうなるのかを考えよ。
- 重要な注意:オートフィルタによって目的とするフィルタ表示で計算したセル結果は、別のフィルタ表示では値が変化してしまうために、計算結果の保持のために工夫が必要になることがある。
研究
- 男女あわせた全科目の平均や標準偏差を求めるにはどうすればよいか。
- 同様に、男女別の全教科の平均や分散を求めるにはどうすればよいか。