KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

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

著者Xiaoyang変更日

以前のチュートリアルでは、データ範囲内の最小 n 個の値を合計する方法を解説しました本記事では、さらに高度なテクニックとして、Excel で1 つまたは複数の条件に基づいて最小 n 個の値を合計する方法をご紹介します。

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


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

たとえば、次のようなスクリーンショットに示すデータ範囲があるとします。この中から、製品「Apple」の注文の中で最も小さい金額から3 件を合計したい場合です。

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

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

{=SUM(SMALL(IF(range=criteria,values),{1,2,N}))}
Array formula, should press Ctrl + Shift + Enter keys together.
  • 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)から対応する数値を返します。一致しない場合は 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}))}
Array formula, should press Ctrl + Shift + Enter keys together.
  • Range1=criteria1 最初の条件に一致する最初のセル範囲。
  • Range2=criteria22 番目の条件に一致させるための2 番目のセル範囲。
  • Range3=criteria33 番目の条件に一致させるための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 関数を使って、経過日数ごとに請求書金額を小計する方法をご紹介します。
  • エラーを無視してすべての数値セルを合計する
  • エラー値を含む数値範囲を合計する際、通常の SUM 関数では正しく計算できません。数値のみを合計し、エラー値をスキップしたい場合は、AGGREGATE 関数を使うか、SUM 関数と IFERROR 関数を組み合わせるのが便利です。

最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

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

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。