• 作成日 : 2025年8月25日

MINIFS関数の使い方:条件付き最小値を簡単に求める方法

MINIFS関数は、Microsoft 365 と Excel 2019 以降(Excel 2021/2024、Excel for the web 含む)で利用できる、条件付き最小値を求める関数です。複数の条件を指定して、その条件に合致するデータの中から条件を指定して最小値を抽出できる関数です。

例えば、特定の部署の特定の月の売上データから最小値を見つけたい場合など、ビジネスシーンで頻繁に使用されます。

本記事では、MINIFS関数の基本的な使い方から応用テクニック、よくあるエラーへの対処法まで、初心者の方でも理解できるよう詳しく解説します。

MINIFS関数とは何か

MINIFS関数は、指定した条件に合致するセル範囲の中から最小値を返す関数です。従来のMIN関数では全データから最小値を求めることしかできませんでしたが、MINIFS関数を使えば「営業部の4月の売上」のように、特定の条件を満たすデータだけを対象にできます。

この関数の最大の特徴は、複数の条件を同時に指定できることです。例えば「東京支店」かつ「2024年」かつ「売上高100万円以上」といった複雑な条件設定も可能で、データ分析の幅が大きく広がります。

MINIFS関数の基本的な使い方

MINIFS関数の基本的な構文は次のとおりです。

=MINIFS(最小値範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)

各引数の意味を詳しく見ていきましょう。最小値範囲は、最小値を求めたい数値が入力されているセル範囲を指定します。条件範囲1は、条件を適用するセル範囲を指定し、条件1では、その範囲に対する具体的な条件を設定します。

基本的な使用例

実際の使用例を見てみましょう。A列に商品名、B列に価格、C列に在庫数が入力されている表があるとします。在庫数が10個以上ある商品の中で最も安い価格を知りたい場合、次のような数式を使います。

=MINIFS(B2:B10, C2:C10, “>=10”)

この数式では、B2:B10の価格データから、C2:C10の在庫数が10以上という条件を満たすものの最小値を求めています。

複数条件の設定方法

複数の条件を組み合わせる場合は、条件範囲と条件のペアを追加していきます。例えば、商品カテゴリがD列にあり、「食品」カテゴリで在庫10個以上の商品の最低価格を求める場合は次のようになります。

=MINIFS(B2:B10, C2:C10, “>=10”, D2:D10, “食品”)

条件は最大127組まで設定可能ですが、実務では2〜3個の条件を使うケースが一般的です。

MINIFS関数の実践的な利用シーン

売上分析での活用

営業データの分析では、MINIFS関数が役立ちます。月別・担当者別の売上データから、特定の条件下での最小売上を把握することで、改善が必要な領域を特定できます。

例えば、各営業担当者の月間最低売上を部署ごとに把握したい場合、部署名を条件に設定してMINIFS関数を使用します。これにより、どの部署のどの担当者が最も低い売上実績なのかを素早く特定でき、適切なフォローアップが可能になります。

在庫管理での応用

在庫管理においても、MINIFS関数を活用できます。商品カテゴリや倉庫別に最小在庫数を把握することで、発注のタイミングを適切に判断できます。

季節商品の在庫管理では、時期を条件に加えることで、特定期間の最小在庫を確認できます。これにより、需要の変動パターンを理解し、より精度の高い在庫計画を立てることができます。

人事評価データの分析

人事部門では、部署別・職位別の評価点の最小値を把握する際にMINIFS関数を活用できます。特定の部署における最低評価点を確認することで、研修の必要性や組織の課題を発見できます。

また、勤続年数や年齢層を条件に加えることで、より詳細な分析が可能になります。例えば、入社3年目以下の社員の中で最低評価点を部署別に抽出し、新人教育の効果を検証することもできます。

MINIFS関数の応用テクニック

日付条件を使った分析

日付データを条件として使用する場合、いくつかの注意点があります。日付は内部的に数値として扱われるため、比較演算子と組み合わせて使用できます。

特定の期間内の最小値を求める場合は、DATE関数と組み合わせると便利です。例えば、2024年1月から3月までの売上最小値を求める場合、次のような数式を使います。

=MINIFS(売上範囲, 日付範囲, “>=”&DATE(2024,1,1), 日付範囲, “<“&DATE(2024,4,1))

(応用)月末を動的に使う場合:

=MINIFS(売上範囲, 日付範囲, “>=”&DATE(2024,1,1), 日付範囲, “<“&EOMONTH(DATE(2024,3,1),0)+1)

ワイルドカードを使った柔軟な条件設定

文字列の条件にはワイルドカードが使用できます。アスタリスク(*)は任意の文字列、クエスチョンマーク(?)は任意の1文字を表します。

商品名に「Pro」が含まれる商品の最低価格を求めたい場合は、ワイルドカードを使って次のように指定します。

=MINIFS(価格範囲, 商品名範囲, “*Pro*”)

セル参照で動的に部分一致にしたい場合:

=MINIFS(価格範囲, 商品名範囲, “*”&E1&”*”)

(先頭一致:”Pro*”、末尾一致:”*Pro”。* や ? を文字として検索したい場合は直前に ~ を付けてエスケープします。例 ~*)

動的な条件設定

セル参照を使って条件を動的に変更することで、より柔軟な分析が可能になります。条件をセルに入力しておき、そのセルを参照する形でMINIFS関数を構築します。

例えば、E1セルに部署名、F1セルに最小売上基準を入力し、次のような数式を作成します。

=MINIFS(売上範囲, 部署範囲, E1, 売上範囲, “>=”&F1)

これにより、E1やF1の値を変更するだけで、異なる条件での最小値を即座に確認できます。

MINIFS関数のよくあるエラーと対策

#VALUE!エラーへの対処

#VALUE! は、min_range と各 criteria_range のサイズ・形状が一致しないときに発生します。範囲指定を見直し、行数・列数をそろえてください。min_range に文字列が含まれていても、それ自体はエラーの直接原因ではありません(該当セルは無視されます)。

#DIV/0!エラーの回避

MINIFS は一致がない場合は 0 を返します。その 0 を分母に使う等で #DIV/0! が起きやすいため、結果が 0 のときの分岐を入れてください。

  • 一致件数で判定する例:
    =IF(COUNTIFS(在庫範囲,”>100″)=0,”該当データなし”, MINIFS(価格範囲, 在庫範囲, “>100”))
  • 結果 0 を直接判定する例(LET で可読性向上):
    =LET(m, MINIFS(価格範囲, 在庫範囲, “>100”), IF(m=0, “該当データなし”, m))

(注)本当にエラーを包括的に捕捉したい場合のみ IFERROR を使用し、可能なら原因別に分けて対処することを推奨します。

条件の記述ミス

比較演算子を使う際の記述ミスは頻繁に発生します。特に、演算子と数値を文字列として結合する際は、アンパサンド(&)を使用することを忘れがちです。

正しい記述例:”>=”&A1 誤った記述例:”>=A1″

また、日付の条件設定では、日付形式の違いによってエラーが発生することがあります。DATE関数を使用して明示的に日付を指定することで、このような問題を回避できます。

パフォーマンスの問題

大量のデータに対してMINIFS関数を使用すると、計算速度が遅くなることがあります。特に、複数の条件を設定した場合や、配列数式と組み合わせた場合に顕著です。

パフォーマンスを改善するには、必要最小限の範囲を指定することが重要です。また、頻繁に使用する計算結果は、別のセルに保存しておくことで再計算を避けることができます。

MINIFS関数と他の関数との組み合わせ

INDEX・MATCH関数との連携

MINIFS関数で求めた最小値に対応する他の情報を取得したい場合、INDEX・MATCH関数と組み合わせると効果的です。

例えば、最低価格の商品名を取得する場合、まずMINIFS関数で最低価格を求め、その価格に対応する商品名をINDEX・MATCH関数で検索します。

(動的配列対応:Microsoft 365/Excel 2021以降)

=INDEX(

FILTER(商品名範囲, 条件範囲=条件),

MATCH(

MINIFS(価格範囲, 条件範囲, 条件),

FILTER(価格範囲, 条件範囲=条件),0))

(XMATCHを使う場合)

=LET(

minp, MINIFS(価格範囲, 条件範囲, 条件),

p, FILTER(価格範囲, 条件範囲=条件),

n, FILTER(商品名範囲, 条件範囲=条件),

INDEX(n, XMATCH(minp, p, 0)))

(従来版:配列数式/CSE 必要)

=INDEX(商品名範囲,

MATCH(1, (価格範囲=MINIFS(価格範囲, 条件範囲, 条件))*(条件範囲=条件), 0))

COUNTIFS関数での事前確認

MINIFS関数を使用する前に、条件に合致するデータが存在するかをCOUNTIFS関数で確認することで、エラーを未然に防げます。

=IF(COUNTIFS(条件範囲, 条件)>0, MINIFS(最小値範囲, 条件範囲, 条件), “データなし”)

この方法により、より堅牢な数式を作成できます。

MINIFSは複数条件から最小値を見つける関数

MINIFS関数は、条件に基づいて最小値を求める便利な関数です。基本的な使い方をマスターすれば、売上分析や在庫管理など、様々な業務で活用できます。

複数条件の設定や日付条件の活用により、より高度な分析も可能になります。エラーへの対処法を理解し、他の関数と組み合わせることで、Excel分析の幅が大きく広がります。

実務では、データの品質管理と適切なドキュメント化を心がけることで、効率的かつ正確な分析を実現できるでしょう。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事