概要
「上限設定」としての MIN 関数は、“これ以上は増やさない”という天井を数式で表現するための定番パターンです。
MIN は「指定した数値の中で最小のものを返す関数」なので、MIN(計算結果, 上限値) と書くと、「計算結果が上限を超えたら上限値で止める」という動きになります。
MIN 関数の基本と「上限設定」の考え方
MIN 関数の書式と意味
=MIN(数値1, [数値2], …)
指定した複数の数値の中から「最小値」を返します。=MIN(3, 10, -5) なら結果は -5、=MIN(A1:A10) なら範囲内の最小値を返します。
ここで「上限設定」に使うときは、ほぼ必ずこの形になります。
=MIN(計算式, 上限値)
- 計算式が上限値以下 → 計算式そのまま
- 計算式が上限値を超える → 上限値
という動きになり、「これ以上は増えない」という天井を自然に表現できます。
典型パターン1:回数や日数の上限
出勤日数 × 単価に「支給日数の上限」をかける
よくあるのが「出勤日数は 22 日だけど、支給対象は 20 日まで」といったケースです。
A2:実出勤日数、B2:1 日あたりの交通費、C2:支給対象日数の上限(例:20)とします。
このとき、支給額 D2 はこう書けます。
=MIN(A2, C2)*B2
- 実出勤日数が 18 日 →
MIN(18,20)=18→ 18 日分支給 - 実出勤日数が 22 日 →
MIN(22,20)=20→ 20 日分までしか支給しない
「実績」と「上限値」のうち小さい方を採用する、というシンプルなロジックで上限設定ができます。
典型パターン2:金額の上限(キャップ)
合計額に「最大支給額」を設定する
たとえば、A5:A10 の合計を計算しつつ、「最大でも 100 まで」としたい場合。
通常の合計は =SUM(A5:A10) ですが、上限を 100 にしたいならこうします。
=MIN(100, SUM(A5:A10))
- 合計が 80 →
MIN(100,80)=80(そのまま) - 合計が 120 →
MIN(100,120)=100(100 で頭打ち)
「結果を最大値に制限する」という意味で、MIN がそのまま“上限キャップ”として機能します。
給与やポイントの上限
昇給後の給与が A1+A2 で計算でき、ランクの上限が 350,000 円だとします。
IF で書くとこうなります。
=IF(A1+A2>350000, 350000, A1+A2)
これを MIN で書き直すと、ぐっとシンプルになります。
=MIN(A1+A2, 350000)
「計算結果」と「上限額」のうち小さい方を採用するだけなので、式の重複がなくなり、修正漏れのリスクも減ります。
応用:MAX と組み合わせて「下限+上限」
下限と上限を両方かける
「0 未満は 0、100 を超えたら 100」というように、下限と上限を同時にかけたいときは、MAX と MIN をネストします。
=MIN(上限値, MAX(下限値, 計算式))
たとえば、スコアを 0〜100 の範囲に収めたいなら:
=MIN(100, MAX(0, 計算式))
これで、
- 計算式が -5 → MAX(0,-5)=0 → MIN(100,0)=0
- 計算式が 50 → MAX(0,50)=50 → MIN(100,50)=50
- 計算式が 120 → MAX(0,120)=120 → MIN(100,120)=100
というように、「下限 0・上限 100」の範囲にきれいに収まります。
例題
問題1
A2 に「実出勤日数」、B2 に「1 日あたりの交通費」、C2 に「支給対象日数の上限(例:20)」が入っています。
「実出勤日数が上限を超えていても、支給は上限日数まで」にしたいとき、D2 にどのような式を書けばよいでしょうか。
また、A2=18、A2=22 のとき、それぞれ何日分が支給対象になるかも説明してください。
問題2
A5:A10 の合計を計算しつつ、「結果は最大でも 100 まで」にしたいとします。
このときの数式を MIN を使って書いてください。
また、合計が 80 の場合と 120 の場合、それぞれセルにはどの値が表示されるか答えてください。
問題3
昇給後の給与が A1+A2 で計算でき、現在のランクの上限給与が 350,000 円だとします。
昇給後の給与が上限を超えないようにする式を MIN で書いてください。
さらに、同じロジックを IF 関数で書いた場合との違い(式の長さや修正のしやすさ)を説明してください。
問題4
あるスコア計算の結果を、「最低 0、最大 100」に収めたいとします。
計算式が A2*B2 だとしたとき、この結果を 0〜100 の範囲に制限する式を、MIN と MAX を組み合わせて書いてください。
その式が、-5、50、120 といった値に対してどのような結果を返すかも説明してください。
問題5
次の 2 つの式は、どちらも「A2+B2」で何らかの金額を計算しています。
=A2+B2
=MIN(A2+B2, 100000)
「上限設定」という観点から、それぞれの式がどのような違いを持つか説明してください。
また、あなたが実務で「上限が決まっている手当やポイント」を扱うとしたら、どちらの書き方を採用したいか、その理由も書いてみてください。
