Excel で5 行ごと、または5 列ごとの平均を計算するにはどうすればよいですか?
Excel で大規模なデータセットを扱う際、5 行ごとや5 列ごとのグループ単位で平均を計算する必要が頻繁に生じます。もちろん、=AVERAGE(A1:A5)、=AVERAGE(A6:A10)、=AVERAGE(A11:A15)といった数式を手動で入力することも可能ですが、データが数百行・数千セルにも及ぶ場合、この方法はすぐに非現実的になってしまいます。手作業での繰り返しは時間ばかりかかり、ミスも発生しやすくなります。幸いなことに、Excel にはこの作業を自動化するための複数の方法があり、データ分析をより効率的でストレスフリーなものにしてくれます。本記事では、数式ベースのアプローチ、Excel アドイン、VBA による自動化、そしてピボットテーブル(PivotTable)テクニックなど、5 行または5 列ごとの平均を計算する実用的な手法をいくつかご紹介します。あなたのシナリオに最適な解決策をぜひ見つけてください!
Kutools for Excel で5 行ごとの平均を計算する
数式を使って5 行ごとまたは5 列ごとの平均を計算する
標準のExcel 数式だけで、アドインやスクリプトを使わずに5 行または5 列ごとの計算を自動化できます。この方法は、分析をサポートするために単に平均値のセットを生成すればよい静的なデータセットに特に適しています。ただし、データ参照を正しく設定し、空白セルや不規則な間隔を適切に処理する必要があります。
以下の例では、列内で5 行ごとの平均を計算する方法をご紹介します。
1。結果を表示したい最初のセル(例:C2)に、次の数式を入力してください。
=AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*5,,5,)) ここで、A2はデータ列の先頭セル、C2は数式の出力セル、5は平均を計算する間隔(行数)です。実際のデータセットに合わせて、これらのセル参照を適宜調整してください。
数式を入力したら、Enterキーを押してください。すると、最初の平均値が表示されます。スクリーンショットをご確認ください。

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キーを押した後、エラー値が表示されるまでフィルハンドルを右にドラッグしてください。スクリーンショットをご確認ください。

この数式ベースの方法は、追加ツールを使わず、素早く一時的な計算を行うのに最適です。ただし、データのサイズや形状が変更された場合は、数式やセル範囲を手動で調整する必要があり、不完全なグループの処理には注意が必要です。
Kutools for Excel で5 行ごとの平均を計算する
Kutools for Excelは、複雑な数式を使わずに頻繁に行グループの平均を計算したい場合に最適なグラフィカルなソリューションを提供します。他の行ごとに改ページを挿入およびデータページ統計機能を使えば、わずか数回のクリックでデータを簡単にセグメント化し、バッチ処理で瞬時に平均値を計算できます。この方法は、一定の間隔で繰り返し平均を適用したい場合や、ワークシート上でグループ分けを視覚的に確認したいときに特に便利です。
をダウンロードしてインストールした後 Kutools for Excel、以下の手順に従ってください。
1。「KUTOOLS PLUS」>「印刷」>「他の行ごとに改ページを挿入」をクリックしてください。スクリーンショットをご確認ください。

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

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

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

5。「OK」をクリックすると、Kutools が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 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 アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得