Excelで数値がプラスなのかマイナスなのか、一つひとつ目で確認していませんか?
データが数十行ならまだしも、数百行を超えると見落としが出てきますよね。計算結果の正負によって処理を分けたい場面でも、いちいちIF関数で条件を書くのは手間がかかります。
そんなときに便利なのが SIGN関数 です。数値の符号を 1・0・-1 の3パターンで返してくれるので、正負の判定がとてもシンプルになります。この記事では、SIGN関数の基本から実務で使える活用パターンまで解説していきます。
SIGN関数とは?(数値の符号を判定するExcel関数)
SIGN関数は、指定した数値が 正の数・ゼロ・負の数 のどれかを判定するExcelの関数です。
Excel 2010以降のすべてのバージョンとMicrosoft 365で使用できます。Googleスプレッドシートでも同じ書き方で使えますよ。
読み方と語源
SIGN関数の読み方は「サイン」関数です。
英語の「Sign」には「符号・記号」という意味があります。数値の符号(プラスかマイナスか)を返す関数なので、そのまま関数名になっています。
戻り値のパターン
SIGN関数の戻り値は 3種類 だけです。
| 数値の種類 | 戻り値 | 具体例 |
|---|---|---|
| 正の数(0より大きい) | 1 | =SIGN(100) → 1 |
| ゼロ | 0 | =SIGN(0) → 0 |
| 負の数(0より小さい) | -1 | =SIGN(-50) → -1 |
「1・0・-1」という整数で返してくれるので、後続の計算や条件分岐にそのまま使えるのがポイントです。
SIGN関数の書き方(構文と引数)
基本構文
SIGN関数の構文はとてもシンプルです。
=SIGN(数値)
引数はたった 1つ だけ。Excel関数の中でもトップクラスにシンプルな関数ですね。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 数値 | 必須 | 符号を判定したい数値またはセル参照 |
「数値」には直接数値を入力することもできますし、セル参照を指定することもできます。計算式を入れることも可能です。
=SIGN(-100) → 結果: -1(直接数値を指定)
=SIGN(A1) → A1の値の符号を判定
=SIGN(A1-B1) → 計算結果の符号を判定
SIGN関数の基本的な使い方
ここからは、実際にSIGN関数を使ってみましょう。
数値の符号を判定する
もっとも基本的な使い方は、数値を直接指定するパターンです。
=SIGN(250)
この数式を入力すると、結果は 1 になります。正の数なので「1」が返ってきますね。
マイナスの数値ではどうなるでしょうか?
=SIGN(-250)
結果は -1 です。負の数であることがひと目でわかります。
セル参照で符号を判定する
実務では、セルに入力された値の符号を調べることが多いですよね。
たとえばA1セルに「-3500」が入っている場合、次のように書きます。
=SIGN(A1)
結果は -1 になります。セル参照を使えば、元のデータを変更するだけで判定結果も自動更新されます。
計算結果の符号を判定する
SIGN関数には計算式を直接入れることもできます。
たとえば売上目標と実績の差がプラスかマイナスかを調べたいときは、次のように書きます。
=SIGN(B1-A1)
B1(実績)からA1(目標)を引いた結果が正なら「1」(目標達成)、負なら「-1」(未達)と判定されます。
SIGN関数の実践的な活用例
基本がわかったところで、実務でよく使うパターンを見ていきましょう。
IF関数と組み合わせて3分岐する
SIGN関数とIF関数を組み合わせると、正・ゼロ・負の 3パターン で表示を切り替えられます。
たとえば前月比の増減を「増加」「変動なし」「減少」と表示する数式はこうなります。
=IF(SIGN(B1-A1)=1, "増加", IF(SIGN(B1-A1)=-1, "減少", "変動なし"))
SIGN関数が「1・0・-1」を返すので、IF関数の条件がシンプルに書けます。
TIP
Excel 2019以降であれば、IFS関数やSWITCH関数を使うともっとスッキリ書けます。
“`
=SWITCH(SIGN(B1-A1), 1, “増加”, -1, “減少”, 0, “変動なし”)
“`
IF関数の詳しい使い方は「ExcelのIF関数の使い方|基本から複数条件まで実例で解説」で解説しています。
ABS関数と組み合わせて符号と絶対値を分離する
SIGN関数とABS関数を組み合わせると、数値を 符号 と 絶対値 に分解できます。
=SIGN(A1) → 符号(1, 0, -1)
=ABS(A1) → 絶対値
=SIGN(A1) * ABS(A1) → 元の値に戻る
この性質を使えば、符号はそのままで絶対値だけを加工するといった処理が可能です。
たとえば「マイナスはそのままで、金額を千円単位に丸めたい」というケースではこう書きます。
=SIGN(A1) * ROUNDDOWN(ABS(A1), -3)
ABS関数の使い方は「ExcelのABS関数の使い方|絶対値の基本と実践例を解説」で詳しく解説しています。
条件付き書式でプラス・マイナスを色分けする
SIGN関数を条件付き書式の数式で使うと、データの正負を視覚的に区別できます。
設定手順は次のとおりです。
- 色分けしたいセル範囲を選択する
- 「ホーム」タブ →「条件付き書式」→「新しいルール」を選択
- 「数式を使用して、書式設定するセルを決定」を選ぶ
- 次の数式を入力する
プラスの値を 緑色 にしたい場合:
=SIGN(A1)=1
マイナスの値を 赤色 にしたい場合:
=SIGN(A1)=-1
これで、数値が正ならセルが緑、負なら赤に色付けされます。損益データや前年比の一覧表で、ひと目で状況がわかるようになりますよ。
在庫増減の方向を判定する
在庫データで「入庫」か「出庫」かを自動判定するパターンです。
| A列(増減数) | B列(判定) | |
|---|---|---|
| 1行目 | 50 | =IF(SIGN(A1)=1, “入庫”, “出庫”) |
| 2行目 | -30 | =IF(SIGN(A2)=1, “入庫”, “出庫”) |
| 3行目 | 0 | =IF(SIGN(A3)=1, “入庫”, “出庫”) |
増減数がプラスなら「入庫」、それ以外なら「出庫」と表示されます。ゼロのケースも分けたい場合は、先ほどの3分岐パターンを使ってください。
SIGN関数でよくあるエラーと対処法
SIGN関数はシンプルな関数ですが、いくつかエラーが出るパターンがあります。
#VALUE! エラー
SIGN関数に 文字列 を渡すと #VALUE! エラーが発生します。
=SIGN("abc") → #VALUE! エラー
=SIGN(A1) → A1に文字列が入っている場合も #VALUE!
対処法: 引数が数値であることを確認しましょう。文字列が混ざる可能性がある場合は、IFERROR関数で囲むと安心です。
=IFERROR(SIGN(A1), "")
#NAME? エラー
関数名のスペルミスで #NAME? エラーが出ることがあります。
=SIGN(-10) → 正しい
=SGIN(-10) → #NAME? エラー(GとIが逆)
=SIGNE(-10) → #NAME? エラー(Eが余分)
対処法: 関数名が「SIGN」の4文字になっているか確認しましょう。Excelの数式オートコンプリートを使えば入力ミスを防げます。
SIGN関数と似た関数の違い・使い分け
SIGN関数に関連する関数をまとめておきます。
| 関数 | 用途 | 使用例 |
|---|---|---|
| SIGN | 符号を判定する(1, 0, -1) | =SIGN(-10) → -1 |
| ABS | 絶対値を求める(符号を取り除く) | =ABS(-10) → 10 |
| IF | 条件に応じて値を切り替える | =IF(A1>0, “正”, “負”) |
| ODD | 奇数に切り上げる | =ODD(2.5) → 3 |
| EVEN | 偶数に切り上げる | =EVEN(2.5) → 4 |
SIGN関数は「符号だけを取り出す」関数、ABS関数は「符号を取り除いて絶対値にする」関数です。セットで覚えておくと、数値処理の幅がぐっと広がりますよ。
ABS関数の使い方は「ExcelのABS関数の使い方|絶対値の基本と実践例を解説」、ODD関数は「ExcelのODD関数の使い方|最も近い奇数への切り上げを基本から解説」で解説しています。
まとめ
この記事では、ExcelのSIGN関数について基本から実践的な活用法まで解説しました。
SIGN関数のポイントをおさらいしておきましょう。
- SIGN関数は数値の 符号(正・ゼロ・負) を 1・0・-1 で返す関数
- 構文は
=SIGN(数値)で、引数は1つだけのシンプルな関数 - IF関数との組み合わせで 正・ゼロ・負の3分岐 が簡単にできる
- ABS関数とセットで使えば、符号と絶対値を分離 して柔軟な計算が可能
- 条件付き書式と組み合わせて プラス・マイナスの色分け もできる
SIGN関数はシンプルですが、IF関数やABS関数と組み合わせることで活用の幅が大きく広がります。まずは前月比や売上増減のデータで試してみてください。
