KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でフィルター済みのセルやリストの平均を計算するには、どうすればよいですか?

著者ケリー変更日

AVERAGE 関数は、数値セットの平均値を素早く計算するため、日常的なExcel 作業で広く使われています。しかし、ワークシートでフィルター済みデータを扱う際、単純に AVERAGE 関数を使用すると正確な結果が得られないことがあります。なぜなら、この関数は可視行だけでなく非表示行も計算に含んでしまうからです。本記事では、Excel で可視(フィルター済み)セルまたはリストアイテムのみの平均を正しく計算する方法をご紹介します。実用的な数式ベースの解決策に加え、特別なシナリオ向けのさらに詳細なオプションもご確認いただけます。

SUBTOTAL 関数でフィルター済みデータ/リストの平均を計算

AGGREGATE 関数でフィルター済みデータ/リストの平均を計算

VBA マクロで実際に表示されているセルのみを平均


SUBTOTAL 関数でフィルター済みデータ/リストの平均を計算

フィルター済みデータセットに直接 AVERAGE 関数を適用すると、フィルターで非表示になっているセルも含めて、指定範囲内のすべてのセルの平均が計算されてしまいます。そのため、フィルター後に表示されている可視行のみの平均を求めたい場合には、誤った結果となってしまいます。こうした課題に対しては、Excel の SUBTOTAL 関数が効率的かつ正確な解決策となります。SUBTOTAL 関数は、フィルターや非表示行を自動的に考慮して計算を行うため、フィルター済み(可視)データの平均を正しく取得するのに最適です。

フィルター結果のみの平均を計算するには、以下の手順に従ってください:

  • 平均を計算したい列のフィルター済みデータすべてを含む範囲を特定します(この例では、「金額」列の値が)C12:C24にあると仮定します)。
  • 空白セルに次の数式を入力します:
=SUBTOTAL(1,C12:C24)

この数式は、制限された範囲()C12:C24)に含まれる可視セル(フィルター済み)の平均を計算します。パラメーター1は SUBTOTAL 関数に AVERAGE 関数を使用するよう指示し、SUBTOTAL 関数は自動的にフィルターで非表示になった行を無視します。

数式を入力したら、Enterキーを押してください。すると、可視行のみの平均値が即座に表示されます(下図参照):

結果セルに入力された数式

非表示またはフィルターされたセル/行/列を無視して、可視セルのみを合計/カウント/平均

通常の SUM、COUNT、または AVERAGE 関数は、フィルターや手動での非表示に関係なく、指定範囲内のすべてのセルを対象に計算を行います。こうした課題に対応する強力なソリューションとして、Kutools for Excelをご活用ください。専用のSUMVISIBLECOUNTVISIBLE、およびAVERAGEVISIBLE 関数を使えば、フィルター適用後や手動で非表示にされたセル・行・列を自動的に除外し、実際に表示されているセルのみを対象に、合計・件数・平均を簡単に算出できます。この機能により、複雑なスプレッドシートでの計算ミスを防ぎ、煩雑な数式やカスタムコードに頼るよりも大幅に時間を節約できます。


Kutools が提供する高度な関数

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


AGGREGATE 関数でフィルター済みデータ/リストの平均を計算

Excel 2010 以降をご利用の場合、AGGREGATE 関数を使えば、SUBTOTAL 関数よりもフィルター済みデータの平均計算でさらに高い柔軟性を実現できます。エラーや非表示行の処理に関する追加オプションも搭載されています。以下にその使い方をご紹介します:

  • 空白セルに次の数式を入力します(フィルター済みデータが C12:C24 にあると仮定):
=AGGREGATE(1,5, C12:C24)
  • 第1 引数()1)では、SUBTOTAL 関数と同様に AVERAGE 関数を指定します。
  • 第2 引数()5)は、AGGREGATE 関数にフィルターで非表示になった行やエラーを無視するよう指示します。

数式を入力した後、Enterキーを押すと、フィルタリング範囲内の可視行の平均が即座に表示されます。行の非表示方法や使用する集計関数に応じて調整したい場合は、第2 パラメーターを適宜変更してください。


VBA マクロで実際に表示されているセルのみを平均

より高度な要件やカスタマイズが必要な場合は、範囲を選択してください内の表示されているセル(非表示およびフィルター対象外のセル)のみを平均するシンプルな VBA マクロを使用できます。これは複数の方法でデータが非表示になっているシートで特に役立ちます。以下にその手順を示します:

  1. Excel で開発タブに移動し、Visual Basicを選択して VBA エディターを開きます。挿入標準モジュールをクリックして、新しいモジュールを作成しましょう。
  2. 次の VBA コードをモジュールウィンドウにコピー&ペーストします:
Sub AverageVisibleCells()
    Dim rng As Range
    Dim cell As Range
    Dim sum As Double
    Dim count As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to average only visible cells", xTitleId, rng.Address, Type:=8)
    
    sum = 0
    count = 0
    
    For Each cell In rng
        If Not cell.EntireRow.Hidden And cell.Rows.Hidden = False And cell.Columns.Hidden = False Then
            If cell.DisplayFormat.Hidden = False And IsNumeric(cell.Value) And cell.Value <> "" Then
                sum = sum + cell.Value
                count = count + 1
            End If
        End If
    Next cell
    
    If count > 0 Then
        MsgBox "Average of visible cells is: " & sum / count, vbInformation, xTitleId
    Else
        MsgBox "No visible numeric cells found.", vbExclamation, xTitleId
    End If
End Sub

3。VBA エディターを閉じてワークシートに戻り、Alt+F8を押してAverageVisibleCellsを選択し、実行をクリックしてください。プロンプトが表示されたら、対象のデータ範囲を選択すると、マクロが現在表示されている(フィルターや非表示でない)数値セルの平均値のみを計算・表示します。

フィルター済みデータを扱う際は、レポートの作成や更新に最も適した方法を選びましょう。SUBTOTAL 関数と AGGREGATE 関数は日常的なほとんどのシナリオに最適ですが、Kutools や VBA マクロはより高度な要件に対してさらに強力で柔軟なカスタマイズ機能を提供します。


Excel で特殊な平均を計算

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得