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

Excel で5 行ごと、または5 列ごとの平均を計算するにはどうすればよいですか?

著者シャオヤン変更日

Excel で大規模なデータセットを扱う際、5 行ごとや5 列ごとのグループ単位で平均を計算する必要が頻繁に生じます。もちろん、=AVERAGE(A1:A5)=AVERAGE(A6:A10)=AVERAGE(A11:A15)といった数式を手動で入力することも可能ですが、データが数百行・数千セルにも及ぶ場合、この方法はすぐに非現実的になってしまいます。手作業での繰り返しは時間ばかりかかり、ミスも発生しやすくなります。幸いなことに、Excel にはこの作業を自動化するための複数の方法があり、データ分析をより効率的でストレスフリーなものにしてくれます。本記事では、数式ベースのアプローチ、Excel アドイン、VBA による自動化、そしてピボットテーブル(PivotTable)テクニックなど、5 行または5 列ごとの平均を計算する実用的な手法をいくつかご紹介します。あなたのシナリオに最適な解決策をぜひ見つけてください!

数式を使って5 行ごとまたは5 列ごとの平均を計算する

Kutools for Excel で5 行ごとの平均を計算する

VBA コードで5 行ごとまたは5 列ごとの平均を計算する

PivotTable で5 行ごとの平均を計算する


数式を使って5 行ごとまたは5 列ごとの平均を計算する

標準のExcel 数式だけで、アドインやスクリプトを使わずに5 行または5 列ごとの計算を自動化できます。この方法は、分析をサポートするために単に平均値のセットを生成すればよい静的なデータセットに特に適しています。ただし、データ参照を正しく設定し、空白セルや不規則な間隔を適切に処理する必要があります。

以下の例では、列内で5 行ごとの平均を計算する方法をご紹介します。

1。結果を表示したい最初のセル(例:C2)に、次の数式を入力してください。

=AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*5,,5,))

ここで、A2はデータ列の先頭セル、C2は数式の出力セル、5は平均を計算する間隔(行数)です。実際のデータセットに合わせて、これらのセル参照を適宜調整してください。

数式を入力したら、Enterキーを押してください。すると、最初の平均値が表示されます。スクリーンショットをご確認ください。

5行ごとの平均を計算する数式を使用しているスクリーンショット

2。 数式セルを選択し、フィルハンドルを下にドラッグしてエラー値(例:#DIV/0!。これは残りのデータが5 未満の場合に表示されます)が現れるまで続けます。これにより、5 行ごとの各グループの平均が自動的に計算されます。スクリーンショットをご確認ください。

すべての結果を示すスクリーンショット

ヒントと注意点:データが完全に等しいサイズのグループに分けられない場合、IFERROR()などのエラー処理関数を使ってエラー値を非表示にできます。例:

=IFERROR(AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*5,,5,)),"")

行に沿って5 列ごとの平均を計算するには、 次の数式をA3セルに入力し、右方向にドラッグしてください。

=AVERAGE(OFFSET($A$1,,(COLUMNS($A$3:A3)-1)*5,,5))

ここで、A1は開始セル、A3は数式の出力セル、5は各グループの列数です。データレイアウトに応じてセル参照を調整してください。
数式を入力してEnterキーを押した後、エラー値が表示されるまでフィルハンドルを右にドラッグしてください。スクリーンショットをご確認ください。

5列ごとの平均を計算する数式を使用しているスクリーンショット

この数式ベースの方法は、追加ツールを使わず、素早く一時的な計算を行うのに最適です。ただし、データのサイズや形状が変更された場合は、数式やセル範囲を手動で調整する必要があり、不完全なグループの処理には注意が必要です。


Kutools for Excel で5 行ごとの平均を計算する

Kutools for Excelは、複雑な数式を使わずに頻繁に行グループの平均を計算したい場合に最適なグラフィカルなソリューションを提供します。他の行ごとに改ページを挿入およびデータページ統計機能を使えば、わずか数回のクリックでデータを簡単にセグメント化し、バッチ処理で瞬時に平均値を計算できます。この方法は、一定の間隔で繰り返し平均を適用したい場合や、ワークシート上でグループ分けを視覚的に確認したいときに特に便利です。

をダウンロードしてインストールした後 Kutools for Excel、以下の手順に従ってください。

1。「KUTOOLS PLUS」>「印刷」>「他の行ごとに改ページを挿入」をクリックしてください。スクリーンショットをご確認ください。

「指定した行数ごとに改ページ」機能を有効にしているスクリーンショット

2。「他の行ごとに改ページを挿入」ダイアログボックスで、間隔(例:5)を指定すると、5 行ごとに自動的に改ページが挿入され、Kutools がデータをスマートにセグメント化します。スクリーンショットをご覧ください。

行の間隔を指定しているスクリーンショット

3。次に、「KUTOOLS PLUS」>「印刷」>「データページ統計」をクリックしてください。スクリーンショットをご確認ください。

Kutoolsの「ページごとの小計」機能を有効にしているスクリーンショット

4。「データページ統計」ダイアログで、平均を計算したい列を選択し、「平均」を計算方法として選択してください。スクリーンショットをご確認ください。

ページごとの小計として「平均」を選択しているスクリーンショット

5。「OK」をクリックすると、Kutools が5 行ごとの間隔で平均値を含む小計行を即座に挿入します。スクリーンショットをご覧ください。

5行ごとの平均を示すスクリーンショット

Kutools for Excel を今すぐダウンロードして無料トライアル!

Kutools を使えば、数式の調整やスクリプトの記述なしに、繰り返しのデータグループ化と分析を簡単に完了できます。ただし、挿入された改ページが印刷レイアウトや表示に影響を及ぼす可能性があるため、レポートに不要な場合は使用後に削除することをおすすめします。


VBA コードで5 行ごとまたは5 列ごとの平均を計算する

大規模または常に変化するデータセットで、固定の行数または列数ごとに平均値を繰り返し計算する必要がある場合、VBA でこの処理を自動化すれば、膨大な手作業を省くことができます。VBA を使えば、データをループ処理して任意のサイズでグループ化し、各バッチの平均値を効率的に出力可能です。この方法は、高度な操作を行うユーザー、あるいは動的なデータブロックを扱うユーザーに特に適しており、ワークシートが複雑な数式で乱雑になるのを防ぎます。以下は、簡単にカスタマイズできる汎用的な VBA マクロです。

5 行ごとの平均計算を自動化する

1。「開発」>「Visual Basic」をクリックして、「Microsoft Visual Basic for Applications」ウィンドウを開きます。次に、「挿入」>「標準モジュール」をクリックし、以下のコードをモジュールに貼り付けてください。

Sub AverageEvery5Rows()
    Dim DataRange As Range
    Dim OutputCell As Range
    Dim GroupSize As Integer, i As Integer, j As Integer
    Dim LastRow As Long, StartRow As Long
    Dim SumValue As Double, CountValue As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set DataRange = Application.InputBox("Select the data range to average (single column)", xTitleId, Selection.Address, Type:=8)
    Set OutputCell = Application.InputBox("Select the first cell for output", xTitleId, , Type:=8)
    GroupSize = Application.InputBox("Enter group size (e.g. 5)", xTitleId, 5, Type:=1)
    
    On Error GoTo 0
    
    If DataRange Is Nothing Or OutputCell Is Nothing Then Exit Sub
    
    LastRow = DataRange.Rows.Count
    StartRow = 1
    i = 0
    
    Do While StartRow <= LastRow
        SumValue = 0
        CountValue = 0
        
        For j = 0 To GroupSize - 1
            If (StartRow + j) <= LastRow Then
                SumValue = SumValue + DataRange.Cells(StartRow + j, 1).Value
                CountValue = CountValue + 1
            End If
        Next j
        
        If CountValue > 0 Then
            OutputCell.Offset(i, 0).Value = SumValue / CountValue
        Else
            OutputCell.Offset(i, 0).Value = ""
        End If
        
        StartRow = StartRow + GroupSize
        i = i + 1
    Loop
End Sub

2。コードを実行するには、実行ボタン実行ボタンをクリックするか、F5キーを押してください。データ範囲(1 列)を選択し、出力の開始セルを指定して、グループサイズ(例:5)を入力すると、マクロが指定した出力列に5 行ごとの各セットの平均値を縦に並べて出力します。

同様のマクロを使って、行に沿って5 列ごとの平均を計算することもできます。

5 列ごとの平均計算を自動化する:

Sub AverageEveryNColumns()
    Dim DataRange As Range
    Dim OutputCell As Range
    Dim GroupSize As Long
    Dim totalCols As Long, totalRows As Long
    Dim startCol As Long, endCol As Long, outCol As Long
    Dim v As Variant
    Dim r As Long, c As Long
    Dim sumVal As Double, cntVal As Long
    Dim xTitleId As String
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set DataRange = Application.InputBox("Select the data range (single rows)", _
                                         xTitleId, Selection.Address, Type:=8)
    Set OutputCell = Application.InputBox("Select the first cell for output (results will spill to the right)", _
                                          xTitleId, , Type:=8)
    GroupSize = Application.InputBox("Enter group size (e.g. 5)", xTitleId, 5, Type:=1)
    On Error GoTo 0
    
    If DataRange Is Nothing Or OutputCell Is Nothing Then Exit Sub
    If GroupSize < 1 Then
        MsgBox "Group size must be >= 1.", vbExclamation
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Dim prevCalc As XlCalculation
    prevCalc = Application.Calculation
    Application.Calculation = xlCalculationManual
    
    totalCols = DataRange.Columns.Count
    totalRows = DataRange.Rows.Count
    v = DataRange.Value
    outCol = 0
    For startCol = 1 To totalCols Step GroupSize
        endCol = startCol + GroupSize - 1
        If endCol > totalCols Then endCol = totalCols
        sumVal = 0
        cntVal = 0
        For r = 1 To totalRows
            For c = startCol To endCol
                If Not IsEmpty(v(r, c)) Then
                    If IsNumeric(v(r, c)) Then
                        sumVal = sumVal + CDbl(v(r, c))
                        cntVal = cntVal + 1
                    End If
                End If
            Next c
        Next r
        If cntVal > 0 Then
            OutputCell.Offset(0, outCol).Value = sumVal / cntVal
        Else
            OutputCell.Offset(0, outCol).Value = ""
        End If
        outCol = outCol + 1
    Next startCol
CleanExit:
    Application.Calculation = prevCalc
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

PivotTable で5 行ごとの平均を計算する

5 行ごとのグループ平均を計算するもう一つの実用的な方法は、ピボットテーブルを使い、シーケンス番号またはインデックス列と組み合わせてデータをグループ化することです。この方法は、構造化されたテーブル形式のデータを扱う際に、数式やアドインに頼らず迅速かつインタラクティブに集計したいユーザーに特に役立ちます。ピボットテーブルはデータの変更を動的に処理でき、柔軟なグループ化にも対応しているため、大規模なデータセットや定期的なレポート作成タスクに最適です。

ヘルパー列とピボットテーブルを使用してこの操作を行う手順は次のとおりです。

1。データの横に「インデックス」列または「グループ」列を追加し、5 行ごとにグループをマークします。最初のデータ行()B2)に次の数式を入力してください。

=INT((ROW()-ROW($A$2))/5)+1

この数式は各行に連番でラベルを付け、5 行ごとに同じグループ番号を割り当てます。この数式をデータセットの横に下までコピーしてください。

2。データと新しいインデックス列を選択し、挿入ピボットテーブルをクリックします。すると、ピボットテーブル作成ダイアログが開くので、データ範囲を確認してピボットテーブルの配置場所を選択してください。

3。 新しく作成されたピボットテーブルのフィールド一覧で、「グループ」フィールドをエリアにドラッグし、値フィールド(例:「売上」)をエリアにドラッグします。

4。 値エリアのドロップダウンをクリックし、フィールドの設定を選択して、平均を選びます。

これで、PivotTable には元のデータの5 行ごとの平均がヘルパー列によって便利にグループ化されて表示されます。

ピボットテーブル方式の最大のメリットは、柔軟性が高く、ソースデータが変更された際にも簡単に更新できることです。ただし、ヘルパー列を追加する必要があるため、データを正確な形式のまま維持しなければならなかったり、一切変更できない状況には向かない場合があります。


関連記事:

新しい数値を入力するたびに、その列の直近5 つの値の平均を自動で求めるにはどうすればよいですか?

Excel で上位または下位の3 つの値の平均を求めるには、どうすればよいですか?


最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得