Excel のリストで最大または最小の3 件の値を合計するには、どうすればよいですか?
Excel では、数値範囲全体を合計するのは SUM 関数を使えば簡単です。しかし、ビジネスやデータ分析の現場では、データセット内の最大値や最小値の上位(または下位)数件だけを合計することがよくあります。たとえば、売上の上位3 件を集計したり、経費の下位5 件を評価したりするケースです。こうした作業を手動で行うと、特にデータ量が増えるにつれて面倒で、ミスも起こりやすくなります。幸い、Excel にはこの課題を効果的に解決するためのさまざまな方法があります。
以下では、数式による解決法、実用的なツールを活用した代替手段、高度な自動化に役立つ VBA マクロ、そしてグループ化されたデータに最適なピボットテーブルの活用法など、包括的なステップ・バイ・ステップの手法をご紹介します。それぞれのアプローチは異なる状況に適しており、あなたのニーズにぴったりの方法がきっと見つかります。
VBA コードで範囲内の最大または最小の n 件の値を合計する
PivotTable を使ってカテゴリごとの上位 n 件の値を合計する
絶対値の合計を計算しますをKutools for Excel でリスト内に![]()
数式で範囲内の最大/最小の3 件の値を合計する
Excel にはデータセットがあり、上位3 件または下位3 件の値を素早く合計したい場面があります。これはパフォーマンスレビュー、ランキング分析、あるいは外れ値に注目したいときに特に役立ちます。

この解決には2 つのよく使うもの数式手法があります:
1.LARGE 関数および SMALL 関数を使った数式:
範囲内で n 番目に大きい値を特定して合計するには、LARGE 関数を使用します。この方法は直感的で、合計する上位または下位の値の個数を変更する際にも簡単に調整できます。
空白セル(例:E1)に次の数式を入力します:
=LARGE(A1:D10,1)+LARGE(A1:D10,2)+LARGE(A1:D10,3) 数式を入力した後、Enterキーを押すと、最大3 件の値の合計が表示されます。

完了後、結果が選択したセルに表示されます。

注意事項:
- 上位5 件の値を合計するには、次のように数式を拡張します:
=LARGE(A1:D10,1)+LARGE(A1:D10,2)+LARGE(A1:D10,3)+LARGE(A1:D10,4)+LARGE(A1:D10,5) - 最小値を合計する場合は、同様の方法でSMALL 関数を使用します:
=SMALL(A1:D10,1)+SMALL(A1:D10,2)+SMALL(A1:D10,3)
この方法は n が小さい場合には有効ですが、n が大きくなると手動での拡張が煩雑になります。
2.大きな n または小さな n 向けの配列数式:
より大規模な合計には、拡張性と可読性に優れた配列数式を使用します:
セルに次のように入力します:
=SUM(LARGE(A1:D10,{1,2,3})) 次に、Ctrl + Shift + Enter(旧バージョンのExcel をご利用の場合)を押してください。これにより、上位3 件の値の合計が計算されます。必要に応じて、中かっこ内の数値を調整してください。最大の20 件の値を合計する場合は、次を試してください:
=SUM(LARGE(A1:D10,ROW(INDIRECT("1:20")))) 再度、確定にはCtrl + Shift + Enter.Excel 365 以降のバージョンでは、配列数式のサポートが強化されているため、通常の Enter キーを押すだけで十分です。「20」は必要な n に置き換えてください。同様に、最小の n 件の値を合計するには次を使用します:
=SUM(SMALL(A1:D10,{1,2,3})) =SUM(SMALL(A1:D10,ROW(INDIRECT("1:3")))) VBA コードで範囲内の最大または最小の n 件の値を合計する
上位または下位 n 件の値の合計を頻繁に取る必要がある場合や、異なるデータセットでこの処理を自動化したい場合は、VBA マクロが非常に効率的な解決策です。特に n の値が頻繁に変わるときや対象範囲が広い場合には、その威力を最大限に発揮します。
このマクロを使えば、選択した範囲から指定した最大または最小の n 件の値を合計できます。繰り返し分析が簡単になり、更新やカスタマイズもスムーズに行えます。
- 開発者ツール>Visual Basicをクリックして、VBA エディターを開きます。(「開発者ツール」が表示されない場合は、「Excel のオプション」>「リボンのユーザー設定」から有効にしてください。)
- VBA エディターで、挿入>標準モジュールを選択してください。新しいモジュールに、次のコードを貼り付けてください:
Sub SumTopOrBottomNValues()
Dim WorkRng As Range
Dim n As Integer
Dim i As Integer
Dim arr() As Double
Dim result As Double
Dim choice As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Select a range:", xTitleId, WorkRng.Address, Type:=8)
choice = Application.InputBox("Type 'L' for largest, 'S' for smallest:", xTitleId, "L", Type:=2)
n = Application.InputBox("Sum how many values? n =", xTitleId, 3, Type:=1)
If WorkRng Is Nothing Then Exit Sub
ReDim arr(1 To WorkRng.Count)
i = 1
For Each cell In WorkRng
If IsNumeric(cell.Value) Then
arr(i) = cell.Value
Else
arr(i) = 0
End If
i = i + 1
Next
If choice = "L" Or choice = "l" Then
Call BubbleSortDescending(arr)
ElseIf choice = "S" Or choice = "s" Then
Call BubbleSortAscending(arr)
Else
MsgBox "Invalid choice. Enter 'L' or 'S'."
Exit Sub
End If
result = 0
For i = 1 To WorksheetFunction.Min(n, UBound(arr))
result = result + arr(i)
Next
MsgBox "Sum of " & n & " " & IIf(choice = "L" Or choice = "l", "largest", "smallest") & " values is: " & result
End Sub
Sub BubbleSortDescending(arr() As Double)
Dim i As Integer, j As Integer, temp As Double
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) < arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
End Sub
Sub BubbleSortAscending(arr() As Double)
Dim i As Integer, j As Integer, temp As Double
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) > arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
End Sub 3.コードを貼り付けたら、
(実行)ボタンをクリックしてマクロを実行します。次の操作が求められます:
- 対象のデータ範囲を選択してください;
- 最大値を合計する場合は「L」を、最小値の場合は「S」を入力してください。
- 必要な個数 n をご入力ください。
確認後、マクロは指定した条件に基づいて合計を計算し、表示します。範囲内に数値以外の値が含まれている場合は、計算エラーを回避するため、それらはゼロとして扱われます。正確な結果を得るには、常に選択範囲が正しいことと、n に有効な数値が入力されていることをご確認ください。
PivotTable を使ってカテゴリごとの上位 n 件の値を合計する
データがカテゴリ別(例:販売地域、製品ラインなど)にグループ化されており、各グループの上位 n 件の値を合計したい場合、PivotTable の組み込み「値のフィルター」機能が強力な解決策となります。
この方法は、明確なカテゴリ列と数値列を含む表形式のデータに最適です。たとえば、各地域ごとの上位3 件の売上金額を合計したい場合などにぴったりです。
- まず、データテーブルを選択し、挿入タブからピボットテーブルを挿入します。
- PivotTable フィールド一覧で、カテゴリフィールドを「行」エリアに、数値フィールドを「値」エリアにドラッグします(集計方法が「合計」になっていることを確認してください)。
- 次に、「行ラベル」エリア内の値フィールドの横にあるドロップダウン矢印をクリックし、値のフィルター > 上位10 を選択します。
- ダイアログボックスで、「上位」を3(または任意の n)に設定し、フィルター対象フィールドを指定します。これにより、カテゴリごとに上位 n 件のみが表示されるように PivotTable が制限されます。
- その後、テーブルには各グループのフィルター済み値の合計が表示されます。
注意:PivotTable の値フィルターは、データが適切に整形され、カテゴリが一貫している場合に最も効果を発揮します。下位 n 件の値を合計したい場合は、「上位 n」ではなく「下位 n」でフィルターを適用してください。この方法なら、サマリーレポートや迅速なビジュアル分析にも柔軟に対応できます。ただし、PivotTable はデータ変更時に自動的に更新されますが、場合によっては手動での更新(テーブルを右クリック>「更新」)が必要になる点にご注意ください。
絶対値の合計を計算しますをKutools for Excel でリスト内に
リストに正の数と負の数が混在している場合、算術的な合計ではなく、すべての絶対値を合計したいことがあります。これは、大きさ(絶対値)が重要な財務や科学計算で特に役立ちます。Kutools for Excel には、この作業を効率的にこなす便利な「絶対値の合計を計算します」機能が搭載されています。

Kutools for Excel をインストール後、次のように操作してください:
1.結果を表示する空白セルを選択し、次にKutools>関数ヘルパー>関数ヘルパーをクリックします。
2.関数ヘルパーウィンドウで、フィルターチェックボックスをオンにして、検索バーに「sum」と入力します。表示された数式から「絶対値の合計を計算します」を選択し、引数入力エリアで
をクリックして範囲を指定したら、OKをクリックして確定します。
すぐに絶対値の合計が計算・表示されます。
Kutools はこのプロセスを合理化し、複雑な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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得