- 作成日 : 2025年8月5日
エクセルのSIGN関数で符号判定を自動化!使い方と活用例まとめ
数値の符号を判定するなら、エクセルのSIGN関数(サイン関数)が便利です。指定した数値が正なら「1」、負なら「-1」、ゼロなら「0」を返すため、売上の増減判定や条件分岐処理が簡単にできます。
この記事では、SIGN関数の基本から応用例までわかりやすく解説します。
目次
SIGN関数の使い方
SIGN関数の使い方はシンプルです。引数に符号を判定したい数値を指定するだけで、結果が返されます。
基本構文
- 数値:符号を判定したい数値を指定します。これは直接数値や数式を入力しても良いですし、数値が入力されているセルを参照することも可能です。
具体例
以下の表で、SIGN関数の動作を確認しましょう。
数値 | SIGN関数の結果(符号) | 説明 |
---|---|---|
100 | 1 | 正の数なので1を返します。 |
-50 | -1 | 負の数なので-1を返します。 |
0 | 0 | ゼロなので0を返します。 |
12.34 | 1 | 正の小数の場合も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 |
- 増減額の算出:たとえば、B3セルに5月の売上(120)、B2セルに4月の売上(100)があるとして、C3セルに「=B3-B2」と入力し、増減額を計算します(この例では「20」)。
- SIGN関数で符号を判定:C3セルの増減額に対して「=SIGN(C3)」を使うと、「1」が返されます。
- 条件付き書式と組み合わせる:このSIGN関数の結果を利用して、下記の通り条件付き書式を設定することで、増減に応じて自動的にセルの色を変えられます。
- SIGN関数の結果が「1」なら緑(増加)
- SIGN関数の結果が「-1」なら赤(減少)
- SIGN関数の結果が「0」なら黄色(変化なし)
これにより、視覚的にデータの傾向を素早く把握できるようになります。
2. 条件分岐の簡素化
IF関数などと組み合わせて、条件分岐をシンプルに記述できます。
例:成績の評価を自動化する
テストの点数があり、前回のテストの得点を基準に、今回のテストの得点が増えているか減っているかを評価します。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 生徒名 | 前回の得点 | 今回の得点 | 差分 | 評価 |
2 | 田中 | 65 | 75 | 10 | 成長中 |
3 | 鈴木 | 98 | 80 | -18 | 低下中 |
4 | 佐藤 | 74 | 74 | 0 | 横ばい |
=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でのデータ分析が一段とスムーズになるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
ExcelのISBLANK関数とは?空白セルの判定とIF関数との組み合わせを解説
ISBLANK関数(読み方:イズ・ブランク関数)は、Excelでセルが空かどうかを判定するシンプルかつ実用的な関数です。 入力漏れチェックや条件付き処理に活用でき、IF関数などと組み合わせることで、見落としやエラーのないスマートなデータ管理…
詳しくみるエクセルのIRR関数とは?XIRR関数との違いや投資の収益性の評価方法を解説
IRR関数(読み方:アイ・アール・アール関数)は、Excelで投資の収益性を評価する際に役立つ関数です。 「この投資は本当に利益を生むのか?」という疑問に対し、感覚ではなく数値に基づいた判断が可能になります。資金回収のスピードや効率を見える…
詳しくみるExcel帳票とは?利用できる機能や帳票作成ツールを解説
請求書、見積書、報告書、勤怠表など、多くの企業では帳票をExcelで作成・管理しています。本記事では、Excel帳票とは何か、その概要から活用事例、最新のExcel機能やExcelと連携できる帳票ツールについて解説します。加えて、帳票作成時…
詳しくみるLEFT関数とRIGHT関数の使い方をわかりやすく解説
ExcelやGoogleスプレッドシートでデータを扱う際、LEFT関数とRIGHT関数は非常に便利なツールです。これらの関数を使用することで、文字列の先頭や末尾から特定の文字数を抽出することができ、データの整理や加工がスムーズに行えます。特…
詳しくみるINTERCEPT関数とは?使い方やSLOPE関数と組み合わせて未来予測をする方法
ExcelのINTERCEPT関数(読み方:インターセプト関数)は、2組の数値データに基づいて回帰直線の「切片(y軸との交点)」を求める関数です。 売上予測や傾向分析など、統計処理やビジネスレポートの自動化にも活用できます。この記事では、I…
詳しくみるIFNA関数の使い方!IFERRORとの違いやエラー表示方法、応用例を解説
IFNA関数(読み方:イフ・エヌ・エー関数)は、Excelで発生しやすい「#N/A」エラーを置き換えるための関数です。VLOOKUPやXLOOKUPなどの検索関数と組み合わせて使えば、エラー時に任意のメッセージや値を表示でき、シートの可読性…
詳しくみる