Excel で n 行ごと下方向に合計するにはどうすればよいですか?

ワークシートに長いデータ列があり、その中で5 行ごとに合計を求めるタスク(たとえば、=SUM(B2:B6)、=SUM(B7:B11) といった数式を使用)があるとします。各計算結果は、例のスクリーンショットのように別の出力列に配置します。特に大規模なデータセットでは、この操作を手動で行うと時間がかかり、ミスも起こりやすくなります。 本記事では、n 行ごとの合計を効率的かつ正確に行うための実用的なアプローチをいくつかご紹介します。取り上げるのは、数式、Kutools for Excel の便利なユーティリティ、VBA マクロ、およびピボットテーブルを使ったテクニックです。さらに、それぞれの適用シナリオやパラメーター調整、トラブルシューティングに関するガイダンスも提供し、データ集計作業をスムーズに進められるようにサポートします。以下の選択肢から、あなたのニーズに最適なソリューションをご検討ください。
Excel でKutools for Excel を使って n 行ごとに下方向に合計する
Excel で数式を使って n 行ごとに下方向に合計する
たとえば、データセット内で5 行ごとのグループを合計する必要がある場合、自動的に計算を実行する数式を簡単に構築・適用できます。この方法は柔軟性と即時性に優れ、動的データやアドインが使えない環境にも最適です。ただし、データ構造に大幅な変更が加わった場合には、数式を調整する必要が生じる場合があります。
1。最初のグループの結果を表示する空白セル(例:C2)に、次の数式を入力してください。
=SUM(OFFSET($B$2,(ROW()-ROW($B$2))*5,0,5,1)) 
ヒント:上記の数式で、B2はデータの開始セルです(実際のデータ範囲に応じて適宜変更してください)。また、5はグループサイズ(合計するブロックの行数)を表します。10 行ごとなど、他の間隔をご利用の場合は、数式内の「5」を「10」に置き換えてください。
2。数式を入力したら、フィルハンドルを下方向にドラッグして、n 行ごとのグループ合計を生成します。ゼロが表示されるまで繰り返してください。これはすべてのデータブロックが処理されたことを示します。スクリーンショットをご参照ください。

パラメーターの説明とヒント:
- OFFSET($B$2,…):参照位置をグループ化間隔の倍数分だけ下にずらします。必要に応じて、データセットの先頭セルへの絶対参照を調整してください。
- ROW()-ROW($B$2):連番インデックスを返します(最初のグループは0、2 番目のグループは1、など)。数式を正しい行からコピーし始めるか、必要に応じて調整してください。
- データ範囲を超えてグループ計算を行うと、数式の結果が「0」と表示される場合がありますが、これは正常な動作です。データの末尾に到達したことを示しているだけです。
注意:
1。場合によっては、合計結果を別の列に配置するのではなく、データ列の末尾にある n 行ブロック内(例:下図の列 C)に、データと並べて表示したいことがあります。

これを実現するには、最初の値が B1 にあり、5 行ごとに合計したい場合、C1 セルに以下の数式を入力して下にドラッグしてください。
=IF(MOD(ROW(),5),"",SUM(OFFSET(B1,,,-5))) これにより、n 行ごとに合計が表示されます。注意:この数式は、データセットがワークシートの1 行目から始まることを前提としています。データが異なる行から始まる場合は、参照を調整してください。
2。横方向のデータを n 列ごとに合計したい場合は、対象セル(例:C1)に次の数式をご利用ください。
=SUM(OFFSET($A$1,,(COLUMNS($A$3:A3)-1)*5,,5)) ここでは、A1が開始セル、A3がこの数式を入力するセル、5が合計したい列の間隔です。必要に応じて、フィルハンドルを右にドラッグしてください。詳しくは、以下のスクリーンショットをご確認ください。
![]() |
![]() |
![]() |
結果が正しくない場合は、絶対参照と相対参照を再度ご確認ください。実際のデータ位置に合わせて、グループサイズとセル参照を調整してください。
Excel でKutools for Excel を使って n 行ごとに下方向に合計する
Kutools for Excelは、数式を手動で構築することなく、n 行ごとに合計する便利な方法を提供します。大規模なデータセットや一括での小計計算が必要な場合に、特に実用的です。この機能は「改ページ」および「小計」機能を活用し、繰り返し作業を効率化するとともに、数式エラーを最小限に抑えます。なお、この方法は<Kutools アドインがインストールされているユーザーのみが利用可能です。
この方法を実装するには、以下の手順に従ってください。
1。[KUTOOLS PLUS>印刷>他の行ごとに改ページを挿入]を選択してください。スクリーンショットを参照してください。

2。[他の行ごとに改ページを挿入]ダイアログボックスで、改ページを挿入する行間隔(例:5)を指定し、[OK]をクリックします。このツールは、指定した行数ごとにデータセットに自動的に改ページを挿入します。スクリーンショットを参照してください。
![[行ごとに改ページを挿入]ダイアログボックスでオプションを設定](http://cdn.extendoffice.com/images/stories/doc-excel/sum-every-n-rows-down/doc-sum-every-n-rows-9.png)
3。次に、[KUTOOLS PLUS]>[印刷]>[データページ統計]:[データページ統計]:

4。[データページ統計]ダイアログボックスで、合計したい列見出しを選択し、必要に応じて集計方法(合計、平均など)を選びます。「OK」をクリックして続行してください。スクリーンショットを参照してください。
![[ページング小計]ダイアログボックスでオプションを設定](http://cdn.extendoffice.com/images/stories/doc-excel/sum-every-n-rows-down/doc-sum-every-n-rows-11.png)
5。これで、すべての n 行グループの合計が希望通りに出力に表示されます。スクリーンショットをご確認ください。

後で改ページを削除する必要がある場合は、KUTOOLS PLUS の印刷ドロップダウンメニューにある[すべての改ページを削除]を選択できます。小計を適用した後にデータが変更された場合は、結果を更新するためにこの手順を再度実行する必要があります。
Kutools for Excel を今すぐダウンロードして無料トライアル!
Excel で PivotTable グループ化を使って n 行ごとに下方向に合計する
ピボットテーブルによる解決策は、Excel のデータ分析ツールに慣れており、データブロックを視覚的に集計したり、必要に応じてさらに詳細な分析を行いたいユーザーにとって特に有益です。補助列を追加してグループインデックスを付与すれば、数式やマクロを使わずに n 行ごとの合計を集計できます。この方法は、グループ化されたデータを迅速に分析・提示するのに有利ですが、補助列の設定は一度だけ行えば済みます。
この方法は、期間別売上やバッチ処理、レポート用の連続データブロック集計など、さまざまなシナリオに活用できます。
手順:
- データに補助列(例:列 C)を追加し、データが行2 から始まり5 行ごとに合計したい場合は、C2 セルに次の数式を入力してください。
=INT((ROW(B2)-ROW($B$2))/5)+1 - 数式をすべての行まで下にドラッグすると、5 行ごとのブロックごとに一意のグループインデックスが自動的に作成されます。
- 次に、この新しいグループ列を含むデータセットを選択し、「挿入」>「ピボットテーブル」からピボットテーブルを挿入します。
- ピボットテーブルのフィールド一覧から、「グループ」フィールド(補助列)を「行」エリアにドラッグし、値の列を「値」エリアにドラッグして、集計方法を「合計」に設定してください。
- ピボットテーブルには、グループインデックスに基づき、n 行ごとのブロック合計が表示されます。
他の間隔でグループ化する場合は、補助列の数式内の「5」を目的の値に変更してください。データの削除や行の挿入などによって、補助列を更新し、ピボットテーブルを再読み込みする必要が生じる場合があります。結果が正しくない場合は、グループインデックスの数式および上記のフィールド一覧の設定をご確認ください。
このアプローチは、反復的なレポート作成やデータ集計、ブロック単位での結果比較に最適です。一度設定すれば、メイン計算領域に数式を維持する必要がなく、動的データセットの場合は補助列を再計算して PivotTable を更新するだけで、最新の結果が即座に反映されます。
Excel で VBA コードを使って n 行ごとに下方向に合計する
VBA マクロを使えば、n 行ごとの合計を一括で計算し、結果を指定した列や範囲に自動出力できます。これは特に、大規模なデータセットを扱う上級ユーザー向けであり、定期的かつ繰り返し実行する処理に最適です。VBA を使用することでさらに高度なカスタマイズが可能ですが、マクロを有効化し、VBA エディターの基本操作を理解している必要があります。データを誤って上書きしないよう、対象範囲と出力先を慎重に選んでください。
1。Alt + F11キーを押して、Microsoft Visual Basic for Applicationsエディターを開きます。エディターで、挿入>標準モジュールをクリックし、新しいモジュールを作成して、次のコードをモジュールウィンドウにコピーします:
Sub SumEveryNRows()
Dim srcRange As Range
Dim resultCol As Range
Dim nRows As Integer
Dim outRow As Long
Dim i As Long
Dim sumVal As Double
Dim lastRow As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set srcRange = Application.InputBox("Select the data range to sum:", xTitleId, "", Type:=8)
If srcRange Is Nothing Then Exit Sub
Set resultCol = Application.InputBox("Select the top cell where to output the results:", xTitleId, "", Type:=8)
If resultCol Is Nothing Then Exit Sub
nRows = Application.InputBox("How many rows per sum?", xTitleId, 5, Type:=1)
If nRows < 1 Then Exit Sub
lastRow = srcRange.Rows.Count
outRow = 0
For i = 1 To lastRow Step nRows
sumVal = Application.WorksheetFunction.Sum(srcRange.Cells(i, 1).Resize(Application.WorksheetFunction.Min(nRows, lastRow - i + 1), 1))
resultCol.Offset(outRow, 0).Value = sumVal
outRow = outRow + 1
Next i
End Sub 2。Excel に戻って、F8キーを押すか、「実行」をクリックしてください。
- マクロを実行すると、合計するデータ範囲(例:B2:B101)を選択するよう促されます。
- 次に、合計結果を出力する上側のセル(通常は空白列内、例:C2)を選択します。
- グループごとの行数(例:5)を入力してください。
このマクロは、n 行ごとの合計を計算し、その結果を指定した出力列に連続して書き出します。最後のグループが n 行未満の場合には、残りの行すべてを合計します。万一誤ったセルを選択してしまっても、操作をキャンセルするか、再度マクロを実行すれば OK。柔軟性が高く、繰り返し行う集計や自動化された要約作業に最適です。
ヒントとトラブルシューティング:
- 予期しない変更を防ぐため、マクロを実行する前に必ずデータをバックアップしてください。
- ワークブックでマクロが有効になっていることを、[ファイル]>[オプション]>[トラストセンター]からご確認ください。
- アクセス許可エラーが発生した場合は、ワークシートの保護設定や範囲制限を今すぐご確認ください。
関連記事:
Excel でテキストと数字で分割を含むセルを合計するには?
最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得


