MAX関数とは
MAX関数とは、指定した数値の中から、最も大きい数値、いわゆる最大値を探し出すことができる関数です。
公式説明では下記のようになっています。
なので、あいうえおやABCといった文字が無視されるのはもちろん、TRUEやFALSEを1や0に読み替えることもありません。
また、一見数字に見えても、文字列として扱っている数字も無視されます。
しかし、書式が日付や時刻の場合は、実態は数値ですので、MAX関数の処理対象となります。
MAX関数の使い方
式:=MAX(数値1,数値2,・・・)
カンマ区切りで数値を入力しろと、実際に式を入力する時はガイドされます。
ですが、実際は下記のような使い方をすることがほとんどでしょうね。
式:=MAX(範囲1,範囲2,・・・)
このように、数値が入っている表を範囲選択し、必要であればカンマで区切って表を増やす感じになるかと。
MAX関数を使ってみる
まずは、案内されるがままに式を作ってみましょう。
式:=MAX(5,1,4,2,3)
5,1,4,2,3の中から、一番大きい数値が結果となっています。
そしてもちろん、数値を直に入力するのではなく、セルを参照することも可能です。
ですが、こんな使い方は面倒くさくてしかたないですよね。
そこで、参照先を範囲指定にしてしまいましょう。
式:=MAX(E:E)
一気に式がシンプルになって見やすくなりましたね。
というか、この使い方が一般的です。
そしてこの範囲指定、カンマで区切る事で範囲を追加することもできます。
カンマ区切りで範囲を追加するのも良いですが、そもそも1列ずつ選ぶのではなく、複数列まとめて範囲指定することだってできます。
負数の扱い
MAX関数では最大値を探す際、負数は0よりも小さい数値として扱います。
また、-10は-1000よりも大きい数値として扱います。
つまり、絶対値(0からの距離)ではなく、単純な比較結果による最大値を返しているということです。
↑100 ← 最大!
↑10
↑0
↑-10
↑-100
【小】
実用例
年間のエサ代帳簿の表から、一番エサ代が少なかった月の金額がいくらかを調べてみましょう。
式:=MAX(3:4)
選択範囲を3:4とすることで、3~4行目の中から最大値を探すようにしています。
その際、先頭の文字列(氏名)が含まれてしまいますが、文字は無視されるため問題ありません。
MAX関数ならではの失敗例
最小値を探し出すMIN関数ではそうそう起きないのですが、最大値を探し出すMAX関数だからこそ、たまにやってしまう失敗例があります。
タイトル行やタイトル列に、日付を含んでいる場合です。
日付や時刻は、書式を日付や時刻に設定していれば、文字列のようにも見えますが、実態は数値であり、見た目だけを化かしているのです。
そしてその実態の数値を、シリアル値と呼びます。
厄介なことに、シリアル値は大きい数値になりやすく、MAX関数の範囲に含めてしまうと、思わぬ結果になってしまうことがあるので注意しましょう。
ただ捉え方によっては、表の中から最も大きい日付を探し出せるという事にもなるので、ものは使いようですね。
仕事柄、入力した日付に、あきらかにおかしい箇所がないか(タイプミス)をチェックする時などに、よく使っています。
エラー
普通に使う分にはそうそうエラーにならない関数ですが、エラーとなるパターンが全く無いわけではないです。
マイクロソフト公式では、エラー値または数値に変換できない文字列を指定すると、エラーになります。と書かれていますが、選択範囲に文字が含まれていても、無視されるだけでエラーとまではならないので、よほどの事がない限りエラーには出会わないかと。
abcのようなアルファベットはもちろん、あいうのような平仮名でもエラーにはなりません。
そのため、一列まるごとや、一行まるごと範囲選択しても、タイトル行などによってエラーになる事はまずないので、安心して広範囲を指定することができます。
ありそうなケースとしては、MAX関数の指定先に数式が組まれていて、そこでエラーになっていると、MAX関数もつられてエラーになってしまう・・・なんて場合はありそうですね。
コメント