エクセルでエラー値(#div/0)を除く条件付きで統計値(平均値など)を出す方法【コピペですぐに使える】

はじめに
エクセルで AVERAGE
などの統計値を算出する関数の参照セル中に、 #div/0!
や #N/A
などのエラー値が含まれている場合、
このような場合、 AGGREGATE
関数を使用することで、エラー値を無視して統計値を算出できます。
下にサンプルのセルデータがあるので、
使用例
以下の 全セルをコピー
ボタンをクリックし、エクセルの A1
セルに貼り付けると、 H3
セルに平均値(下記の場合 19
)が算出されます。
A
, C
, E
列のデータを書き換え、 H3
セル中の参照セルを書き換えることで、
A | B | C | D | E | F | G | H | I | |
1 | データ | ||||||||
2 | X | Y | Z | 平均値 | |||||
3 | 10 | 11 | 12 | =AGGREGATE(1,6,A3:A5,C3:C5,E3) | |||||
4 | 20 | =1/0 | |||||||
5 | 30 | 31 | |||||||
6 | |||||||||
7 | |||||||||
8 | |||||||||
9 | |||||||||
10 |
関数の詳細
AGGREGATE
関数は、 AVERAGE
, COUNT
, MAX
などの関数の代わりに使用できます(オプションで機能を切り替え)。
AGGREGATE関数
算出する統計値(集計値)と、無視する項目を指定して使用する。
第3引数以降に指定した範囲のすべてのデータを使用して計算される。
第4引数, 第5引数, ... を追加することで、計算に用いるデータを増やすことができる(省略可、最大引数253)。例:
AGGREGATE(1,6,A3:A5,C3:C5,E3)
- 第1引数 (
1
): 算出する統計値(集計値)に対応する数値(必須)- 第2引数 (
6
): 無視する項目に対応する数値(必須)
第2引数の値 無視する項目 0 (or 省略) ネストされた SUBTOTAL
関数とAGGREGATE
関数1 非表示の行、ネストされた SUBTOTAL
関数とAGGREGATE
関数2 エラー値、ネストされた SUBTOTAL
関数とAGGREGATE
関数3 非表示の行、エラー値、ネストされた SUBTOTAL
関数とAGGREGATE
関数4 - 5 非表示の行 6 エラー値 7 非表示の行とエラー値
- 第3引数 (
A3:A5
): 評価するデータの範囲(必須)- 第4,5,...引数 (
C3:C5
,E3
) : 評価に追加するデータの範囲(オプション)
AVERAGE関数は離れたセルも同時に選択できる
エラーのあるセルを含む、統計値の計算では
AVERAGEIF
関数などのIF
の付いた関数を使用する方法もあります。しかしこれらは、離れたとびとびのセルを同時に選択できません。
そんなときにAGGREGATE
関数であれば、役立ちます。
AGGREGATE関数と他の関数との対応表
以下の対応表に従って、 AGGREGATE
関数に置き換えることで、
統計値 | 統計値を算出する関数 | AGGREGATE 関数 | 第1引数の値 |
---|---|---|---|
平均値 | AVERAGE(参照セル範囲) | AGGREGATE(1,6,参照セル範囲) | 1 |
数値の個数 | COUNT(参照セル範囲) | AGGREGATE(2,6,参照セル範囲) | 2 |
セルの個数(空白以外) | COUNTA(参照セル範囲) | AGGREGATE(3,6,参照セル範囲) | 3 |
最大値 | MAX(参照セル範囲) | AGGREGATE(4,6,参照セル範囲) | 4 |
最小値 | MIN(参照セル範囲) | AGGREGATE(5,6,参照セル範囲) | 5 |
積 | PRODUCT(参照セル範囲) | AGGREGATE(6,6,参照セル範囲) | 6 |
標本標準偏差 | STDEV.S(参照セル範囲) | AGGREGATE(7,6,参照セル範囲) | 7 |
母標準偏差 | STDEV.P(参照セル範囲) | AGGREGATE(8,6, 参照セル範囲) | 8 |
合計 | SUM(参照セル範囲) | AGGREGATE(9,6,参照セル範囲) | 9 |
標本分散 | VAR.S(参照セル範囲) | AGGREGATE(10,6,参照セル範囲) | 10 |
母分散 | VAR.P(参照セル範囲) | AGGREGATE(11,6,参照セル範囲) | 11 |
中央値 | MEDIAN(参照セル範囲) | AGGREGATE(12,6,参照セル範囲) | 12 |
最頻値 | MODE.SINGLE(参照セル範囲) | AGGREGATE(13,6,参照セル範囲) | 13 |
k番目に大きい値 | LARGE(参照セル範囲, k) | AGGREGATE(14,6,参照セル範囲, k) | 14 |
k番目に小さい値 | SMALL(参照セル範囲, k) | AGGREGATE(15,6,参照セル範囲, k) | 15 |
百分位値(パーセンタイル) | PERCENTILE.INC(参照セル範囲, 割合) | AGGREGATE(16,6,参照セル範囲, 割合) | 16 |
四分位値(クォータイル) | QUARTILE.INC(参照セル範囲, 順位) | AGGREGATE(17,6,参照セル範囲, 順位) | 17 |
百分位値(パーセンタイル)(範囲外) | PERCENTILE.EXC(参照セル範囲, 割合) | AGGREGATE(18,6,参照セル範囲, 割合) | 18 |
四分位値(クォータイル)(範囲外) | QUARTILE.EXC(参照セル範囲, 値, 有効桁数) | AGGREGATE(19,6,参照セル範囲, 値, 有効桁数) | 19 |