見出し画像

ちょっとだけ役立つExcelテク|vol.1 ABS関数の使い方

知らなくてもいいけど知ってるとちょっとだけ生産性が高まるExcelの関数やテクニックを実務上での使い方含めて紹介していきます。
主に人事や総務、経理が使うシーンを想定していきます。

初回ということで分量多いですが、今後は分量少なめで、「あ、これプチテクだ」だ、みたいなのを思いついたときにサクッと更新していこうかなと思います。

ABS関数

計算結果がマイナスであってもプラスを返すという、使い時が限られてくる関数です。数学的に絶対値ってやつで、細かい人に説明させると「マイナスをプラスにするのではなくて数直線上の原点からの距離を返す」とかいう感じになるでしょうか。

ちなみにABSはabsolute value(絶対値)という意味です。

使い方

すごいシンプルな関数です。

=ABS(引数)
 →絶対値を返す

<例>
=ABS(10) →10
=ABS(-800) →800
=ABS(150-400) →250

「だからなに?」「これって本当に必要?」って思っちゃいます。

使い方① 乖離を判定する

絶対値を計算というよりは差分を判定という感じで使うと良いです。異常値を素早く特定したり、大きな変動の個数をカウントしたり、チェックの工程で便利に使えます。

◆予実管理で20%超のブレに対してアラート出したい
ABS((当月-前月)/前月)>20% でフラグを立てる。条件付き書式と組み合わせても良い。
→計上ミスや請求額の誤りなどのチェックに使う

◆厚生年金保険料が変わってる人数をぱっと数えたい
COUNT関数と組み合わせてABS(当月-前月)<>0を数える
→月額変更や入社退社人の社会保険料処理のチェックに使う

差分を計算してフィルタを使いながらやってもいいのですが、ぱっとチェックや判定をする際には便利です。

使い方② 時間のマイナス差分を表示する

人事だとよくあるんじゃないでしょうか。シリアル値の時間(9時15分→9:15と表示するタイプ)はマイナスの値が取れないので差分を計算してチェックしたくてぱっとマイナスの計算するとこうなります。

画像1

数字の中に突如現れる謎の########
負が出るのをわかった上でやってるんだからマイナスで表示してくれよと思うのですがそうもいかず。
そもそもシリアル値はマイナスにならないなら諦めがつくのですが、この######は実際はマイナスの値が入っているという仕様。

画像2

24をかけて通常の値(9:15→9.25)に直してやってもいいのですが、計算結果が0.78と出たときにこれが何分なのか分からない。

そこでABSと条件付き書式を使うとこんな感じで差分が分かるようになります。

画像3

赤く見えてても実はプラスなので計算には使いにくくなりますが、読めるようになったのでチェックには使えるようになります。

おすすめ出来ない使い方

ググるとABS関数の使い方とか出てきますが正直、うーんと思ったので紹介します。

① マイナスをプラスにしたいだけ

営業キロ計算
https://kokodane.com/kansu_math_01.htm
2点間の距離を計算するのにマイナスが出てしまうからABS関数を使う

計算結果のマイナスをプラスにしたいだけなら、言葉の通りIF関数使ってマイナスだったらプラスにするとかにしましょう。
ABS関数使うと気持ちがいいですが、ABS関数を知らない他の人が見たときに余計なメンテナンスコストがかかります。

数式のシンプルさや美しさも重要ですが、他の人がぱっと見て意図を汲み取れるようにするのも重要です。

② 個別の乖離をみたいとき

目標金額との差分を出す
https://www.manetama.jp/report/excel-hack-abs-function/
目標売上との差がマイナスになってしまうのはおかしい

目標を達成したにも関わらずマイナスで表記されるのは不自然というのは分かるのですが、それをプラスにしてしまうと意味合いがこんがらがってしまいます。達成してるのか達成してないのかがぱっと分からないほうが不自然。

乖離や差分の程度を知りたいのなら素直にマイナスを取ればいいし、もっとパッとスマートに異常値を出したいなら偏差値を使いましょう。

③ 大小が定まってないデータの差分を計算する

データが並んではいるけど左右で大小がバラバラだからマイナスすると正負がバラバラになるってシーンも紹介されました。
が、そもそもの話として比較するのであればなるべく左右にも上下にもソートしておくべきなのでABS関数を使う前にデータの正規化をやりましょう。

さいごに

ぶっちゃけABS関数なんて知らなくてもどうにかなること多いし、複数の人が編集するシートだったらむしろ使わないほうがいい関数だと思ってます。
IF関数で大丈夫です。

この記事が気に入ったらサポートをしてみませんか?