MAXIFS関数の使い方と代用方法|複数条件一致の最大値抽出

ここでは、エクセルの「MAXIFS関数の使い方と代用方法」を解説します。

 

MAXIFS関数とはどのような関数か、使えるエクセルのバージョン、使い方と注意点、MAXIFS関数が使えない時の代替方法の説明です。

1.MAXIFS関数とは?動きを確認

始めに、MAXIFS関数とはどんな関数か、基本的な動きと、使えるエクセルのバージョンについて見てみましょう。

 

1-1.MAXIFS関数とは

MAXIFS関数とは「所定の条件または基準により指定されたセル間の最大値を返す」関数です。

 

言い換えると、「範囲内で複数の条件に合う最大値を返す」関数です。

 

なお、条件は複数指定できますが、一つでも使えます。

 

1-2.MAXIFS関数の基本的な動き

次に、MAXIFS関数の基本的な動きを見てみます。

上の表は、A列が「A」か「B」の文字列、B列が数値になっています。

 

MAXIFS関数を使うと、「A列が条件に合う中でのB列の最大値」を求めることができます。

 

例では、セルD1に「A列が『B』(青の塗りつぶしの行が該当)の中でのB列の最大値」を抽出しています。

 

このように、「指定した条件に一致する中での最大値」を抽出できるのがMAXIFS関数なのです。

 

1-3.MAXIFS関数が使えるエクセルのバージョンは?

MAXIFS関数は比較的新しい関数で、使えるのはExcel2016からとなっています。

 

つまり、2013以前にはないということですが、代替として同じことが別の関数でできます。

 

「3.MAXIFS関数が使えない時は?」で説明していますので、参考にしてください。

2.MAXIFS関数の使い方と注意点

次に、MAXIFS関数の使い方と注意点を見てみましょう。

 

2-1.数式の形は

MAXIFS関数の数式の形は、次の通りです。

=MAXIFS(最大範囲,条件範囲1,条件1,条件範囲2,条件2,…)

 

まず、最低限指定が必要なのが、「最大範囲」と「条件範囲1」、「条件1」です。

 

後は条件を増やすごとに、「条件範囲」と「条件」が足していきます。

 

(1)最大範囲

最大範囲には、「最大値を求める範囲」を1列指定します。

 

一番上と下のセル番号で「:」を挟みます。

 

例えば、B1からB5としたい場合には、「B1:B5」となります。

 

(2)条件範囲

条件範囲には、「条件の一致を確認したい範囲」を1列指定します。

 

最大範囲と同じように、一番上と下のセル番号で「:」を挟みます。

 

例えば、A1からA5としたい場合には、「A1:A5」となります。

 

(3)条件

条件には、「条件値」を指定します。

 

数値やセル番号の場合にはそのまま、文字列の場合には「"」で囲んで入力します。

 

例えば、「A」を条件値にしたい場合には、「"A"」となります。

 

2-2.数式の作り方

続いて、MAXIFS関数を使った数式の作り方です。

 

以下手順です。

 

(1)結果を表示させたいセルに、「=MAXIFS(」と入力後、「fx」ボタンを押す

 

(2)各引数を入力する

 

(3)OKボタンを押せば完了

 

なお、条件を複数指定する場合には、「条件の範囲」と「条件」をそれぞれ追加していきます。

これで複数条件になります。

 

2-3.MAXIFS関数使用の際の注意点

MAXIFS関数は、注意点が2つあります。

 

2-2-1.条件が文字列の場合には「""」を付ける

条件が文字列の場合には「"(ダブルクォーテーション)で囲む」必要があります。

上の例では条件を「B」としましたが、結果は「0」となりました。

 

前の例と比べると「""」がないのが分かると思いますが、このように条件が文字列の場合には「""」で囲まないと正しく抽出できません。

 

そして何気に注意しなければならないのは、「自動で『""』が付かない」ことです。

 

SUMIFS関数など多くの関数は、文字列を入力した場合に自動で「""」が付きますが、MAXIFS関数は自動で付かないのです。

 

ですから「""」を手入力する必要があり、ミスが出やすくなっていることに注意です。

 

2-2-2.各引数の行範囲を合わせる

各引数の行範囲は、必ず合わせるようにしましょう。

上の例では、引数「最大範囲」の行に「1~3行目」を指定しますが、他は「1~5行目」となっています。

 

これにより#VALUE!エラーが出てしまうので、全ての引数の行範囲は合わせるようにしましょう。

3.MAXIFS関数が使えない時は?

最後に、エクセルのバージョンが2013以前でMAXIFS関数が使えない時の代替方法を見てみましょう。

 

MAXIFS関数が使えない時には、代替方法として「MAX関数とIF関数を合わせて配列数式にする」ことで同じようなことができます。

 

3-1.数式の形は

数式の形は、次の通りです。

 

◎条件が1つの場合

{=MAX(IF(条件範囲=条件,最大範囲,条件がない場合))}

◎条件が2つの場合

{=MAX(IF((条件範囲1=条件1)*(条件範囲2=条件2),最大範囲,条件がない場合))}

 

MAXIFS関数の引数と比べて増えているのは、「条件がない場合」です。

 

文字通り、最大値がない場合に何を表示するかを指定します。

 

多くの場合で空白にするのがいいと思いますので、「""」と入れてあげるとよいでしょう。

 

他の引数は、MAXIFS関数と同じです。

 

なお、「{}」は手入力ではなく、あるキー操作をすることで付きます。

 

付け方は、この後説明します。

 

3-2.数式の作り方

数式の作り方は次の通りです。

 

(1)結果を表示させたいセルに、次の数式を貼り付ける

◎条件が1つの場合

=MAX(IF(条件範囲=条件,最大範囲,条件がない場合))

◎条件が2つの場合

=MAX(IF((条件範囲1=条件1)*(条件範囲2=条件2),最大範囲,条件がない場合))

 

(2)各引数の文字を消して入力する

 

(3)「ctrl」キーと「shift」キーを押しながら「enter」キーを押せば完了

 

特に分かりづらいのが(3)だと思いますが、この操作で「配列数式」というものにでき、これをしないと正しくない値が返ってきます。

例では、数式が次のようになります。

{=MAX(IF(A1:A5="A",B1:B5,""))}

 

なお、複数条件の時には条件式を「*」でつなげて次のようにします。

例では、「A列が『B』、B列が『b』の中でのC列の最大値」を求めています。

 

この場合、数式は次のようになります。

{=MAX(IF((A1:A5="B")*(B1:B5="b"),C1:C5,""))}

 

このように「*」でつなげれば、複数条件を指定することができます。

 

MAXIFS関数に比べてとても面倒ですが、エクセルのバージョンが2013以前でMAXIFS関数が使えない時には代替としてこちらの方法を利用しましょう。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


MAXIFS関数に関連したページは、次の通りです。

  • MAXIFS関数 使いこなすためのポイントはこちら
Top