複数の統計関数や集計関数を柔軟に使い分け、エラー値や非表示セルを無視しながら集計したいときに便利なのが AGGREGATE(アグリゲート)関数 です。
この記事では、AGGREGATE関数の基本的な書式、使い方、実務で役立つ具体例を紹介します。
AGGREGATE関数とは?
AGGREGATE関数は、平均・合計・最大値・最小値・標準偏差などの統計処理を、オプション設定付きで柔軟に行える関数です。
書式
=AGGREGATE(関数番号, オプション, 範囲1, [範囲2], …)
引数の意味
- 関数番号:使用する集計関数を指定(下表参照)
- オプション:集計時に無視する内容を指定(例:エラー値、非表示セルなど)
- 範囲:集計対象のセル範囲
関数番号一覧(主要)
AGGREGATE関数の関数番号一覧
関数番号 | 関数名 | 説明 |
---|---|---|
1 | AVERAGE | 平均値を返す |
2 | COUNT | 数値が入力されているセルの個数を返す |
3 | COUNTA | 空白でないセルの個数を返す |
4 | MAX | 最大値を返す |
5 | MIN | 最小値を返す |
6 | PRODUCT | 積(掛け算の結果)を返す |
7 | STDEV.S | 標本標準偏差を返す(STDEV関数と同じ) |
8 | STDEV.P | 母集団標準偏差を返す(STDEVP関数と同じ) |
9 | SUM | 合計値を返す |
10 | VAR.S | 標本分散を返す(VAR関数と同じ) |
11 | VAR.P | 母集団分散を返す(VARP関数と同じ) |
12 | MEDIAN | 中央値を返す |
13 | MODE.SNGL | 最頻値(1つ)を返す |
14 | LARGE | n番目に大きい値を返す(nは第4引数) |
15 | SMALL | n番目に小さい値を返す(nは第4引数) |
16 | PERCENTILE.INC | 百分位数(0〜100%)を返す |
17 | QUARTILE.INC | 四分位数を返す(0〜4で指定) |
18 | PERCENTILE.EXC | 百分位数(0〜100%未満)を返す(Excel 2010以降) |
19 | QUARTILE.EXC | 四分位数を返す(Excel 2010以降) |
オプション一覧
オプション値 | 動作 |
0 または省略 | ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視 |
1 | 非表示の行、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視 |
2 | エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視 |
3 | 非表示の行、エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視 |
4 | なし(すべて含める) |
5 | 非表示の行を無視 |
6 | エラー値を無視 |
7 | 非表示の行とエラー値を無視 |
基本的な使い方
例1:非表示セルとエラー値を無視して平均を出す
=AGGREGATE(1, 3, A1:A10)
→ A1:A10の中で非表示かエラーになっているセルを除いた平均値を返す
例2:5番目に大きい値を取得(非表示無視)
=AGGREGATE(14, 1, A1:A10, 5)
→ LARGE関数のように使える(第4引数が順位)
実務での活用例
1. フィルター後の合計値計算
=AGGREGATE(9, 5, B2:B100)
→ フィルターで非表示の行を除いて合計
2. エラーを含むデータの中から最小値を取得
=AGGREGATE(5, 2, C2:C50)
→ #DIV/0!などのエラーを無視
3. 順位表示やn番目のデータ取得
=AGGREGATE(15, 0, D2:D20, 3)
→ 3番目に小さい値(SMALL)を取得
注意点
- AGGREGATEは縦方向での計算に強く、横方向には非対応
- オプション値によって無視される内容が大きく変わるので注意
- 関数番号やオプションの入力ミスによる計算エラーに注意
関連関数
関数 | 内容 |
SUBTOTAL | フィルターや非表示セルの集計に強い |
IFERROR | エラー処理と組み合わせて使える |
LARGE/SMALL | 特定順位の値を取得できる |
AVERAGE/COUNT/SUM | 一般的な集計関数 |
まとめ
AGGREGATE関数は、集計しながら特定条件のデータを無視できる柔軟な関数です。
フィルター付きデータや、エラー混在のリストなど、実務でも非常に役立ちます。