Excel の SIGN 関数で数値の正負を調べます

 sign とは「符号」という意味です。 SIGN関数 は数値がプラスかマイナスか、あるいは符号をもたないのか (0 であるのか) を判定します。引数には数値を使って

=SIGN(数値)

と書きます。数値が正のときは「 1 」、ゼロのときは「 0 」、負のときは「-1 」を返します。たとえば

=SIGN(-5)

と入力すると「-1 」が返ってきます。
 

偶数に切り下げます

 こんな関数、いったい何に使うのかと疑問に思いますけど、まあそれなりに色々と使い道はあります。実は Excel には偶数に切り上げる EVEN関数というものがありますが、偶数に切り下げる関数というものは存在していません。ここでは FLOOR関数と組み合わせて数値を偶数に切り捨てる技を紹介します。 FLOOR関数の詳しい解説はこちらのページにあります ので、気になる方は読んでおいてくださいな。ただし、以下のことは Excel 2010 以上のバージョンで導入された FLOORMATH という関数で簡単に処理できますので、 FLOORMATH のページ を参照してください。

=FLOOR(数値,2)

と入力すると数値を一番近い偶数に切り下げます。たとえば

=FLOOR(5,2)

と入力すると 5 に近い「 4 」という値が返ります。でも数値が負の場合はそのまま使えません。

=FLOOR(-5,2)

と入れるとエラーになってしまいます。 FLOOR関数は2つの引数の符号が一致している必要があるのです。なので負の値を偶数に切り下げるには

=FLOOR(-5,-2)

と入力する必要があります。すると「 - 2 」が返ります。ちなみにここでは負について、よりい小さな値(今の例では「 - 4 」)ではなく、原点に近い方の数値にすることを切り下げと定義してあります。
 そして数値の正負に関わらず、一喝して処理するときに SIGN関数 と組合わせることになります。セル A1 に入っている(正負が不明の)数値を偶数切り下げするには、少し長いですけど

=IF(SIGN(A1)>=0,FLOOR(A1,2),FLOOR(A1,-2))

というように IF で場合分けします。

SIGN(A1)>=0

は「もし A1 の数値が 0 以上であれば」という記述で、この条件を満たす場合は次の引数にあるように

FLOOR(A1,2)

という処理を行います。条件をみたさない場合は3つめの引数にある

FLOOR(A1,-2)

として負数に対する切り下げ処理を行います。

 ⇒ エクセル関数辞典トップページ

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください