Excelで数値がプラスかマイナスか、0かを判定したいときは、SIGN(サイン)関数を使います。
例えば「前月と比べて売上が増えたか減ったかを分類したい」「納品数量が発注数量より少ないか、多いか、一致しているかを判定したい」という場合には、SIGN関数を使う方法があります。
この記事では、SIGN関数の基本的な使い方と1・0・-1という結果の意味、実際の仕事での使用例を紹介します。また、数値の絶対値を求めるABS関数との違いや、IF関数との使い分けについても説明します。
数値をサイト上で変更して計算結果を確認できるSIGN関数の体験教材もあります。
SIGN関数でできること
表に-25や50など、プラスとマイナスの数値が混在している。
元の数値を残しながら、別の列でプラス・マイナス・0に分類したい。
これを、SIGN関数で下記のように計算できます。
=SIGN(-25)
結果は -1 です。
このように、元となる値を指定することで、数値の**符号(正・0・負)**に応じて、1・0・-1のいずれかを求めることができます。
今回の場合、-25は負の数なので、結果は-1になります。数値が50なら正の数なので1、0なら結果も0です。
数値の大きさが違っても、正の数なら1、負の数なら-1という同じ判定値にそろえられます。
SIGN関数の基本的な使い方
SIGN関数の書き方と1つの引数
基本の書き方は、次のとおりです。
=SIGN(数値)
| 引数 | 必須・任意 |
|---|---|
| 数値 | 必須 |
- 数値:符号を判定したい数値です。
-25のように直接数値を指定することも、A1のようにセルを指定することもできます。
例えば、A1に -25 を入力し、別のセルに =SIGN(A1) と入力してEnterキーを押すと、-1 が表示されます。
SIGN関数は、数値の符号を判定する関数であり、負の数である-25を指定すると-1を返すためです。
SIGN関数の早見表
正の数・負の数・0を指定した場合の早見表
数値の違いによって、SIGN関数の結果は次のようになります。
| 数値 | 数式 | 結果 | 判定 |
|---|---|---|---|
| -100 | =SIGN(-100) |
-1 | 負の数 |
| -25 | =SIGN(-25) |
-1 | 負の数 |
| -1 | =SIGN(-1) |
-1 | 負の数 |
| -0.5 | =SIGN(-0.5) |
-1 | 負の数 |
| 0 | =SIGN(0) |
0 | 0 |
| 0.5 | =SIGN(0.5) |
1 | 正の数 |
| 1 | =SIGN(1) |
1 | 正の数 |
| 25 | =SIGN(25) |
1 | 正の数 |
| 100 | =SIGN(100) |
1 | 正の数 |
SIGN関数は、整数でも小数でも、正の数なら1、0なら0、負の数なら-1を返します。
0は正の数にも負の数にも含まれません。
2つの数値の増減・過不足を判定する方法
SIGN関数の中で引き算をすると、2つの数値を比較した結果を1・0・-1で表すことができます。
例えば、A1に比較元の数値 100、B1に比較する数値 96 が入力されている場合は、次のようにします。
=SIGN(B1-A1) → -1
先に B1-A1 の計算で-4を求め、その結果にSIGN関数を使って-1にします。この-1は、B1がA1より小さいことを表します。
B1の数値を変更した場合は、次のようになります。
| 比較元の数値(A1) | 比較する数値(B1) | 差(B1-A1) | SIGN関数の結果 |
|---|---|---|---|
| 100 | 96 | -4 | -1 |
| 100 | 104 | 4 | 1 |
| 100 | 100 | 0 | 0 |
B1がA1より大きければ1、同じなら0、小さければ-1になります。
このように、差の大きさではなく、増えたか減ったか、同じかを判定したいときに使えます。
SIGN関数は仕事でどう使う?3つの実用例
実際の仕事では、「売上の増減を分類する」「納品数量の過不足を確認する」「予定日より早いか遅いかを判定する」といった用途があります。
ここでは、差の符号を1・0・-1にそろえて扱いたい場合の具体例を紹介します。
前月と比べた売上の増減を判定する(売上管理)
例えば、前月の売上が 100,000円 で、今月の売上が 105,000円 だったとします。
増加額とは別に、売上が増えたか減ったかを判定したい場合は、
=SIGN(105000-100000) → 1
となります。
今月の売上から前月の売上を引くと5,000円で、正の数なので結果は1です。この1は、売上が増加したことを表します。
今月の売上が97,000円なら-1、100,000円なら0になります。
複数店舗の売上を比較する場合は、例えば次のような表にします。
| 店舗(A列) | 前月の売上(B列) | 今月の売上(C列) | 判定(D列) |
|---|---|---|---|
| A店 | 100,000 | 105,000 | 1 (=SIGN(C2-B2)) |
| B店 | 100,000 | 97,000 | -1 (=SIGN(C3-B3)) |
| C店 | 100,000 | 100,000 | 0 (=SIGN(C4-B4)) |
発注数量に対する納品数量の過不足を判定する(購買・検品)
例えば、ある商品を 100個 発注し、実際に納品された数量が 96個 だったとします。
何個足りないかとは別に、納品数量が不足しているか、一致しているか、多いかを判定したい場合は、
=SIGN(96-100) → -1
となります。
納品数量から発注数量を引くと-4なので、結果は-1です。この-1は、納品数量が発注数量より少ないことを表します。
納品数量が100個なら0、104個なら1です。明細ごとに判定列を作ると、不足・一致・過納品を同じ値で分類できます。
複数の明細を確認する場合は、例えば次のような表にします。
| 商品(A列) | 発注数量(B列) | 納品数量(C列) | 判定(D列) |
|---|---|---|---|
| 商品A | 100 | 96 | -1 (=SIGN(C2-B2)) |
| 商品B | 100 | 100 | 0 (=SIGN(C3-B3)) |
| 商品C | 100 | 104 | 1 (=SIGN(C4-B4)) |
予定日より早いか遅いかを判定する(工程・日程管理)
例えば、作業ごとの予定日と実際の作業日を比較したいとします。
B列に予定日、C列に実際の作業日を日付として入力し、判定するD列にSIGN関数を入れます。
| 作業(A列) | 予定日(B列) | 実際の作業日(C列) | 判定(D列) |
|---|---|---|---|
| 作業A | 2026/11/11 | 2026/11/9 | -1 (=SIGN(C2-B2)) |
| 作業B | 2026/11/11 | 2026/11/11 | 0 (=SIGN(C3-B3)) |
| 作業C | 2026/11/11 | 2026/11/13 | 1 (=SIGN(C4-B4)) |
実際の作業日から予定日を引くため、予定日より早ければ-1、同じ日なら0、遅ければ1になります。
この判定列を使って、作業が前倒し・予定通り・遅延のグループに分類できます。
数値を変えてSIGN関数を体験しよう
ここまでの説明を見て、なんとなくはわかっても実際にやってみないと分かりにくい部分もあるかと思います。
SIGN関数ビジュアライザー(無料・登録不要)では、サイト上で数値を変更しながら、計算結果を確認できます。
初期状態では、B2に -25、C2に結果 -1 が入っています。
例えば、次のように変更してみてください。
- B2を
-50にして、結果が-1のままであることを確認する。負の数なので、数値の大きさを変えても結果は-1です。 - B2を
50にして、結果が1になることを確認する。正の数は1になります。 - B2を
-0.5にして、結果が-1になることを確認する。小数でも、負の数なら-1です。 - B2を
0にして、結果が0になることを確認する。0の場合は0を返します。
特に1と3では、数値の大きさが違っても、負の数であれば同じ-1になることを確認してみてください。
SIGN関数を使うときの注意点
引き算の順序で1と-1が逆になる
2つの数値を比較する場合は、どちらの数値からどちらを引くかによって、SIGN関数の結果が変わります。
例えば、次のようになります。
| 数式 | 結果 |
|---|---|
=SIGN(96-100) |
-1 |
=SIGN(100-96) |
1 |
差の符号が逆になるため、結果も-1と1で逆になります。
「今月の売上-前月の売上」「納品数量-発注数量」のように、引き算の順序と判定結果の意味をそろえておきましょう。
結果だけでは差の大きさは分からない
SIGN関数では、差が-5でも-500でも、結果は同じ-1です。
その結果だけでは、どちらの差が大きいかを判断できません。差の大きさも必要な場合は、引き算した元の差も別の列に残しておくと分かりやすいと思います。
ABS関数との違い
ABS関数は、数値の符号を除いた絶対値を求める関数です。
例えば、次のような結果になります。
| 数値 | SIGN関数の結果 | ABS関数の結果 |
|---|---|---|
| -25 | -1 | 25 |
| 0 | 0 | 0 |
| 25 | 1 | 25 |
SIGN関数は正の数なら1、0なら0、負の数なら-1を返し、ABS関数は符号を除いた大きさを返します。
差がプラスかマイナスかを調べたいならSIGN関数、差がどれだけあるかを知りたいならABS関数、と考えると分かりやすいと思います。
ABS関数で絶対値を求める方法について詳しくは、Excelでマイナスをプラスにする方法|ABS関数の使い方も参考にしてください。
IF関数との使い分け
SIGN関数は、正の数・0・負の数を1・0・-1という数値で返します。
結果を「増加」「変化なし」「減少」といった文字で表示したい場合は、IF関数を使う方法があります。
まとめ|SIGN関数は数値の正・0・負を判定したい場合に使う
SIGN関数は、=SIGN(数値) と書き、正の数なら1、0なら0、負の数なら-1を返します。
引き算した結果に使えば、売上の増減や納品数量の過不足、予定日との前後関係を、1・0・-1で分類できます。
差の大きさも必要な場合は、引き算した元の差を残しておきましょう。
実際の結果をさくっと確認したいときは、SIGN関数ビジュアライザーで数値を変えながら確認してみてください。
数値を扱うほかの関数も確認したい場合は、数値・丸め・順位のカテゴリも参考にしてください。
