Excel関数 逆引き集 | エラーセルを無視 → AGGREGATE

Excel
スポンサーリンク

概要

集計したい範囲に #DIV/0! や #N/A などのエラーが混ざっている と、
SUM・AVERAGE・MAX などの通常関数は 1つでもエラーがあるだけで全体がエラー になります。

そんなときに便利なのが AGGREGATE 関数です。

AGGREGATE は
「どの集計をするか」+「何を無視するか」
を指定できるため、
エラーセルを完全に無視して集計 できます。

初心者でもすぐ使えるように、テンプレートと例題を交えて丁寧に解説します。


AGGREGATE の基本

書式(範囲に対する集計)

=AGGREGATE(集計方法番号, オプション番号, 範囲)

集計方法番号(よく使うもの)
1 … AVERAGE(平均)
4 … MAX(最大値)
5 … MIN(最小値)
9 … SUM(合計)
14 … LARGE(n番目に大きい値)
15 … SMALL(n番目に小さい値)

オプション番号(重要)
6 … エラー値を無視
7 … 非表示行とエラー値を無視

エラーセルを無視したいときは 6 を使います。


エラーセルを無視して合計する

SUM の代わりに AGGREGATE を使う

A2:A10 に数値とエラーが混在しているとします。

普通の SUM だとエラーがあると全体がエラーになります。

=SUM(A2:A10)

AGGREGATE ならエラーを無視して合計できます。

=AGGREGATE(9, 6, A2:A10)

動き

  • 数値 → 合計に含める
  • エラー → 完全に無視

エラーセルを無視して平均を出す

AVERAGE の代わりに AGGREGATE

=AGGREGATE(1, 6, A2:A10)
  • 数値だけで平均
  • エラーセルは存在しないものとして扱う

AVERAGEIF では対応しきれないケースでも、AGGREGATE なら一発です。


エラーセルを無視して最大値・最小値を求める

最大値(MAX)

=AGGREGATE(4, 6, A2:A10)

最小値(MIN)

=AGGREGATE(5, 6, A2:A10)

MAX/MIN はエラーが混ざるとすぐ壊れるので、
AGGREGATE の恩恵が大きい場面です。


エラーセルを無視して「n番目の大きさ」を求める

LARGE / SMALL の代わりに AGGREGATE

n番目に大きい値(LARGE 相当)

=AGGREGATE(14, 6, A2:A10, n)

n番目に小さい値(SMALL 相当)

=AGGREGATE(15, 6, A2:A10, n)

例:エラーを無視して 2番目に大きい値を求める

=AGGREGATE(14, 6, A2:A10, 2)

AGGREGATE を使うときのコツ

まずは普通の関数で書いて、エラーが出たら AGGREGATE に置き換える

SUM → AGGREGATE(9,6,範囲)
AVERAGE → AGGREGATE(1,6,範囲)
MAX → AGGREGATE(4,6,範囲)
MIN → AGGREGATE(5,6,範囲)

この置き換えパターンを覚えておくと便利です。

IFERROR(…,0) との違い

IFERROR
→ エラーを「0として扱う」

AGGREGATE
→ エラーを「完全に無視する」

どちらが正しいかは目的次第です。


例題

問題1

A2:A10 に数値とエラーが混在しています。
エラーを無視して合計を求める式を書いてください。

=AGGREGATE(9, 6, A2:A10)

問題2

A2:A10 の平均を求めたいが、エラーセルを無視したい。
AGGREGATE を使った式を書いてください。

=AGGREGATE(1, 6, A2:A10)

問題3

A2:A10 の最大値を、エラーを無視して求める式を書いてください。

=AGGREGATE(4, 6, A2:A10)

問題4

A2:A10 の中から、エラーを無視して「2番目に大きい値」を求める式を書いてください。

=AGGREGATE(14, 6, A2:A10, 2)

問題5

A2:A10 の中にエラーと非表示行が混ざっています。
エラーと非表示行の両方を無視して合計を求める式を書いてください。

=AGGREGATE(9, 7, A2:A10)

まとめ

AGGREGATE は、
「エラーセルを無視して集計したい」
という Excel の定番トラブルを一発で解決してくれる強力な関数です。

まずはこの2つを覚えておけば十分です。

=AGGREGATE(9, 6, 範囲)   ' エラーを無視した合計
=AGGREGATE(1, 6, 範囲)   ' エラーを無視した平均

あなたの表の中で「エラーが混ざって集計が壊れている」場所があれば、
ぜひ AGGREGATE に置き換えてみてください。
表が一気に安定して、扱いやすくなります。

タイトルとURLをコピーしました