AGGREGATE関数は、リストまたはデータベースの集計を返します。ユーザーは、スプレッドシートの「エラー値」と「非表示の行」を無視しながら、COUNT、AVERAGE、SUM、MAX、MINなどのさまざまな集計関数をリストに適用できます。
集約関数は、特に次のような場合に役立ちます。
- データにフィルターを適用する場合、すべての値を加算する際にフィルターで非表示にされたセルを無視する場合。
- ワークシート全体にエラーの伝播を停止する場合。
- 「無効な数値を返す」のようなエラーなどを無視し、複数の数式をデータに適用した結果の平均を計算して操作する場合。
書式
AGGREGATE関数で次の書式を使用できます。
- 書式1: AGGREGATE(function_num, options, ref1, [ref2], …) -この書式は、「Function_num」引数に1~13範囲の値が含まれる場合のみ適用されます。詳細については、次の表を参照してください。
- 書式-2: AGGREGATE(function_num, options, array, k) -この書式は、「Function_num」引数に14~19範囲の値が含まれる場合のみ適用されます。詳細については、次の表を参照してください。
引数
本関数の有効な引数は次のとおりです。
引数 |
説明 |
Function_num
|
(必須)1~19範囲内の値を参照し、使用されている関数を指定します。
注意:「function_num」に1~13の範囲内の値が含まれる場合、書式がAGGREGATE(function_num, options, ref1, [ref2], …) として適用されます。また、「function_num」に14~19の範囲内の値が含まれる場合、書式がAGGREGATE(function_num, options, array, k)として適用されます。
Function_Numの値 |
関数 |
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 |
|
Options |
(必須)関数内の値を無視するオプションを指定する特定の数値を参照します。
オプション |
動作 |
0または省略 |
ネストされたSUBTOTALおよびAGGREGATE関数を無視します。 |
1 |
非表示の行、ネストされたSUBTOTALおよびAGGREGATE関数を無視します。 |
2 |
エラー値、ネストされたSUBTOTALおよびAGGREGATE関数を無視します。 |
3 |
非表示の行、エラー値、ネストされたSUBTOTALおよびAGGREGATE関数を無視します。 |
4 |
何も無視しません。 |
5 |
非表示の行を無視します。 |
6 |
エラー値を無視します。 |
7 |
非表示の行とエラー値を無視します。 |
|
Ref1 |
(必須)セル範囲への参照を指定します。 |
Ref2 |
(オプション)セル範囲への参照を指定します。 |
array |
[(必須)この引数は、上記の「function_num」引数に14~19の範囲内の値が含まれる場合のみ必要です。]配列、配列数式、またはセル範囲への参照を指定します。 |
k |
(必須)「function_num」の値が範囲14~19の場合、関数を指定するために必要です。 |
注意:AGGREGATE関数には、次の制限があります。
- 配列引数kまたはref1が指定されていない場合、#VALUE!エラーが返されます。
- 引数kが配列として指定されている場合、最初の値が使用されます。ただし、 引数kが1列のセル参照として指定されている場合、最終行の値が使用されます。 (例:{1,2,3,4}=>1、A1:A23 => A23、A1:B23 => #VALUE!, A1:C1 => #VALUE)
- 3-D参照がサポートされていません。 関数には3-D参照が使用されている場合、#VALUE!が返されます。例:「Sheet1:Sheet3!B3」は、#VALUEエラー値を返します。)
- [非表示を無視]操作では、非表示列の無視がサポートされていません。
- フィルター/非表示/グループ操作によって非表示にされた行は、無視機能をサポートします。
- 配列に計算が含まれる場合、AGGREGATE関数で非表示の行が無視されません。 (例:"=AGGREGATE(14,3,A1:A6*123,1)")
データ型
数値を含むリストまたはデータベースを受け取ります。 非表示の行とエラーを無視する際、AVERAGE、COUNT、MIN、MAXなどの集計を返します。
サンプル
次の図は、4つの異なるAGGREGATE関数を示します。
列Aにいくつかの数値、列BセルB1、B2、B3、およびB4に集計関数が適用されているスプレッドシートがあるとします。(下図を参考してください)
この場合、列Cに数式の出力と列Dに使用されている数式の説明が記載されています。
セルB1とB2のAGGREGATE関数は前述の書式1のように複数のセル参照を使用していますが、セルB3とB4の関数は前述の書式2のような配列形の関数を使用していることが確認できます。