予算と実績の差額は、上振れならプラス、下振れならマイナスになります。「上か下かは問わず、ずれの大きさだけを見たい」ときに使うのがABS関数です。結論から言うと、ABS関数は=ABS(数値)で、数値の絶対値(符号を取り除いた値)を返します。-20,000なら20,000、30,000ならそのまま30,000です。
ABS関数の基本構文
=ABS(数値)
数値には、セル参照やC2-B2のような計算式を指定できます。マイナスの値はプラスに、プラスの値と0はそのまま返ります。
ABS関数で予算と実績の差の大きさを求める例
次のような予算実績の表(A1:C4)で考えます。
| A(月) | B(予算) | C(実績) | |
|---|---|---|---|
| 2 | 4月 | 500,000 | 480,000 |
| 3 | 5月 | 500,000 | 530,000 |
| 4 | 6月 | 500,000 | 495,000 |
A列=月、B列=予算、C列=実績という対応で、2行目の数式と、下にコピーした結果は次のとおりです。
| 求めたいもの | 数式(2行目) | 4月 | 5月 | 6月 |
|---|---|---|---|---|
| 差額 | =C2-B2 |
-20,000 | 30,000 | -5,000 |
| 差額の絶対値 | =ABS(C2-B2) |
20,000 | 30,000 | 5,000 |
| ずれが1万円以上なら表示 | =IF(ABS(C2-B2)>=10000,"要確認","") |
要確認 | 要確認 | (空白) |
ABSを使わずにC2-B2>=10000と書くと、下振れの4月(-20,000)が拾えません。上下どちらのずれもまとめてチェックしたいときにABSが役立ちます。IF関数の書き方はIF関数の基本的な使い方|条件で処理を分ける書き方を参照してください。
3か月分のずれの大きさを合計したい場合は、=SUMPRODUCT(ABS(C2:C4-B2:B4))で55,000になります(20,000+30,000+5,000)。
ABS関数で前期がマイナスのときの増減率を求める
増減率は通常=(当期-前期)/前期で求めますが、前期がマイナス(赤字)だと符号が逆になってしまいます。たとえば前期の利益が-200,000、当期が100,000の場合、改善しているのに(100000-(-200000))/(-200000)は-150%です。分母をABSで絶対値にすると次のように150%となり、改善したことが正しく表れます。
=(当期-前期)/ABS(前期)
ただし、前期がマイナスのときの増減率は、そもそも表示せず「黒字転換」などと文字で書く会社もあります。社内のルールに合わせてください。また前期が0だと#DIV/0!になるので、#DIV/0!エラーを回避する方法の方法で回避しておきます。
ABS関数のよくある注意点
- 符号を無視してよい計算かを必ず確認する: 絶対値にすると「増えたのか減ったのか」の情報が消えます。差額そのものの列は残しておき、判定用の列でだけABSを使うのが安全です。
- 平方根のエラー回避に使うときも同じ: マイナスの平方根で#NUM!が出るときに
=SQRT(ABS(…))とする方法がありますが、符号を無視してよいかは計算の意味次第です(#NUM!エラーの原因と対処法参照)。 - 文字列は計算できない: 数字に見えても文字列が入っていると#VALUE!になります(#VALUE!エラーの原因と直し方参照)。
ABS関数が登場する記事
ABS関数の使い方まとめ
ABS関数は=ABS(数値)で絶対値を返し、予算と実績のずれのチェックや、前期がマイナスのときの増減率の計算に使えます。符号の情報が消えることだけは意識しておきましょう。条件付きの集計については、サイトの人気記事エクセルのsumifs関数でOR条件の集計をする方法やエクセル関数で条件付きで中央値(MEDIAN)を計算する方法もあわせて参考にしてください。






