【Office シリーズ】MINIFS関数の使い方(条件付きで最小値を求める):Excel関数と切り捨てる(INT)

条件に合致したセルの最小値を求めます   

 ミン イフズ

=MINIFS(最小範囲,条件範囲1,条件1,[条件範囲2,条件2],・・・)

条件に合うセルの最小値を求める ことができます。

複数の条件を指定した場合は、AND条件として計算されます。

MINIFS関数はExcel2019,Excel for Microsoft 365で使用できます。
 

【問題4】 B列で0を除いた最小値を求めなさい。

ちなみに、=MIN(C2:C14) では 0 となってしまいます。


【問題4の解答例】


数式は =MINIFS(C3:C14,C3:C14,"<>0") となります。

条件範囲を C3:C14 として、条件を "<>0" (0と等しくない) としています。


配列数式を使う場合は、{=MIN(IF(C3:C14<>0,C3:C14))} とします。


FILTER関数を使う場合は、=MIN(FILTER(C3:C14,C3:C14<>0)) とします。

【問題3】H3:H5セルに販売店と種類が一致する組み合わせの最小値を求めなさい。

【問題3の解答例4】Excel for Microsoft365ではFILTER関数でも同じ計算が可能です。


H3セルに =MIN(FILTER($D$3:$D$13,($B$3:$B$13=F3)*($C$3:$C$13=G3))) と[Ctrl]+[Enter]で入力します。

[Shift]+[↓]キーを押して、H3:H5セルを選択して、[Ctrl]+[D]でF3セルの数式をコピーします。


ほかにもいろいろな方法がありますので エクセル関数の技:条件付きで最大値、最小値を求める をご覧ください。
 

 

【問題3】H3:H5セルに販売店と種類が一致する組み合わせの最小値を求めなさい。

 

【問題3の解答例3】MAXIFS関数がつかえない場合は配列数式を利用することができます。


H3セルに {=MIN(IF(($B$3:$B$13=F3)*($C$3:$C$13=G3),$D$3:$D$13,""))} とします。

条件は論理積で ($B$3:$B$13=F3)*($C$3:$C$13=G3) とします。

配列数式なので、=MIN(IF(($B$3:$B$13=F3)*($C$3:$C$13=G3),$D$3:$D$13,"")) と入力して、[Shift]+[Ctrl]+[Enter] で入力します。すると数式が { } でくくられた配列数式になります。

H4:H5セルへH3セルの数式をコピーします。

【問題3】H3:H5セルに販売店と種類が一致する組み合わせの最小値を求めなさい。

 

 

【問題3の解答例2】Excel for Microsoft365:Spill機能が利用できる場合

H3セルの数式は =MINIFS(D3:D13,B3:B13,F3:F5,C3:C13,G3:G5)  とします。

数式はH3セルだけに入力しますので、引数のセル範囲は相対参照でOKです。

Spillの機能でF5セルまで数式があふれ出します。
 

【問題3】H3:H5セルに販売店と種類が一致する組み合わせの最小値を求めなさい。



【問題3の解答例1】Excel2019の場合:MINIFS関数を使う

H3セルの数式は =MINIFS($D$3:$D$13,$B$3:$B$13,F3,$C$3:$C$13,G3) とします。

H3セルの数式を H4:H5セルへコピー&貼り付けして完成です。
 

【問題2】G3:G5セルに各年代の最高得点を求めなさい。ただし、50歳代は50歳以上の最大値を求めなさい。

【問題2の解答例】

30歳代の最高得点を求めるには、30歳代の条件を 30以上 40未満と設定しました。

数式は =MAXIFS(D3:D16,C3:C16,">=30",C3:C16,"<40 img="" src="/d/file/p/2021/06-28/3ab541849a097487edf8f956a490cb5d.png" >"3ab541849a097487edf8f956a490cb5d.png" "c664b65c9efcd0c5328e015c7bf9de86.png" 


一つの数式で計算したい場合、ちょっと小細工をします。

F3セルには 30 、F4セルは 40 、F5セルは 50 と入力して、表示形式を 0"歳""代" としています。

F6セルには 100と入力して、表示形式を [>80>]#, として 100 が表示されないようにしています。


G3セルの数式は =MAXIFS($D$3:$D$16,$C$3:$C$16,">="&F3,$C$3:$C$16,"<"&F4) として、下方向へ数式をコピーします。

 

条件に合致したセルの最大値を求めます

 マックス イフズ

=MAXIFS(最小範囲,条件範囲1,条件1,[条件範囲2,条件2],・・・)

条件に合うセルの最大値を求める ことができます。

複数の条件で最大値を求めることもできます。

なお、MAXIFS関数は Excel2019,Excel for Microsoft 365 で使用できます。

【問題1】F3:F5セルに各商品の最大値を求めなさい。

 

【問題1の解答例4】Filter関数を利用する方法


Microsoft365ではFILTER関数を使いことができます。

F3セルに =MAX(FILTER($C$3:$C$13,$B$3:$B$13=E3)) と[Ctrl]+[Enter]で入力します。

F3:F5セルを選択して、[Ctrl]+[D]でF3セルの数式をコピーします。

 

ほかにもいろいろな方法がありますので エクセル関数の技:条件付きで最大値、最小値を求める をご覧ください。
 

条件に合致したセルの最大値を求めます

 マックス イフズ

=MAXIFS(最小範囲,条件範囲1,条件1,[条件範囲2,条件2],・・・)

条件に合うセルの最大値を求める ことができます。

複数の条件で最大値を求めることもできます。

なお、MAXIFS関数は Excel2019,Excel for Microsoft 365 で使用できます。

【問題1】F3:F5セルに各商品の最大値を求めなさい。

 

問題1の解答例3】配列数式で計算する

MAXIFS関数がつかえない場合は配列数式を利用することができます。


F3セルに {=MAX(IF($B$3:$B$13=E3,$C$3:$C$13))} とします。

配列数式なので、=MAX(IF($B$3:$B$13=E3,$C$3:$C$13)) と入力して、[Shift]+[Ctrl]+[Enter] で入力します。すると数式が { } でくくられた配列数式になります。
 

 

条件に合致したセルの最大値を求めます

 マックス イフズ

=MAXIFS(最小範囲,条件範囲1,条件1,[条件範囲2,条件2],・・・)

条件に合うセルの最大値を求める ことができます。

複数の条件で最大値を求めることもできます。

なお、MAXIFS関数は Excel2019,Excel for Microsoft 365 で使用できます。

【問題1】F3:F5セルに各商品の最大値を求めなさい。
 

問題1の解答例2】Spill(スピル)が利用できる場合


Excel for Microsoft365 のようにSpillが利用できる環境では、F3セルに

=MAXIFS(C3:C13,B3:B13,E3:E5)

と入力します。

F3セルにだけ数式を入力しますので、引数のセル範囲は相対参照でOKです。


関数の引数を利用する場合は、

最大範囲に C3:C13

条件範囲1に B3:B13

条件1に E3

と入力します。

数式はF3セルにだけ数式を入力しますので、引数のセル範囲は相対参照でOKです。