「売上の前年比がプラスかマイナスかを絶対額で大きい順に並べたい」「予算と実績の差異が目標に届いたか届かなかったかを一発で判定したい」――そうした場面で欠かせないのがABS(アブス)関数とSIGN(サイン)関数です。
ABS関数は数値の絶対値(符号なしの大きさ)を返し、SIGN関数は数値の符号(正・ゼロ・負)を1・0・−1の3値で返します。一見シンプルですが、IF条件・SUMIF・条件付き書式・配列数式と組み合わせることで、予実差異分析・異常値検出・方向性フラグ付与など高度な実務処理を簡潔に記述できます。
本記事では、ABS・SIGN関数の基本構文・引数・戻り値・実務活用パターン5種・よくあるエラーと対処法・MOS Excel試験での出題ポイントを網羅的に解説します。
ABS関数の基本構文
=ABS(数値)
| 引数 | 説明 | 省略 |
|---|---|---|
| 数値 | 絶対値を求めたい数値・セル参照・計算式 | 必須 |
戻り値は常に0以上の数値です。正の数はそのまま、負の数は符号を除いた値、0は0が返ります。
| 入力値 | ABS関数の戻り値 |
|---|---|
| 5 | 5 |
| −5 | 5 |
| 0 | 0 |
| −3.14 | 3.14 |
| −1000 | 1000 |
SIGN関数の基本構文
=SIGN(数値)
| 引数 | 説明 | 省略 |
|---|---|---|
| 数値 | 符号を調べたい数値・セル参照・計算式 | 必須 |
戻り値は3種類のみです。正の数なら1、ゼロなら0、負の数なら−1を返します。
| 入力値 | SIGN関数の戻り値 |
|---|---|
| 100 | 1 |
| 0 | 0 |
| −50 | −1 |
| 0.001 | 1 |
| −0.001 | −1 |
実務活用パターン1:差分の絶対値で「ずれの大きさ」を正しく比較する
前年比や予実差異を比較するとき、正負が混在した差分をそのまま合計しても意味がありません。ABS関数で絶対値に変換してから集計・比較することで、正しい「ずれの大きさ」が見えます。
A2に予算、B2に実績が入っている場合の差異計算例です。
' 差異(実績-予算)の絶対値を求める
=ABS(B2-A2)
' 差異の平均絶対誤差(MAE)を求める(A2:A10が予算、B2:B10が実績)
=AVERAGE(ABS(B2:B10-A2:A10))
' ※Ctrl+Shift+Enterで配列数式として入力(Excel 365ではEnterのみでも動作)
' 差異の絶対値が最も大きい部門を特定するためのMAX
=MAX(ABS(B2:B10-A2:A10))
正の差異(実績超過)と負の差異(未達)が混在する月次レポートで、「どの部門が最も予算とずれているか」を調べる際に使います。ABSを使わずに単純にMAXやAVERAGEを取ると、プラスの超過だけが大きく見えてしまう問題を防げます。
実務活用パターン2:SIGN関数で達成・未達・ちょうどのフラグを自動付与する
目標達成の方向性を「↑(超過)」「→(ちょうど)」「↓(未達)」など記号で表示したい場合、SIGN関数とIF・CHOOSE関数の組み合わせが簡潔です。
' 差異の符号で3段階フラグを表示(CHOOSE+SIGN)
' 差異=B2-A2 が正→"↑超過"、ゼロ→"→達成"、負→"↓未達"
=CHOOSE(SIGN(B2-A2)+2, "↓未達", "→達成", "↑超過")
' IF入れ子での同じ処理(比較用)
=IF(B2-A2>0,"↑超過",IF(B2-A2=0,"→達成","↓未達"))
' 方向を数値で管理したい場合(1/0/−1のまま使う)
=SIGN(B2-A2)
CHOOSE(SIGN(差分)+2, …)のパターンがポイントです。SIGN関数は−1・0・1を返しますが、CHOOSE関数の第1引数は1から始まるため、+2してオフセットします(−1+2=1、0+2=2、1+2=3)。IF入れ子より短く書けるだけでなく、条件分岐が3段階固定であることが数式から一目でわかります。
実務活用パターン3:ABS×IF で「許容誤差内かどうか」を判定する
品質管理や在庫管理では、差異の符号ではなく「絶対的なズレが許容範囲内か」を確認する場面が多くあります。ABS関数とIF関数を組み合わせると、±X以内かどうかを簡潔に判定できます。
' 差異の絶対値が10以内なら"OK"、超えたら"要確認"
=IF(ABS(B2-A2)<=10, "OK", "要確認")
' 誤差率(絶対値)が5%以内かどうかを判定
=IF(ABS((B2-A2)/A2)<=0.05, "許容範囲内", "要是正")
' 許容範囲を超えた件数を数える(A2:A20が基準値、B2:B20が実測値、±5以内を許容)
=COUNTIF(ABS(B2:B20-A2:A20), ">"&5)
' ※COUNTIF+ABSは配列対応外。代わりにSUMPRODUCTを使う
=SUMPRODUCT((ABS(B2:B20-A2:A20)>5)*1)
誤差率の判定ではABS((実績−基準)/基準)のパターンをそのまま覚えてください。基準値がゼロになる場合は別途IFERRORでゼロ除算を保護してください。
実務活用パターン4:SIGN関数×条件付き書式で方向性を色分けする
SIGN関数の戻り値(1・0・−1)を補助列に置き、条件付き書式のルールをその列に紐付けると、実績超過・達成・未達を色で一目で区別できるダッシュボードを構築できます。
C列に=SIGN(B2-A2)を入力した場合の条件付き書式設定手順です。
- B列(実績列)を選択して「ホーム」→「条件付き書式」→「新しいルール」
- 「数式を使用して書式設定するセルを決定」を選択
- 数式欄に
=C2=1を入力→背景色を青系に設定(超過) - 同様に
=C2=0を設定→背景色を緑に(達成) - 同様に
=C2=-1を設定→背景色を赤に(未達)
補助列を使わず直接数式で書く場合は、条件付き書式の数式欄に=SIGN(B2-A2)=1のように記述します。補助列方式のほうがデバッグしやすいため、シートが複雑な場合は補助列の使用を推奨します。
実務活用パターン5:SUMPRODUCT×ABS で差異の合計絶対値(SAE)を求める
複数行にわたる差異データの「合計絶対誤差(Sum of Absolute Errors, SAE)」は、予測精度評価や複数商品の在庫差異の規模比較に使います。SUMPRODUCT関数とABS関数を組み合わせると、配列数式の入力方法を問わず計算できます。
' 合計絶対誤差(SAE)を求める(A2:A20=基準値、B2:B20=実測値)
=SUMPRODUCT(ABS(B2:B20-A2:A20))
' 平均絶対誤差(MAE)を求める
=SUMPRODUCT(ABS(B2:B20-A2:A20))/COUNTA(B2:B20)
' 差異が正のときだけ絶対値を合計(超過分の合計)
=SUMPRODUCT((B2:B20-A2:A20>0)*ABS(B2:B20-A2:A20))
' 差異が負のときだけ絶対値を合計(未達分の合計)
=SUMPRODUCT((B2:B20-A2:A20<0)*ABS(B2:B20-A2:A20))
SUMPRODUCT関数は内部で配列計算を行うため、Ctrl+Shift+Enterなしで配列数式相当の処理が可能です。これはExcel 2003以降で動作する安定したパターンです。
ABS・SIGN関数でよくあるエラーと対処法
| エラー・症状 | 主な原因 | 対処法 |
|---|---|---|
| #VALUE! | 数値以外(文字列・スペースを含むセル)を引数に指定している | ISNUMBER関数で数値かどうかを確認してからABS/SIGNを適用する。または=IF(ISNUMBER(A2), ABS(A2), "")のようにガード条件を付ける |
| #DIV/0! が巻き込まれる | ABS・SIGN関数の引数に計算式が入っており、その式がゼロ除算を起こしている | 引数の計算式をIFERRORでラップする。例:=ABS(IFERROR(B2/A2,0)) |
| SIGN関数が常に1を返す | 差分の計算式ではなく元の数値をそのままSIGNに渡している | SIGN関数の引数が「差分の式」になっているか確認。=SIGN(B2)と書くと実績値の符号になってしまう。=SIGN(B2-A2)が正しい |
| CHOOSE(SIGN(…))が#VALUE!になる | SIGN関数の戻り値に+2のオフセットを忘れた(0がCHOOSEの有効範囲外) | =CHOOSE(SIGN(差分)+2, …)のように+2を付ける |
| ABS(テキスト数値)が#VALUE! | 数字に見えて実は文字列として格納されている(インポートデータに多い) | =ABS(VALUE(A2))でまず数値変換する。またはセルの左上に緑三角が出ていたら「数値に変換」を実行する |
ABS・SIGN関数の使い分けフロー
「ABSとSIGNのどちらを使うべきか」は目的によって決まります。
- 「差異の大きさ(量)」を知りたい → ABS関数を使う。比較・並べ替え・MAE計算・許容誤差判定に向いている
- 「差異の方向性(正か負か)」を知りたい → SIGN関数を使う。フラグ付与・条件分岐・色分けに向いている
- 「大きさと方向の両方」を扱いたい → ABS + SIGN を組み合わせる。
=ABS(差分) * SIGN(差分)は元の値に戻る(無意味)のでそのような使い方はしない。別々の列に置いて活用するのが基本
MOS試験でのABS・SIGN関数の出題ポイント
MOS Excel 365試験では「数式と関数」スキル領域の中で、ABS関数は数学・三角関数カテゴリに属します。SIGN関数は出題頻度が比較的低いものの、IF関数・条件付き書式との組み合わせ問題として登場することがあります。
MOS試験 ABS・SIGN チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| ABS関数の基本入力 | =ABS(数値) の構文を正しく入力し、負の数が正の数として返ることを確認できる | ★☆☆ |
| ABS+IF の組み合わせ | =IF(ABS(B2-A2)>10,"要確認","OK") のような許容誤差判定式を書ける | ★★☆ |
| SIGN関数の戻り値の理解 | 正→1、ゼロ→0、負→−1 という戻り値を即答できる | ★☆☆ |
| SIGN+CHOOSE の組み合わせ | =CHOOSE(SIGN(差分)+2, "↓", "→", "↑") の+2オフセットの意味を説明できる | ★★☆ |
| SUMPRODUCT+ABS の活用 | =SUMPRODUCT(ABS(B2:B10-A2:A10)) で合計絶対誤差を求める式を書ける | ★★☆ |
| #VALUE!エラーの対処 | 文字列セルがABS/SIGNの引数になったときの原因と対処法を説明できる | ★★☆ |
| 条件付き書式との連携 | 補助列にSIGNの結果を置き、条件付き書式でSIGN=1/0/−1 を色分けする手順を説明できる | ★★★ |
試験で頻出の関連関数との使い分け
| 関数 | 役割 | ABS・SIGNとの関係 |
|---|---|---|
| ABS | 絶対値(大きさ)を返す | 本記事の主役。差分の大きさを正の数で統一する |
| SIGN | 符号(正・ゼロ・負)を1・0・−1で返す | 本記事の主役。方向性フラグの作成に使う |
| IF | 条件分岐 | ABS/SIGN の結果を条件として使う場面が多い |
| SUMPRODUCT | 配列の積の合計 | ABS と組み合わせて合計絶対誤差(SAE)を計算する |
| CHOOSE | インデックスで値を選択 | SIGN+2 のオフセットでSIGNの3値を選択肢に変換する |
| IFERROR | エラーを別の値に置換 | ABS/SIGN の引数がエラーになる計算式を保護する |
まとめ:ABS・SIGNは差異分析・方向判定を「最小のコードで書く」ための基本道具
本記事のポイントをまとめます。
- ABS関数:
=ABS(数値)で絶対値を返す。負の数を正に変換し、差異の「大きさ」を正の数で統一するのに使う。SUMPRODUCT・IF・条件付き書式と組み合わせて許容誤差判定・MAE計算・差異ランキングを実現する - SIGN関数:
=SIGN(数値)で正なら1・ゼロなら0・負なら−1を返す。差分の方向性(超過・達成・未達)をフラグ化し、CHOOSE関数や条件付き書式と組み合わせてダッシュボードの色分けに使う - CHOOSE(SIGN()+2, …):SIGNの戻り値(−1・0・1)を+2でオフセットしてCHOOSEの引数(1・2・3)に変換する定番パターン。IF入れ子より短く書ける
- SUMPRODUCT(ABS()):配列のABS計算を行い、合計絶対誤差(SAE)や平均絶対誤差(MAE)を求める。Ctrl+Shift+Enter不要で動作する安定した書き方
- #VALUE!対策:文字列セルが引数に入るとエラーになる。ISNUMBER・VALUE・IFERRORと組み合わせて入力データの品質に応じたガードを設ける
- MOS試験では:ABS関数は数学・三角関数カテゴリで出題。IF・SUMPRODUCT・条件付き書式との組み合わせを実際に入力して手を動かして覚えておくと確実
ABS・SIGN関数は構文が短く引数も1つのため習得は簡単です。しかし、予実差異分析・品質管理・販売データのフラグ付けなど、日常業務の多くの場面で「なくてはならない脇役」として機能します。SUMPRODUCT・IF・CHOOSE・条件付き書式と組み合わせたパターンをひと通り試して、自分のシートに応用してみてください。
PR
ABS・SIGN・SUMPRODUCT・IFなど実務頻出関数の使い方を図解豊富に解説。本記事で紹介した差異分析・許容誤差判定・MAE計算のパターンをさらに深く学びたい方に最適な一冊です。Excel 365対応の最新版。
PR
ABS・SIGNを含む時短に直結するExcel関数を業務シナリオ別に網羅。予実管理・差異分析・品質チェックをExcel関数だけで完結させたい実務者に向いた、すぐに業務で使える構成の一冊です。
