本ページには広告が含まれています。

Excel VBA Abs関数で絶対値を取得する

Excel VBA Abs関数で絶対値を取得する

Excel VBAの「Abs関数」について解説します。

スポンサーリンク

Abs関数とは

Excel VBA で数値の絶対値を使う必要があるときに使う関数です。

絶対値とは

数値が「正の数(0より大きい)」ならばそのままの数字、「負の数(0より小さい)」ならばマイナス記号(−)を取った数字のことです。
※ 数学では「原点( 0 の位置)からの距離」と説明することが多いようです。

Abs関数は、指定した数値の絶対値(正の値)を返します。

「1」なら「1」を「-1」なら「1」を返します。マイナスをプラスに変換した値を返します。

Abs 関数 (Visual Basic for Applications リファレンス)

構文(引数と戻り値)

Abs関数を使いこなすには、構文を理解しておくことが重要です。

構文

Abs(number)

引数と戻り値

引数:number必須です。

  • number には 数値 または 任意の有効な数値式を指定できます。
  • number に Null が含まれる場合、Null が返されます。
  • また、初期化されていない変数の場合は、0 が返されます。

戻り値:number の絶対値が返ります。戻り値の型は引数 number と同じ型です。

解説

数値(数値式の解)の絶対値とは、その数値からマイナス符号を取り除いた値です。

例えば、Abs(-9) と Abs(9) は両方とも 9 を返します。

Abs(1-10) は 9 を返します。

2 つの数値の差を知りたいときなどに使用できます。

使用例(絶対値を取得する)

このサンプルコードは、指定した数値の絶対値を計算し、その結果をイミディエイトウィンドウで表示します。計算結果を絶対値にしているケースと計算前に絶対値にしているケースがあります。

Sub AbsTest()

Debug.Print Abs(1)      '1
Debug.Print Abs(-1)     '1
Debug.Print Abs(1 / 3)  '0.333333333333333
Debug.Print -1 / 3      '-0.333333333333333
Debug.Print Abs(-1 / 3) '0.333333333333333

Debug.Print 1 + Abs(-2) '3
Debug.Print Abs(-5) * 3 '15
Debug.Print 10 / Abs(-2) '5
Debug.Print Abs(1 - 10) '9

End Sub

使用例(数値の差を求める)

ここでの数値の差は、a、b、c の地点の差のことです。それぞれの位置は「0」からの位置を表していると考えてください。計算後に絶対値にしています。

Sub AbsTest2()
Dim a, b, c
a = 10
b = 5
c = -15

Debug.Print a - b       '5
Debug.Print Abs(a - b)  '5

Debug.Print b - a       '-5
Debug.Print Abs(b - a)  '5

Debug.Print a - c       '25
Debug.Print Abs(a - c)  '25

Debug.Print c - a       '-25
Debug.Print Abs(c - a)  '25
End Sub

おわりに

絶対値を求める Abs関数でした。

数値がマイナス(負の数)だった場合、数値に「-1」を掛けて正の数にして計算するというようなことをしたことはありませんか。

Abs関数を使えば「数値がマイナス(負の数)だった場合」という手順を加える必要が無くなりますね。

この解説が、少しでもみなさまのお役に立てたなら幸いです(^^;

スポンサーリンク

VBAサンプルファイルはダウンロードできます

このページで使用したサンプルファイルの登録はありません(^^;

ダウンロードページへトップリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!