概要
「下限設定」としての MAX 関数は、“これより小さくはさせない”という床(フロア)を数式で表現するための定番パターンです。
MAX は「指定した数値の中で最大のものを返す関数」なので、MAX(下限値, 計算結果) と書くと、「計算結果が下限を下回ったら下限値に引き上げる」という動きになります。
MAX 関数の基本と「下限設定」の考え方
MAX 関数の書式と意味
=MAX(数値1, [数値2], …)
複数の数値の中から「最大値」を返します。=MAX(3, 10, -5) なら 10、=MAX(A1:A10) なら範囲内の最大値です。
下限設定に使うときは、ほぼこの形になります。
=MAX(下限値, 計算式)
ここでの動きはこうです。
- 計算式が下限値以上 → 計算式そのまま
- 計算式が下限値未満 → 下限値に引き上げ
これで「最低でもこの値」というルールを、きれいに数式に埋め込めます。
典型パターン1:最低保証・最低料金の設定
最低料金を割らないようにする
たとえば、距離に応じて料金を計算するが、「最低料金 1,000 円」は必ず取る、というケース。
A2:距離、B2:距離×単価で計算した料金(=A2*単価)とします。
「計算結果が 1,000 円未満なら 1,000 円にする」式はこう書けます。
=MAX(1000, B2)
距離が短くて B2 が 600 円でも、結果は 1,000 円。
距離が長くて B2 が 2,400 円なら、そのまま 2,400 円になります。
最低保証額のある手当
「売上に応じて手当を計算するが、最低でも 30,000 円は保証する」という場合も同じです。
売上に応じた手当が A2*0.05 で計算できるなら、下限設定付きの手当はこうです。
=MAX(30000, A2*0.05)
売上が少なくても 30,000 円、売上が大きければ 5%分がそのまま反映されます。
典型パターン2:スコアや評価の下限
評価スコアを「最低 0」にする
計算の結果がマイナスになる可能性があるスコアを、「0 未満にはしない」ようにしたいとき。
たとえば、スコアが A2-B2 で計算されるなら、下限 0 をかける式はこうです。
=MAX(0, A2-B2)
A2-B2 が 5 なら 5、-3 なら 0。
「マイナス評価は 0 に丸める」というルールを、MAX 1 つで表現できます。
合格点の“最低ライン”を設ける
「計算上の点数が 40 点未満でも、表示上は 40 点からスタートさせたい」というようなケースもあります。
計算点が C2 に入っているなら、表示用の点数はこう書けます。
=MAX(40, C2)
C2 が 28 点でも 40 点として扱い、C2 が 75 点なら 75 点のままです。
IF と比べたときのメリット
同じロジックは IF でも書けます。
=IF(計算式<下限値, 下限値, 計算式)
しかし、MAX を使うとこうなります。
=MAX(下限値, 計算式)
- 条件式(<)を書かなくてよい
- 計算式を 2 回書かなくてよい
- 「下限値と計算結果のうち大きい方」という意味が一目でわかる
というメリットがあり、数式が短く・安全になります。
応用:MIN と組み合わせて「下限+上限」
範囲を「下限〜上限」に閉じ込める
「0〜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
セル B2 に「距離に応じて計算した料金」が入っています。
料金には「最低料金 1,000 円」があり、計算結果が 1,000 円未満の場合は 1,000 円にしたいとします。
C2 に書くべき式を MAX を使って示し、その式が「B2=600」のときと「B2=2400」のとき、それぞれどんな結果になるか説明してください。
問題2
セル A2 に売上が入っており、「売上×5%」を手当として支給しますが、最低保証額を 30,000 円としたいとします。
このときの手当を B2 に計算する式を MAX で書いてください。
また、売上が 400,000 円と 500,000 円のとき、それぞれ B2 がいくらになるかも答えてください。
問題3
セル A2 に「加点」、B2 に「減点」が入っており、スコアを A2-B2 で計算します。
ただし、スコアは最低 0 点とし、マイナスにはしないルールにしたいとします。
C2 に書くべき式を MAX を使って示し、その式が「A2=10、B2=3」と「A2=5、B2=8」のとき、それぞれどんな結果になるか説明してください。
問題4
次の 2 つの式は、どちらも「計算結果に下限をかける」ことを意図しています。
=IF(A2*B2<40, 40, A2*B2)
=MAX(40, A2*B2)
この 2 つの式の違いを、「読みやすさ」「修正のしやすさ」という観点から説明してください。
あなたがシート設計をするとしたら、どちらの書き方を採用したいか、その理由も書いてみてください。
問題5
あるスコア計算 A2*B2 の結果を、「最低 0、最大 100」に収めたいとします。
この条件を満たす式を、MAX と MIN を組み合わせて書いてください。
また、その式が「A2*B2 の結果が -5、50、120」のとき、それぞれどんな値を返すかを説明してください。
