7/04/2021

Excel。算出結果が負ならゼロに置換するなら、MAX関数を使う方法もあるんです。【Replace minus with zero】

Excel。算出結果が負ならゼロに置換するなら、MAX関数を使う方法もあるんです。

<MAX関数>

最大値を算出する時に使用するのがMAX関数ですが、最大値を算出するだけにつかうのはもったいないわけです。


次のようなケースでもMAX関数を使うと、簡単に結果を算出することができます。


この表についてと、やりたいことを説明していきます。


B3の在庫数は、B1の在庫数からB2の消費予定数を減算した結果です。

800から1000を減算しますので、結果は、「-200」と算出されます。


しかし、実際の在庫で「マイナス」というのはありえません。

そこで、算出結果が負数になったらば、「0(ゼロ)」と置換したいわけです。


それが、D列です。


では、どのような計算式をつくればいいのでしょうか?


マイナスならば、「0(ゼロ)」そうでなければ、減算というように考えるはずです。

このような考え方だと、使うのは、IF関数で算出できそうです。


もし、D3にIF関数で数式をつくるとしたら、


=IF(D1-D2<0,0,D1-D2)


という数式を設定するわけです。


これで、問題はありませんが、「D1-D2」という減算する計算式を繰り返し作る必要があるわけです。

簡単な数式なので、困ることはありませんが、長い計算式だったときは、二度同じ計算式をつくるのは、ちょっと面倒ですし、ミスをする可能性も高くなります。


これに比べて、MAX関数をつかった場合、もっとシンプルな数式で、同じ結果を求めることができます。


今回D3にMAX関数をつかって設定した数式は、


=MAX(D1-D2,0)


とても、シンプルな数式ですね。

しかし、これで、先程のIF関数と同じように結果を求めることができます。


D1-D2の減算結果が、100だったら、100と0を比べて、MAX。

つまり、大きい方を算出しますので、100を返します。


D1-D2の減算結果が、-200だったら、-200と0を比べて、MAX。

つまり、大きい方を算出しますので、0を返すというわけです。


IF関数でも、問題ありませんが、可読性とか、修正しやすいなどを考えると、シンプルな数式で同じ結果を算出できるようでしたら、シンプルな数式を使ってみるというのも悪くないかもしれません。

日頃、使用している表で使っている関数の数式も、もしかしたら、別の関数を使用することでシンプルな数式にすることができるかもしれません。

何かの機会に見直してみるというのもいいかもしれませんね。