リストまたはデータベースの集計値を返します。 AGGREGATE 関数では、非表示の行やエラー値を無視するオプションを使用して、リストやデータベースにさまざまな集計関数を適用することもできます。
書式
セル範囲形式
AGGREGATE(集計方法, オプション, 範囲 1, [範囲 2], …)
配列形式
AGGREGATE(集計方法, オプション, 配列, [k])
AGGREGATE 関数の書式には、次の引数があります。
-
集計方法 必ず指定します。 使用する関数を指定する 1 ~ 19 の番号です。
集計方法 |
関数 |
1 |
AVERAGE |
2 |
COUNT |
3 |
COUNTA |
4 |
MAX |
5 |
MIN |
6 |
PRODUCT |
7 |
STDEV.S |
8 |
STDEV.P |
9 |
SUM |
10 |
VAR.S |
11 |
VAR.P |
12 |
MEDIAN |
13 |
MODE.SNGL |
14 |
LARGE |
15 |
SMALL |
16 |
PERCENTILE.INC |
17 |
QUARTILE.INC |
18 |
PERCENTILE.EXC |
19 |
QUARTILE.EXC |
-
オプション 必ず指定します。 関数の検証範囲内の無視する値を指定する数値です。
注: 配列の引数に =AGGREGATE(14,3,A1:A100*(A1:A100>0),1) のような計算が含まれている場合、この関数では非表示の行、ネストされた小計、ネストされた集計が無視されます。
オプション |
動作 |
0 または省略 |
ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
1 |
非表示の行、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
2 |
エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
3 |
非表示の行、エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
4 |
何も無視しません。 |
5 |
非表示の行を無視します。 |
6 |
エラー値を無視します。 |
7 |
非表示の行とエラー値を無視します。 |
-
範囲 1 必ず指定します。 集計値を求めるために複数の数値引数を受け取る関数の、最初の数値引数です。
-
範囲 2,... 省略可能です。 集計値を求めるための数値引数 2 ~ 253 を指定します。
配列を受け取る関数の場合、配列、配列数式、または集計値を求めるセル範囲の参照を範囲 1 に指定します。 範囲 2 は、特定の関数に必要な 2 番目の引数を指定します。 次の関数には引数の範囲 2 が必要です。
関数 |
LARGE(配列,率) |
SMALL(範囲,順位) |
PERCENTILE.INC(配列,率) |
QUARTILE.INC(配列,戻り値) |
PERCENTILE.EXC(配列,率) |
QUARTILE.EXC(配列,戻り値) |
解説
集計方法 :
-
ワークシートのセルに AGGREGATE 関数を入力するときに集計方法引数を入力するとすぐに、引数として使用できるすべての関数の一覧が表示されます。
エラー:
-
2 番目の参照引数を指定する必要があるときにこの引数が指定されていない場合、エラー値 #VALUE! が返されます。
-
1 つ以上の参照が 3-D 参照のとき、エラー値 #VALUE! が返されます。
範囲の種類:
-
AGGREGATE 関数では、列のデータ、つまり縦方向の範囲が集計されます。 行のデータ、つまり横方向の範囲を集計するための関数ではありません。 たとえば、AGGREGATE(1, 1, 範囲 1) などのようにオプション 1 を使用して横方向の範囲を集計する場合、いずれかの列を非表示にしても合計値は変わりません。 縦方向の範囲を集計する場合は、いずれかの行を非表示にすると集計に影響します。
例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
#DIV/0! |
82 |
|
72 |
65 |
|
30 |
95 |
|
#NUM! |
63 |
|
31 |
53 |
|
96 |
71 |
|
32 |
55 |
|
81 |
83 |
|
33 |
100 |
|
53 |
91 |
|
34 |
89 |
|
数式 |
説明 |
結果 |
=AGGREGATE(4, 6, A1:A11) |
指定したセル範囲内のエラー値を無視して最大値を求めます。 |
96 |
=AGGREGATE(14, 6, A1:A11, 3) |
指定したセル範囲内のエラー値を無視して 3 番目に大きい値を求めます。 |
72 |
=AGGREGATE(15, 6, A1:A11) |
エラー値 #VALUE! が返されます。 これは、関数 (SMALL) に 2 番目の参照引数が必要で、AGGREGATE にその引数を指定する必要があるためです。 |
#VALUE! |
=AGGREGATE(12, 6, A1:A11, B1:B11) |
指定したセル範囲内のエラー値を無視してメジアンを求めます。 |
68 |
=MAX(A1:A2) |
評価対象の範囲内にエラー値があるため、エラー値を返します。 |
#DIV/0! |