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

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

Author: Xiaoyang Last Modified: 2025-05-23

以前のチュートリアルでは、 データ範囲内の最小の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関数を使用して請求額を年齢別に小計する方法を示します。

最高のOffice生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

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

Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする

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