メインコンテンツへスキップ

条件に基づいて最小または下位Nの値を合計する (Excel)

Author: Xiaoyang Last Modified: 2025-08-06

以前のチュートリアルでは、 データ範囲内の最小のn個の値を合計する方法について説明しました。この記事では、さらに高度な操作を行います – Excelで1つまたは複数の条件に基づいて最小のn個の値を合計します。

doc-sum-bottom-n-with-criteria-1


条件に基づいて最小または下位Nの値を合計する (Excel)

以下のスクリーンショットに示すように、データ範囲があると仮定します。ここで、製品「Apple」の最小の3つの注文を合計したいと思います。

doc-sum-bottom-n-with-criteria-2

Excelで条件付きで範囲内の下位n個の値を合計するには、SUM、SMALL、およびIF関数を使用して配列数式を作成できます。一般的な構文は次のとおりです:

{=SUM(SMALL(IF(range=criteria,values),{1,2,N}))}
配列数式のため、Ctrl + Shift + Enterキーを同時に押す必要があります。
  • range=criteria: 特定の条件に一致させるセルの範囲;
  • values: 合計したい下位n個の値を含むリスト;
  • N: N番目の下位の値。

上記の問題を解決するために、次の配列数式を空白のセルに適用してください:

=SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))

そして、正しい結果を得るためにCtrl + Shift + Enterキーを同時に押してください。以下のように表示されます:

doc-sum-bottom-n-with-criteria-3


数式の説明:

=SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))

  • IF(($A$2:$A$14=D2), $B$2:$B$14): 範囲A2:A14の製品が「Apple」と等しい場合、注文リスト(B2:B14)から相対的な数値を返します。「Apple」でない場合はFALSEが表示されます。結果は次のようになります: {800;FALSE;FALSE;FALSE;1000;230;FALSE;FALSE;1600;FALSE;900;FALSE;500}。
  • SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}): このSMALL関数はFALSE値を無視し、配列内の下位3つの値を返します。したがって、結果は次のようになります: {230,500,800}。
  • SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))=SUM({230,500,800}): 最後に、SUM関数は配列内の数値を合計して結果を得ます: 1530。

ヒント: 2つ以上の条件に対処する:

2つ以上の条件に基づいて下位n個の値を合計する必要がある場合、*文字を使用してIF関数内で他の範囲と条件を追加するだけです。次のようにします:

{=SUM(SMALL(IF((range1=criteria1)*(range2=criteria2) *(range3=criteria3)…,values),{1,2,N}))}
配列数式のため、Ctrl + Shift + Enterキーを同時に押す必要があります。
  • Range1=criteria1: 最初の条件に一致させる最初のセル範囲;
  • Range2=criteria2: 2番目の条件に一致させる2番目のセル範囲;
  • Range3=criteria3: 3番目の条件に一致させる3番目のセル範囲;
  • values: 合計したい下位n個の値を含むリスト;
  • N: N番目の下位の値。

たとえば、Kerryが販売した製品「Apple」の下位3つの注文を合計したい場合、次の数式を適用してください:

=SUM(SMALL(IF(($A$2:$A$14=E2)*($B$2:$B$14=F2), $C$2:$C$14),{1,2,3}))

そして、必要な結果を得るためにCtrl + Shift + Enterキーを同時に押してください:

doc-sum-bottom-n-with-criteria-4


関連する関数:

  • SUM:
  • SUM関数は値を加算します。個々の値、セル参照、範囲、またはこれらすべての組み合わせを加算できます。
  • SMALL:
  • ExcelのSMALL関数は、昇順で並べ替えた際の位置に基づいて数値を返します。
  • IF:
  • IF関数は特定の条件をテストし、TRUEまたはFALSEに対応する値を返します。

その他の記事:

  • 最小または下位Nの値を合計する
  • Excelでは、SUM関数を使用してセル範囲を簡単に合計できます。時々、下のスクリーンショットに示すように、データ範囲内の最小または下位3、5、またはn個の数値を合計する必要があるかもしれません。このような場合、SUMPRODUCTとSMALL関数を使用してこの問題を解決できます。
  • Excelでの請求額の年齢別小計
  • 下のスクリーンショットに示すように、年齢に基づいて請求額を合計することはExcelでの一般的なタスクです。このチュートリアルでは、通常のSUMIF関数を使用して請求額を年齢別に小計する方法を示します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。