概要
「田中さんの売上の中で一番小さい金額は?」
「東京支店で一番小さい受注額は?」
「2024年の中で、商品Aの最小売上はいくら?」
こういう “条件付きで最小値を知りたい” ときに使うのが MINIFS 関数です。
MINIFS は、
「複数の条件をすべて満たすデータだけ」に絞り込み、
その中から 最小値だけを取り出してくれる関数 です。
SUMIFS(条件付き合計)、AVERAGEIFS(条件付き平均)、MAXIFS(条件付き最大)と並ぶ「条件付き集計」の一員です。
MINIFS の基本(書式と考え方)
書式と動き
MINIFS の基本形はこうです。
=MINIFS(最小値範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)
最初の引数は「最小値を取りたい範囲」です。
その後に「条件範囲」「条件」をセットでいくつでも追加していきます。
イメージとしては次の流れです。
最初に、条件範囲1 と 条件1 で絞り込む。
次に、条件範囲2 と 条件2 でもう一段絞り込む。
すべての条件を満たした行に対応する「最小値範囲」の中から、一番小さい値を返す。
つまり、条件はすべて AND(かつ)条件 です。
文字条件での MINIFS(担当者・支店ごとの最小値)
担当者ごとの最小売上を求める
前提の表のイメージ:
A列:担当者
B列:売上
「担当者が田中の売上のうち、一番小さい金額」を求めたいときは、次のように書きます。
=MINIFS(B2:B100, A2:A100, "田中")
B2:B100 が「最小値を取りたい範囲(売上)」です。
A2:A100 で「田中」の行だけに絞り、その行の B 列の中から最小値を返します。
支店ごとの最小売上(東京支店だけ)
A列:支店名
C列:売上
「東京支店の最小売上」を出したいときは、こうです。
=MINIFS(C2:C100, A2:A100, "東京")
A列が「東京」の行だけを対象に、C列の最小値を返します。
数値条件での MINIFS(しきい値+最小値)
一定以上の中で最小値を出す
B列:売上
「売上が 100,000 以上の行の中で、最も小さい売上」を知りたい場合。
=MINIFS(B2:B100, B2:B100, ">=100000")
B2:B100 の中から「100,000 以上」のセルだけを候補にして、その中で一番小さい値を返します。
不等号付きの条件(”>=100000″ など)は、必ず文字列として “” で囲むのがポイントです。
日付の範囲で最小値(2024年の最小売上)
A列:日付
B列:売上
「2024年の売上の中で一番小さい金額」を出したいときは、同じ日付列に上下の条件をかけます。
=MINIFS(B2:B100,
A2:A100, ">=2024/1/1",
A2:A100, "<=2024/12/31")
A列が 2024/1/1 以上、かつ 2024/12/31 以下の行だけを対象に、B列の最小値を返します。
文字+数値の複合条件で最小値を出す
担当者 × 支店 × 売上条件の最小値
A列:担当者
B列:支店
C列:売上
「担当者が田中 かつ 支店が東京 かつ 売上が 50,000 以上」の中で、一番小さい売上を知りたい場合は次のようにします。
=MINIFS(C2:C100,
A2:A100, "田中",
B2:B100, "東京",
C2:C100, ">=50000")
すべての条件を満たす行の C列だけを候補にし、その中から最小値を返します。
部分一致(“田中”を含む担当者)の最小値
担当者に「田中太郎」「山田田中」などがいて、「名前に“田中”を含む人の最小売上」を出したい場合は、ワイルドカード * を使います。
=MINIFS(C2:C100, A2:A100, "*田中*")
“田中” は「前後に何か文字がついていてもよいので、田中を含む文字列すべて」という意味です。
セル参照と組み合わせる MINIFS(柔軟に条件を変える)
担当者名をセルから指定する
A列:担当者
C列:売上
E2:担当者名(入力セル)
「E2 に入力された担当者の、最小売上」を求める式はこうなります。
=MINIFS(C2:C100, A2:A100, E2)
E2 の名前を変えるだけで、任意の担当者について「一番小さい売上」を見ることができます。
数値条件+セル参照でしきい値を変える
B列:売上
E2:基準金額
「売上が E2 以上の行だけの“最小売上”」を求めたいとき。
=MINIFS(B2:B100, B2:B100, ">="&E2)
“>=” と E2 を & で結合することで、
たとえば E2 が 100000 なら “>=100000” という条件文字列ができます。
MINIFS を使うときの注意点・コツ
最小値範囲と条件範囲の行数は必ず揃える
例えば、最小値範囲を C2:C100 にしているのに、条件範囲を A3:A101 と書いてしまうと、
1行ずれたデータを見てしまいます。
SUMIFS や AVERAGEIFS、MAXIFS と同じく、
すべての範囲の「開始行・終了行が揃っているか」を必ず確認してください。
条件はすべて AND 条件(かつ)
MINIFS に書いた条件は、すべて「かつ」で結びつきます。
担当者が田中 かつ 支店が東京 かつ 売上が 5万以上
のような「複数条件をすべて満たす」データだけが対象になります。
「A または B の最小値」といった OR 条件にしたいときは、
MINIFS を2つ書いて MIN でくるむ、などの工夫が必要です。
例として、「支店が東京 または 大阪の最小売上」を出したいなら、次のようなイメージです(考え方だけ)。
=MIN(
MINIFS(C2:C100, A2:A100, "東京"),
MINIFS(C2:C100, A2:A100, "大阪")
)
該当データが1件もないときはエラーになる
条件が厳しすぎて1行もヒットしないと、MINIFS はエラー(#DIV/0! ではなく #N/A 系)になります。
実務では IFERROR と組み合わせて「該当なし」と表示することが多いです。
=IFERROR(
MINIFS(C2:C100, A2:A100, "田中"),
"該当データなし"
)
例題
問題1
A2:A100 に担当者名、B2:B100 に売上が入っています。
「担当者が田中」の売上の中で、最小値を求める MINIFS の式を書いてください。
=MINIFS(B2:B100, A2:A100, "田中")
問題2
A2:A100 に支店名、C2:C100 に売上が入っています。
「支店が東京」の売上の中で、最小値を求める式を書いてください。
=MINIFS(C2:C100, A2:A100, "東京")
問題3
A2:A100 に日付、B2:B100 に売上が入っています。
「2024/1/1 以上 かつ 2024/12/31 以下」の日付の行の中で、売上の最小値を求める式を書いてください。
=MINIFS(B2:B100,
A2:A100, ">=2024/1/1",
A2:A100, "<=2024/12/31")
問題4
A2:A100 に担当者名、B2:B100 に支店名、C2:C100 に売上が入っています。
「担当者が田中 かつ 支店が東京」の売上の中で、最小値を求める式を書いてください。
=MINIFS(C2:C100,
A2:A100, "田中",
B2:B100, "東京")
問題5
B2:B100 に売上が入っており、E2 に基準金額が入力されています。
「売上が E2 の値以上」の行の中で最小の売上を求める MINIFS の式を書いてください。
=MINIFS(B2:B100, B2:B100, ">="&E2)
まとめ
MINIFS は、
複数の条件を同時に満たすデータだけを対象にして、
その中から 最小値だけを返す 関数です。
型はこう覚えておくと、そのまま使い回せます。
=MINIFS(最小値範囲,
条件範囲1, 条件1,
条件範囲2, 条件2, …)
SUMIFS・AVERAGEIFS・MAXIFS とセットで身につけると、
「誰の・どの支店の・どの期間の・どんな条件の最小値か?」を
Excel にそのまま聞けるようになります。
