第十四回 Excelでゼロを含めずに最小値を求めるワザ
Excelで「最小値」を求めると言えば「MIN関数」です。
しかし、対象となるデータには0(ゼロ)が含まれているが、0(ゼロ)を除外したなかでの「最小値」を求めたいというケースは仕事をしていると発生します。
実は、「MIN関数」はこのケースには対処できません。(下図参照)
今回は、そんな時のスマートな対処方法として「SMALL」と「COUNTIF」の2つの関数を組み合わせて使用する合わせ技をご紹介します。知っておくと、少しの条件変更で、激しく業務効率を落とすことなく作業ができます。
MIN関数では、 0(ゼロ)を除外して「最小値」を求められない
左図は、店舗の電話でのお問合せの件数を表にまとめたものです。
ただし、日曜日は定休日なので問い合わせ対応をしていないためゼロを入力しています。
そのため、①に下記のような式を入力しても「最低問い合わせ件数」がゼロになってしまいます。
=MIN(D10:D39)
以下の2つの関数を組み合わせることで、“ゼロを除外した”最小値を求めることができます。
■使用する関数の確認
SMALL関数
SMALL関数は、設定した範囲の中で指定した順位で小さい(例:2番目に小さい、3番目に小さい)ものを求めることができる関数です。逆に大きいものを求めるには「LARGE」関数を使用します。
=SMALL(範囲,順位)
COUNTIF関数
COUNTIF関数は、設定した範囲の中からある検索条件に合致するセルの数を数えることができる関数です。
=COUNTIF(範囲,検索条件)
ゼロを除外した最小値を表示させるには
ゼロを除外した最小値を表示させるには、先程紹介したSMALL(スモール)関数の引数で、順位を指定する箇所にCOUNTIF(カウントイフ)関数を組み合わせて使用します。①最小値を表示したいセルを選択
②SMALL関数とCOUNTIF関数を使った下記のような式を数式バーで入力
=SMALL(D10:D39,COUNTIF
(D10:D39,0)+1)
③[Enter]キーで入力を確定させます。
同様に「最小値」を入力したいセルにはフィルコピーで数式をコピーしておきましょう。
入力した式の解説
=SMALL(D10:D39,COUNTIF(D10:D39,0)+1)①①①①①①①①①①①②②②②② ②
①は対象とするデータの範囲です。
②はCOUNTIF関数を使って範囲内にある“ゼロが入力されているセルの個数”を数えて、それに1を足した「順位」という指定を行っています。つまり、もし指定した範囲内にゼロが入力されたセルが3つある場合には、4番目に小さい数値、5つある場合には6番目に小さい数値を探してくるという意味になります。
例えば、ゼロを除外した最下位から2番目の数値を求めたければ、末尾の「+1」を「+2」に打ちかえればよいという事になります。
Excel2019以降で使えるMINIFS関数の解説動画
(※感想など頂けると嬉しいです!)
※素材の使用方法等につきましては同封の解説をご参照ください。
今回のExcelスキル:ゼロを含めずに最小値を求める方法