Excel関数 逆引き集 | 数値の符号を返す → SIGN

Excel
スポンサーリンク

概要

SIGNは「数値の符号(向き)」を返す関数です。負なら-1、ゼロなら0、正なら1を返します。値の増減判定、トレンドの方向表示、条件分岐の簡略化、並べ替えキーの作成などで重宝します。数値以外(文字列やエラー)に対してはエラーになるため、必要に応じてIFERRORで保護します。


基本の使い方

書式

=SIGN(数値)

数値が負のときは-1、ゼロのときは0、正のときは1を返します。

判定の最小例

=SIGN(A2)   // A2<0 → -1、A2=0 → 0、A2>0 → 1

シンプルに「方向」だけ欲しいときに便利です。


具体例

増減の方向だけを知りたい

=SIGN(今年-昨年)

昨年比で増なら1、減なら-1、変化なしなら0。レポートの方向フラグに使えます。

方向に応じたアイコンや記号を表示

=CHOOSE(SIGN(B2)+2, "↓", "→", "↑")

-1→1番目(↓)、0→2番目(→)、1→3番目(↑)。視覚的に分かりやすいトレンド表示。

方向別の計算を簡略化

=IF(SIGN(C2)=-1, C2*1.05, C2*0.95)

負のときは5%上乗せ、正のときは5%割引のような分岐をコンパクトに書けます。ゼロを別扱いしたい場合はさらにIFで分けます。

並べ替えキー(負→ゼロ→正の順)

=SIGN(D2)

並べ替えのキー列に符号を置いて、まず符号で並べ、同値は別のキーで二次ソートするなどの運用が可能です。


応用テンプレート

ゼロを特別扱い(「変化なし」表示)

=IF(SIGN(B2-A2)=0, "変化なし", IF(SIGN(B2-A2)=1, "増加", "減少"))

差分の符号で「増加/減少/変化なし」を文字列化します。

符号に応じて色分け(条件付き書式)

条件付き書式の数式例(赤=負、灰=ゼロ、緑=正):

=SIGN($B2)=-1   // 赤
=SIGN($B2)=0    // 灰
=SIGN($B2)=1    // 緑

3ルールで直感的な色分けができます。

正負で重み付け(方向付きスコア)

=ABS(E2) * SIGN(E2)

絶対値の重みを保ちつつ、符号で方向(加点/減点)を与えます。既にE2が数値なら =E2 と同じですが、他の計算で正負が失われるときの再付与に使えます。

横ばいの帯(±しきい値でゼロ扱い)

=SIGN((B2-A2) - しきい値) + SIGN((B2-A2) + しきい値)

差分が±しきい値の範囲なら合計が0(横ばい判定)。しきい値を超えれば±2(増/減)になります。厳密なゼロ帯判定に使えます。


よくあるつまずきと対策

文字列や空文字でエラー

文字列や空文字に対してはSIGNはエラーになります。値が数値か不明な場合はIFERRORで保護します。

=IFERROR(SIGN(A2), 0)   // エラー時は0(中立)扱い

日付・時刻の扱い

Excelの内部では日付・時刻は数値です。SIGN(TODAY()) は正(1)になるため、日付の大小比較で方向判定をするときは差分で評価します。

=SIGN(終了日-開始日)

ゼロ付近の丸め誤差

小数の計算結果が -1.0E-12 のような極小値になると、SIGNは-1と判定します。ゼロ近傍をゼロ扱いにしたい場合はしきい値を設けてからSIGNを適用します。

=SIGN(IF(ABS(X2)<1E-9, 0, X2))

例題

問題1: 昨年A2、今年B2。増減の方向だけをC2に(1/0/-1)で表示

解答例:

=SIGN(B2-A2)

問題2: 差分の方向を「↑/→/↓」でD2に表示

解答例:

=CHOOSE(SIGN(B2-A2)+2, "↓", "→", "↑")

問題3: C2が負なら5%上乗せ、正なら5%割引、ゼロはそのままをD2に表示

解答例:

=IF(SIGN(C2)=-1, C2*1.05, IF(SIGN(C2)=1, C2*0.95, C2))

問題4: B列の数値を「負→ゼロ→正」の順で並べ替えるためのキーをC列に作成

解答例:

=SIGN(B2)

問題5: 微小誤差をゼロ扱い(しきい値=1E-6)で方向判定をE2に表示

解答例:

=SIGN(IF(ABS(D2)<1E-6, 0, D2))

まとめ

SIGNは数値の向きを「-1 / 0 / 1」で返す、方向判定のための最小装置です。差分と組み合わせれば増減の方向が一行で求められ、CHOOSEやIFと連携して記号・色分け・分岐を簡潔に書けます。ゼロ近傍の誤差、非数値、日付の扱いに注意しつつ、現場ロジックの軸として使うとスッキリ設計できます。

タイトルとURLをコピーしました