フィルターで絞り込んだ結果だけを合計する方法は?
結論
SUBTOTAL関数(109)でフィルター適用後の可視セルのみを集計できます。AGGREGATE関数はエラー値も無視できます。
詳しい解説
フィルターで絞り込んだ可視セルのみを集計するにはSUBTOTAL関数を使用します。`=SUBTOTAL(109, C2:C100)`のように、第1引数に109(非表示行を除くSUM)を指定することで、フィルター適用後の表示行のみが合計されます。通常のSUM関数では非表示行も含めて合計されてしまいます。AGGREGATE関数を使う方法もあり、`=AGGREGATE(9, 5, C2:C100)`とすることでエラー値も無視して集計できます。オートフィルター適用後の売上合計や、手動で非表示にした行を除外した集計に使用します。第1引数の百の位が1の場合(101〜111)は非表示行も含み、百の位が0の場合(1〜11)は手動非表示のみ除外されます。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 対応 | 対応 | 対応 | 対応 | 対応 |
実務での使用例
オートフィルター適用後の売上合計
フィルターで特定の営業部や期間に絞り込んだ後、表示されている行の売上(C列)のみを合計。フィルターを変更すると自動的に再計算される
=SUBTOTAL(109, C2:C100)エラー値を無視した集計(AGGREGATE)
データにエラー値(#N/A、#DIV/0!など)が含まれていても、それを無視して平均を計算。第2引数5はエラーと非表示行を無視
=AGGREGATE(1, 5, C2:C100)