AGGREGATE関数の使い方|エラーを無視して集計する
※写真はイメージです
書き方はこれだけ
=AGGREGATE(集計の番号, 無視するもの, 範囲)AGGREGATEは、エラーや非表示の行を飛ばして合計・平均・最大などを出せる関数です。SUMは範囲に1つでも #N/A があると #N/A になりますが、=AGGREGATE(9,6,B2:B20) ならエラーを無視して合計します。1つ目の数字で「何をするか」、2つ目で「何を無視するか」を決めます。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
1つ目の数字(何をするか)
| 番号 | 集計 | 同じ働きの関数 |
|---|---|---|
| 1 | 平均 | AVERAGE |
| 2 | 数値の個数 | COUNT |
| 3 | 空欄以外の個数 | COUNTA |
| 4 | 最大 | MAX |
| 5 | 最小 | MIN |
| 9 | 合計 | SUM |
| 12 | 中央値 | MEDIAN |
| 14 | 大きいほうから○番目 | LARGE(4つ目に順位) |
| 15 | 小さいほうから○番目 | SMALL(4つ目に順位) |
2つ目の数字(何を無視するか)
| 番号 | 無視するもの |
|---|---|
| 5 | 非表示の行 |
| 6 | エラーの値 |
| 7 | 非表示の行とエラーの値 |
| 0(省略) | 中のSUBTOTAL・AGGREGATEだけ |
迷ったら6(エラーを無視)か7(非表示もエラーも無視)を使えば、たいていの場面で困りません。フィルターで絞り込んだ行だけを集計したいときは5か7です。
よく使う例
| やりたいこと | 式 |
|---|---|
| エラーを飛ばして合計 | =AGGREGATE(9,6,B2:B20) |
| エラーを飛ばして最大 | =AGGREGATE(4,6,B2:B20) |
| フィルターで見えている行だけの平均 | =AGGREGATE(1,5,B2:B20) |
| エラーを飛ばして2番目に大きい数 | =AGGREGATE(14,6,B2:B20,2) |
うまくいかないとき
1手で非表示にした行も入ってしまう
2つ目の数字が6(エラーだけ無視)になっています。
直し方5か7にします。
2#VALUE! になる
14や15を使ったのに、4つ目の順位を入れていません。
直し方=AGGREGATE(14,6,B2:B20,1) のように順位を足します。
サンプルファイルで試す
黄色のセルに式を入れて、「答え」のシートと比べてください。
aggregate.xlsx をダウンロード(無料・登録なし)
よくある質問
AGGREGATE関数とは?
エラーや非表示の行を無視して、合計・平均・最大などを出せる関数です。
エラーを無視して合計するには?
=AGGREGATE(9,6,範囲) です。9が合計、6がエラーを無視です。
SUBTOTALとのちがいは?
SUBTOTALは非表示の行を飛ばせますが、エラーは飛ばせません。AGGREGATEはどちらも飛ばせます。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報