2025/4/22

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

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

はじめに

エクセルで AVERAGE などの統計値を算出する関数の参照セル中に、 #div/0!#N/A などのエラー値が含まれている場合、 うまく値が算出されません。

このような場合、 AGGREGATE 関数を使用することで、エラー値を無視して統計値を算出できます。

下にサンプルのセルデータがあるので、 コピペですぐに使用できます。

使用例

以下の 全セルをコピー ボタンをクリックし、エクセルの A1 セルに貼り付けると、 H3 セルに平均値(下記の場合 19)が算出されます。

A, C, E列のデータを書き換え、 データに応じて H3セル中の参照セルを書き換えることで、 各自のデータにあわせて計算できます。

ABCDEFGHI
1データ
2XYZ平均値
3101112=AGGREGATE(1,6,A3:A5,C3:C5,E3)
420=1/0
53031
6
7
8
9
10

関数の詳細

AGGREGATE 関数は、 AVERAGE, COUNT, MAXなどの関数の代わりに使用できます(オプションで機能を切り替え)。 参照セルの中にエラー値が含まれていても、 エラー値を無視して計算が実行されます。

AGGREGATE関数

算出する統計値(集計値)と、無視する項目を指定して使用する。

第3引数以降に指定した範囲のすべてのデータを使用して計算される。
第4引数, 第5引数, ... を追加することで、計算に用いるデータを増やすことができる(省略可、最大引数253)。

例:AGGREGATE(1,6,A3:A5,C3:C5,E3)

第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