「エクセルで合計値を求めたいのに、エラーが混ざっていたら合計が求められない...」
そんな疑問を持っていませんか?

・データにエラー値が含まれていると合計が求められない!
・フィルター適用後のデータを集計したい!
・非表示の行を無視して計算したい!



その場合は、ワークシート関数の「AGGREGATE関数」を
使用すると解決します!
そんな時に便利なのが「AGGREGATE関数」です。
この記事では、エクセルを使ってエラーを無視しつつ合計を求める方法を詳しくご紹介します。
さらに、AGGREGATE関数は足し算だけでなく、さまざまな集計処理を行うことができます。
最大値や平均値、カウントなどもエラーを無視して計算できるので、とても便利です。
基本的な使い方から応用的なテクニックまで、初心者の方でもすぐに実践できる内容ですので
ぜひ最後までお読みください。
【 この記事の概要 】
よく使う度 | |
難しさ | |
覚えておくと安心度 |
関数を使いこなせれば、エクセル作業が何倍も速くなり、ミスも激減します。
でも、どこから始めればいいか迷いますよね?
初心者でもわかりやすくステップアップできる本があれば、効率的にスキルを伸ばせますよ!




この記事を見てできるようになること
この記事を読めば、以下のことができるようになります。
- AGGREGATE関数の基本を理解し、自在に使用できるようになる
- AGGREGATE関数がよく使われる場面を把握する
- AGGREGATE関数の注意ポイントを確認する
- AGGREGATE関数の使用例を確認する
- AGGREGATE関数とSUBTOTAL関数の違いが分かるようになる
AGGREGATE関数の基本と概要
AGGREGATE関数は、エラー処理を行いながら合計や平均などの計算ができる便利な関数です。
具体的な機能は次の通りです。
- フィルター適用時の集計
- データをフィルターで絞り込んだ場合でも、フィルター後のデータに対して正確に合計や平均を計算します。
- 非表示行の無視
- 非表示にした行を除外し、表示されているデータだけを集計します。
- エラー処理の対応
- データ内にエラーが含まれていても、エラーを無視して計算を続行できます。
- 多様な集計方法の選択
- 引数を設定することで、合計(SUM)や平均(AVERAGE)、最大値(MAX)など、様々な集計方法を選択できます。
AGGREGATE関数の構成


- 集計方法 (必須)
- 使用したい関数を 1 ~ 19 の番号で指定します。
例えば、「SUM」や「AVERAGE」を使用することができます。
※1 ~ 19 の番号に対応する関数については、事項「集計方法の対応番号について」で説明します。
- 使用したい関数を 1 ~ 19 の番号で指定します。
- オプション (必須)
- 集計方法で指定した関数を、どのような条件で動作させるか?設定することができます。
例えば、「エラー処理」や「非表示セルを無視する」を指定できます。
※0 ~ 7 の番号に対応する関数については、事項「オプションの対応番号について」で説明します。
- 集計方法で指定した関数を、どのような条件で動作させるか?設定することができます。
- 範囲 (必須)
- 集計方法で指定した関数を使用する範囲を指定します。
- 範囲 2 以降 (任意)
- 範囲が複数ある場合は、さらに範囲を指定します。
最大 253 の範囲を指定できます。
- 範囲が複数ある場合は、さらに範囲を指定します。
より詳しい情報は、Microsoft公式 – AGGREGATE関数についてを参照してみてください。
AGGREGATE関数の「 集計方法 」の対応番号について
AGGREGATE関数は、次のような関数を選択して使用することができます。
「集計方法」の引数に対応する番号を入力して、目的の関数を実行します。
番号 | 使用する関数名 | 詳細動作 |
---|---|---|
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 | 排他的四分位数を求める |
AGGREGATE関数の「 オプション 」の対応番号について
AGGREGATE関数は、どのような条件で関数を処理するか?を選択できます。
「オプション」の引数に対応する番号を入力して、条件を指定してください。
入力番号 | 動作 |
---|---|
0 または 省略 | ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
1 | 非表示の行、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
2 | エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
3 | 非表示の行、エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。 |
4 | 何も無視しません。 |
5 | 非表示の行を無視します。 |
6 | エラー値を無視します。 |
7 | 非表示の行とエラー値を無視します。 |
AGGREGATE関数がよく使われる場面
AGGREGATE関数は、特定の条件下での集計作業において非常に有用です。
以下のような場面で特に役立ちます。
- データのフィルタリング後に集計を行いたい場合
- フィルターを適用した後のデータに対して、合計や平均を計算する際に使用されます。
- エラーが含まれているデータの集計
- データ範囲にエラー値が含まれている場合、通常のSUM関数などでは正確な計算ができません。
AGGREGATE関数を使用することでエラーを無視して集計できます。
- データ範囲にエラー値が含まれている場合、通常のSUM関数などでは正確な計算ができません。
- 非表示行を除外した集計
- 非表示にした行を除外して集計を行いたい場合に、AGGREGATE関数が便利です。
特に、データの部分的な表示・非表示を頻繁に行うシートで活用されます。
- 非表示にした行を除外して集計を行いたい場合に、AGGREGATE関数が便利です。
- 複数の条件で動作する集計が必要な場合
- エラー処理や非表示セルの無視など、複数の条件で集計を行う必要がある場合にAGGREGATE関数が役立ちます。
AGGREGATE関数の注意ポイント
AGGREGATE関数を使用する際には、いくつかの注意点があります。
以下の点に留意して使用することで、正確かつ効率的なデータ処理が可能になります。
- 対応する集計方法とオプションの組み合わせ
- AGGREGATE関数は、集計方法とオプションの組み合わせによって動作が異なります。
誤った組み合わせを指定すると、期待した結果が得られない可能性がありますので、各オプションの意味を理解した上で使用しましょう。
- AGGREGATE関数は、集計方法とオプションの組み合わせによって動作が異なります。
- ネストされた関数の処理
- AGGREGATE関数は、ネストされたSUBTOTAL関数やAGGREGATE関数を無視する設定ができますが、この設定を使用すると、意図しない結果を引き起こすことがあります。
特に複雑なシートでは、設定を慎重に確認してください。
- AGGREGATE関数は、ネストされたSUBTOTAL関数やAGGREGATE関数を無視する設定ができますが、この設定を使用すると、意図しない結果を引き起こすことがあります。
- 範囲の指定
- AGGREGATE関数を使用する際の範囲指定は、必ず正確に行いましょう。
特にフィルタリングや非表示行を考慮する場合、範囲指定のミスが集計結果に直接影響します。
- AGGREGATE関数を使用する際の範囲指定は、必ず正確に行いましょう。
- エラー処理に依存しすぎない
- AGGREGATE関数はエラーを無視することができますが、エラー自体を修正することはありません。
データの信頼性を確保するためにも、エラーの原因を確認し、可能であれば修正することが望ましいです。
- AGGREGATE関数はエラーを無視することができますが、エラー自体を修正することはありません。
AGGREGATE関数の使用例をご紹介
それでは、AGGREGATE関数の使用例を2つ紹介します。
以下に紹介する使用例は、すべてコピペしてすぐに実行できるコードです。
気になる例は、ぜひご覧いただき、実際に実行してみてください。
使用例1: エラーを無視して合計を求める
エラー(#N/A)を無視して合計を求める方法を紹介します。
例えば、このようなエクセルデータがあるとします。


合計値を求めたい場合に、範囲内にエラー値(#N/A)が含まれていると「SUM関数」では、計算することが出来ません。
計算結果も、エラー(#N/A)となってしまいます。
エラーを無視して合計を求めたい場合、次のように「AGGREGATE関数」を記述します。
=AGGREGATE(9,6,$B$2:$B$6)
引数の解説
この例では、引数を下記の通り設定しています。


- 集計方法 ⇒ 9
- 「9」は、「SUM:合計」を意味します。
※集計方法一覧をもう一度見る。
- 「9」は、「SUM:合計」を意味します。
- オプション ⇒ 6
- 「6」は、「エラー値を無視します。」を意味します。
そのため、エラーのセルを無視して合計を計算しています。
※オプション一覧をもう一度見る。
- 「6」は、「エラー値を無視します。」を意味します。
- 範囲 ⇒ $B$2:$B$6
- B2からB6までの範囲を合計します。
※このように範囲を指定する場合は、絶対参照($記号)を使用すると、オートフィルを行っても範囲がずれることはありません。
- B2からB6までの範囲を合計します。
計算結果


このように「AGGREGATE関数」を使用することで、エラーを無視して範囲内の数値を合計することができます。
使用例2: フィルターを使用してデータを絞り込んだ状態の合計
表でフィルターを使用してデータを絞り込んだ場合の合計を求める方法を紹介します。
例えば、このようなエクセルデータがあるとします。


フィルターを使用して商品名「商品A」でデータを絞り込んだ場合、「SUM関数」を使用すると、フィルターを適用した後でも、全てのデータの合計を表示してしまいます。


フィルターで非表示になった行を無視して合計値を求めたい場合、次のように記述します。
=AGGREGATE(9,3,$B$2:$B$6)
引数の解説
この例では、引数を下記の通り設定しています。


- 集計方法 ⇒ 9
- 「9」は、「SUM:合計」を意味します。
※集計方法一覧をもう一度見る。
- 「9」は、「SUM:合計」を意味します。
- オプション ⇒ 3
- 「3」は、「非表示の行、エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。」を意味します。
そのため、フィルターで非表示の行を無視して合計を計算しています。
※オプション一覧をもう一度見る。
- 「3」は、「非表示の行、エラー値、ネストされた SUBTOTAL 関数と AGGREGATE 関数を無視します。」を意味します。
- 範囲 ⇒ $B$2:$B$6
- B2からB6までの範囲を合計します。
※このように範囲を指定する場合は、絶対参照($記号)を使用すると、オートフィルを行っても範囲がずれることはありません。
- B2からB6までの範囲を合計します。
計算結果


このように「AGGREGATE関数」を使用することで、フィルターを適用しても、範囲内の合計値を常に変化させながら確認することができます。
AGGREGATE関数 と SUBTOTAL関数との比較
AGGREGATE関数と同様の処理を行うことができる関数に「SUBTOTAL関数」があります。
先ほど行った「使用例2: 表でフィルターを使用してデータを絞り込んだ場合」については、SUBTOTAL関数を使用しても処理が可能です。
その場合、SUBTOTAL関数では次のように記述します。
=SUBTOTAL(9,$B$2:$B$6)
計算結果


AGGREGATE関数 と SUBTOTAL関数 の違いを解説
では、この2つの関数は何が違うのか?というと以下の通りです。
- AGGREGATE関数
- エラー処理も可能
- AGGREGATE関数は、エラー値が含まれるデータに対して、エラーを無視して集計を行うことができます。
この機能により、エラーが含まれる範囲でも正確な結果を得ることができます。- 多機能
- AGGREGATE関数は、「SUM」や「AVERAGE」などの基本的な集計だけでなく、様々な集計方法(例えば最大値や標準偏差の計算)に対応しており、より柔軟な使用が可能です。
- SUBTOTAL関数
- エラー処理はできない
- SUBTOTAL関数は、エラー処理に対応していません。
データにエラーが含まれている場合、そのエラーが結果に影響を与えてしまいます。
例えば、エラー値を含む範囲でSUMを使用すると、計算結果がエラーとなります。
※本記事の「使用例1: エラーを無視して合計を求める」は、SUBTOTAL関数では処理できません。- シンプルで使いやすい
- SUBTOTAL関数は、機能が限定されている分、シンプルで直感的に使いやすいという利点があります。
特にエラー処理が不要な場合には、簡単に使用できるため、多くの場面で利用されています。
結果: AGGREGATE関数 と SUBTOTAL関数は、どちらを使用するべきか?
どちらを使用するかは、状況によりますが、次の使い分けがおすすめです。
- AGGREGATE関数
- エラー処理が必要な場合や、複数の集計方法を柔軟に使用したい場合に特に有用です。
- SUBTOTAL関数
- シンプルで使いやすいため、エラー処理が不要な基本的な集計作業に適しています。
SUBTOTAL関数については、別記事で解説を行っていますので、合わせてご覧いただけたらと思います。


AGGREGATE関数のまとめ
AGGREGATE関数は、エクセルでのエラーを無視して合計を求めるなど、多くの集計作業で非常に役立つ関数です。
この記事では、基本的な使い方から応用的なテクニックまでを詳しく解説しました。
ポイントのおさらい
- AGGREGATE関数の基本
- AGGREGATE関数は、エラーを無視しつつ、データの合計や平均を求めることができます。
⇒ 「AGGREGATE関数の基本と概要」をもう一度見る。
- AGGREGATE関数は、エラーを無視しつつ、データの合計や平均を求めることができます。
- AGGREGATE関数がよく使われる場面
- フィルター適用後のデータの集計や、非表示行を無視した集計など、さまざまな場面で役立ちます。
⇒ 「AGGREGATE関数がよく使われる場面」をもう一度見る。
- フィルター適用後のデータの集計や、非表示行を無視した集計など、さまざまな場面で役立ちます。
- AGGREGATE関数を使用するうえでの注意ポイント
- AGGREGATE関数は、集計方法とオプションの組み合わせによって動作が異なるため、設定を正しく理解して使用することが重要です。特にネストされた関数の処理や範囲指定に注意が必要です。
⇒「AGGREGATE関数の注意ポイント」をもう一度見る。
- AGGREGATE関数は、集計方法とオプションの組み合わせによって動作が異なるため、設定を正しく理解して使用することが重要です。特にネストされた関数の処理や範囲指定に注意が必要です。
- AGGREGATE関数の使用例
- AGGREGATE関数を使った具体的な例として、エラーを無視した合計の計算や、フィルターを使用したデータの合計を紹介しています。
⇒ 「AGGREGATE関数の使用例をご紹介」をもう一度見る。
- AGGREGATE関数を使った具体的な例として、エラーを無視した合計の計算や、フィルターを使用したデータの合計を紹介しています。
- AGGREGATE関数とSUBTOTAL関数の比較
- SUBTOTAL関数はシンプルで使いやすいですが、エラー処理が必要な場合にはAGGREGATE関数を使用することをお勧めします。
⇒ 「AGGREGATE関数とSUBTOTAL関数との比較」もう一度見る。
- SUBTOTAL関数はシンプルで使いやすいですが、エラー処理が必要な場合にはAGGREGATE関数を使用することをお勧めします。
さらに学ぶために
VBA(Visual Basic for Applications)を使用することで、AGGREGATE関数と同様の処理を自動化することが可能です。
関数からさらにステップアップしたい場合には、VBAを使用してみるのも良いでしょう。
この記事が役に立ったと思った方は、ぜひサイトマップから違う記事もご覧ください。

