• 作成日 : 2025年8月5日

エクセルのSIGN関数で符号判定を自動化!使い方と活用例まとめ

数値の符号を判定するなら、エクセルのSIGN関数(サイン関数)が便利です。指定した数値が正なら「1」、負なら「-1」、ゼロなら「0」を返すため、売上の増減判定や条件分岐処理が簡単にできます。

この記事では、SIGN関数の基本から応用例までわかりやすく解説します。

SIGN関数の使い方

SIGN関数の使い方はシンプルです。引数に符号を判定したい数値を指定するだけで、結果が返されます。

基本構文

=SIGN(数値)
  • 数値:符号を判定したい数値を指定します。これは直接数値や数式を入力しても良いですし、数値が入力されているセルを参照することも可能です。

具体例

以下の表で、SIGN関数の動作を確認しましょう。

数値SIGN関数の結果(符号)説明
1001正の数なので1を返します。
-50-1負の数なので-1を返します。
00ゼロなので0を返します。
12.341正の小数の場合も1を返します。
-98.76-1負の小数の場合も-1を返します。

セルに入力する場合

たとえば、セルA1に「100」と入力されている場合、B1に「=SIGN(A1)」と入力すると、「1」が返されます。同様に、A1に「-50」と入力すれば「-1」、A1に「0」と入力すれば「0」が返されます。

SIGN関数の利用シーン

SIGN関数は単独で使われるよりも、他の関数と組み合わせて真価を発揮することが多いです。ここでは、具体的な利用シーンをいくつかご紹介します。

1. 数値の増減に基づいた判定

売上データや成績データなど、数値の増減を把握したい場合にSIGN関数は非常に有効です。

例:売上の前月比を色分け表示する

前月と今月の売上データがあり、増減に応じてセルの色を変えたいとします。

売上(万円)
4月100
5月120
6月90
  1. 増減額の算出:たとえば、B3セルに5月の売上(120)、B2セルに4月の売上(100)があるとして、C3セルに「=B3-B2」と入力し、増減額を計算します(この例では「20」)。
  2. SIGN関数で符号を判定:C3セルの増減額に対して「=SIGN(C3)」を使うと、「1」が返されます。
  3. 条件付き書式と組み合わせる:このSIGN関数の結果を利用して、下記の通り条件付き書式を設定することで、増減に応じて自動的にセルの色を変えられます。
    • SIGN関数の結果が「1」なら緑(増加)
    • SIGN関数の結果が「-1」なら赤(減少)
    • SIGN関数の結果が「0」なら黄色(変化なし)

これにより、視覚的にデータの傾向を素早く把握できるようになります。

2. 条件分岐の簡素化

IF関数などと組み合わせて、条件分岐をシンプルに記述できます。

例:成績の評価を自動化する

テストの点数があり、前回のテストの得点を基準に、今回のテストの得点が増えているか減っているかを評価します。

ABCDE
1生徒名前回の得点今回の得点差分評価
2田中657510成長中
3鈴木9880-18低下中
4佐藤74740横ばい

=IF((C2-B2)=1,”成長中”,IF(SIGN(C2-B2)=-1,”低下中”,”横ばい”))

点数が前回のテストの結果よりもプラスであれば「成長中」、下降していれば「低下中」など、符号に基づく判定を加えたい場合にSIGN関数が役立ちます。

SIGN関数の応用

SIGN関数は、他の数学関数や論理関数と組み合わせることで、さらに複雑な処理を効率的に行うことが可能です。

1. 絶対値との組み合わせ

SIGN関数とABS関数(絶対値を返す関数)を組み合わせることで、数値の絶対値とその符号を別々に扱えます。

例:数値の符号を保持しつつ、絶対値の計算を行う

たとえば、計算結果の絶対値を使いたいが、元の数値の符号もどこかで考慮したい場合に利用できます。

=SIGN(A1)*ABS(A1) は、元のA1の値をそのまま返します。一見すると無駄に見えますが、複雑な計算式の中で部分的に符号だけを抽出し、その後に絶対値演算を適用するような場合に、式の可読性を高められます。

2. 配列数式での活用

Excelの上級者向けの内容になりますが、SIGN関数は配列数式と組み合わせることで、複数セルのデータを一度に処理する際にも活用できます。

例:条件に合うデータの個数を数える

特定の範囲内の正の数、負の数、ゼロの個数をそれぞれ数える場合などに、SUMPRODUCT関数やCOUNTIFS関数と組み合わせて利用できます。

たとえば、A1:A10の範囲に数値が入っているとして、正の数の個数を数えるには、以下のような数式を使用します。

=SUMPRODUCT(–(SIGN(A1:A10)=1))

この数式は、A1:A10の各セルに対してSIGN関数を適用し、結果が「1」になる場合にTRUE(真)、それ以外の場合にFALSE(偽)を返します。–(二重負演算子)はTRUEを1に、FALSEを0に変換するため、最終的に正の数の合計個数を算出できます。

3. マクロやVBAでの利用

Excel VBA(Visual Basic for Applications)でもSIGN関数は利用できます。VBAコード内で数値の符号に基づいた処理を行いたい場合に活用できます。

Sub CheckSign()

    Dim myNumber As Double

    myNumber = Range(“A1”).Value ‘ A1セルの値を取得

    Select Case Sgn(myNumber) ‘ VBAではSIGN関数ではなくSgn関数を使用します

        Case 1

            MsgBox “A1セルの値は正の数です。”

        Case -1

            MsgBox “A1セルの値は負の数です。”

        Case 0

            MsgBox “A1セルの値はゼロです。”

    End Select

End Sub

このVBAコードでは、シート上のA1セルの値を取得し、VBAのSgn関数(ExcelのSIGN関数に相当)を使って符号を判定し、その結果に応じたメッセージボックスを表示します。

SIGN関数の活用でExcelの符号判定をもっとスマートに!

ExcelのSIGN関数は、数値の符号(正・負・ゼロ)を瞬時に判定できるシンプルかつ強力な関数です。売上の増減や条件分岐の整理、条件付き書式での色分けなど、幅広い用途で活躍します。さらに、IF関数やABS関数、配列数式、VBAと組み合わせることで、より高度な処理や自動化にも対応可能です。

この記事で紹介した使い方を参考に、SIGN関数を業務に取り入れれば、Excelでのデータ分析が一段とスムーズになるでしょう。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事