スプレッドシートのABS関数の使い方|絶対値
予算と実績を比較して差額を出したとき、マイナスが付いて見づらくなったことはありませんか?
「-15,000円」と「15,000円」。知りたいのは差の大きさだけ。なのに符号が混在して集計しにくいですよね。
そんなときに使うのがABS関数です。引数はひとつだけ。マイナスを取り除いて絶対値にしてくれます。
この記事では基本の書き方から、差額計算や在庫管理での活用パターンまで紹介します。
ABS関数とは?
ABS関数(読み方: アブソリュート関数)は、数値の絶対値を返す関数です。
名前は英語の「absolute value(絶対値)」の略です。
「-5」にABS関数を使うと「5」になります。「5」に使っても「5」のまま。マイナスの符号を取り除く関数です。
絶対値とは「0からの距離」のことです。数直線でいえば、「-5」も「5」も0からの距離は同じ「5」ですよね。
ABS関数にできることをまとめると、次のとおりです。
- マイナスの符号を取り除いて正の数にする
- 予算と実績の差額を「方向に関係なく」数値化する
- 在庫の過不足を「いくつズレているか」で把握する
- 目標値からの乖離の大きさを比較する
NOTE
ABS関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
ABS関数の書き方(構文と引数)
基本構文
=ABS(値)
カッコの中に「絶対値を求めたい数値」をひとつ入れるだけです。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 絶対値を求めたい数値やセル参照、数式 |
引数はたったひとつです。マイナスならプラスに変換し、プラスならそのまま返します。0を渡した場合も0がそのまま返ります。
ABS関数の基本的な使い方
数値を直接入力する
もっともシンプルな使い方です。
=ABS(-10)
結果は「10」です。マイナスの符号が取り除かれました。
=ABS(10)
結果は「10」です。もともと正の数なので値は変わりません。
=ABS(0)
結果は「0」です。0の絶対値は0です。
セル参照を使う
A1に「-25」が入っているとします。
=ABS(A1)
結果は「25」です。セル参照を使えば、値が変わっても自動で絶対値が返ります。
数式の結果に使う
他の計算と組み合わせると便利です。
=ABS(B2-C2)
B2が「80」、C2が「100」なら「80-100=-20」です。ABS関数で「20」になります。
実務でのABS関数活用例
予算と実績の差額を求める
もっとも使用頻度が高いパターンです。B2に予算額、C2に実績額が入っているとします。
=ABS(B2-C2)
予算100万円、実績85万円なら差額は「-150,000」です。ABS関数で「150,000」になります。
どちらの方向にズレていても「差の大きさ」だけが残ります。差額の大きい順に並べ替えれば、注目すべき項目がすぐわかります。
TIP
差額の合計を出すときはSUM関数と組み合わせましょう。
=SUM(D2:D10)でD列にABS関数の結果が入っていれば、差額の合計が正しく集計できます。
在庫過不足の絶対量を求める
適正在庫との差をABS関数で求めるパターンです。B2に適正在庫数、C2に実在庫数が入っているとします。
=ABS(B2-C2)
適正100個に対して実在庫80個なら「20個の不足」。実在庫120個なら「20個の過剰」。どちらも「20個のズレ」です。
過不足の方向は別列で管理して、ズレの大きさだけを抽出するのがポイントです。
=IF(C2>B2, "過剰", IF(C2<B2, "不足", "適正"))
方向とズレ幅を分けて管理すると、在庫調整の優先度が見えやすくなります。
目標からの乖離を比較する
部門ごとの売上目標と実績を比較するパターンです。目標達成でも未達でも「どれだけズレているか」を統一基準で比較できます。
=ABS(C2-B2)/B2*100
B2が目標、C2が実績です。ABS関数で差の絶対値を取り、目標で割って100を掛ければ乖離率になります。
目標100万円に対して実績90万円なら乖離率は10%です。実績110万円でも10%。方向に関係なく距離がわかります。
温度差・気温差の計算
2地点の気温の差を求めるパターンです。
=ABS(A2-B2)
A2が東京の気温「5」、B2が札幌の気温「-3」なら「5-(-3)=8」。この場合はABS関数がなくてもプラスですね。
逆にA2が「-3」、B2が「5」なら「-3-5=-8」です。ABS関数で「8」になります。
よくあるエラーと対処法
ABS関数は引数ひとつのシンプルな関数ですが、エラーが出ることもあります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 値に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カッコ忘れ等) | 数式の入力内容を見直す |
| 結果がマイナスにならない | ABS関数の正常動作 | 符号を残したい場合はABSを外す |
| 参照先が空白 | 空白セルは0として扱われる | 空白セルを0と見なしてよいか確認する |
文字列が混在しているとき
ABS関数に文字列を渡すと#VALUE!エラーです。
=ABS("abc")
セル参照先が数値かどうか不安なときは、ISNUMBER関数で事前にチェックできます。
=IF(ISNUMBER(A1), ABS(A1), "数値を入力してください")
空白セルを渡したとき
ABS関数に空白セルを渡すと「0」が返ります。これは空白セルが数値の「0」として扱われるためです。
差額計算で一方が未入力のとき、もう一方の値がそのまま差額として表示されます。データの入力漏れには注意してください。
似た関数との違い・使い分け
ABS関数と混同しやすい関数はあまりありません。ただし、符号に関連する関数との違いを知っておくと便利です。
| 関数 | 動作 | 引数 | 戻り値 |
|---|---|---|---|
| ABS | 絶対値を返す | 1つ | 常に0以上の数値 |
| SIGN | 符号を判定する | 1つ | 1, 0, -1 のいずれか |
| INT | 整数に切り捨てる | 1つ | 小数を切り捨てた整数 |
| ROUNDDOWN | 指定桁数で切り捨て | 2つ | 指定桁数まで残した数値 |
ABSとSIGNの使い分け
SIGN関数は数値の符号だけを判定する関数です。
=SIGN(-5) → -1
=SIGN(0) → 0
=SIGN(5) → 1
ABS関数は「大きさ」を取り出します。SIGN関数は「方向」を取り出します。両方使えば元の数値を復元できます。
=ABS(-5) * SIGN(-5) → 5 * (-1) = -5
この関係を使うと「符号をそのままにして、大きさだけを加工する」といった処理が可能です。
ABSと「マイナス1を掛ける」の違い
マイナスを取り除きたいとき、=A1*-1 で符号を反転させる方法があります。しかしこの方法には注意が必要です。
=ABS(-5) → 5
=-5*-1 → 5
マイナスの値を「-1を掛けて」プラスにするのはうまくいきます。でもプラスの値に使うと逆にマイナスになります。
=ABS(5) → 5
=5*-1 → -5
ABS関数ならプラスでもマイナスでも「常に正の値」を返します。符号が混在しているデータにはABS関数が安全です。
Excelとの違い
ABS関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =ABS(数値) | =ABS(値) |
| 動作 | 絶対値を返す | 絶対値を返す |
| 負の数 | -5→5 | -5→5 |
| 引数 | 1つ | 1つ |
引数名の表記が若干異なるだけで、機能は完全に同じです。ファイルを共有しても計算結果はずれません。
まとめ
ABS関数は、マイナスの符号を取り除いて絶対値にするシンプルな関数です。
ポイントを整理します。
- 構文は
=ABS(値)の1引数だけ。マイナスなら正に変換、プラスならそのまま - 予算と実績の差額計算で「差の大きさ」だけを取り出せる
- 在庫の過不足を「ズレの量」として統一的に比較できる
- 目標からの乖離率の計算にも便利
- SUM関数と組み合わせて差額の合計も出せる
まずは =ABS(B2-C2) で予算と実績の差額を求めるところから試してみてください。
