Excel関数 逆引き集 | 底指定対数 → LOG

Excel
スポンサーリンク

概要

「2 を底にした対数が欲しい」「10 以外の底で対数を取りたい」「常用対数も自然対数も、1つの関数で書きたい」
そんなときに使うのが LOG 関数(底指定対数) です。

LOG は
「任意の底を指定して、その底を何乗したらその数になるか(=対数)」
を返す関数です。
LOG10 や LN より一段“汎用的な対数関数”だと思ってください。


LOG 関数の基本

書式と意味

=LOG(数値, 底)

数値:対数を取りたい正の実数
底 :対数の底(正の実数、1 以外)

「底 を何乗したら 数値 になるか?」という“指数”が結果として返ってきます。

例:

=LOG(8,2)      ' 2 を何乗したら 8? → 3
=LOG(100,10)   ' 10 を何乗したら 100? → 2
=LOG(16,4)     ' 4 を何乗したら 16? → 2

底を省略した場合は 10 が使われるので、LOG10 と同じ動きになります。

=LOG(100)      ' 底を省略 → 10 が使われる → 2
=LOG10(100)    ' 同じ結果

LOG のルールと注意点

数値は「正の数」だけ

LOG の第1引数(数値)は、必ず正の実数である必要があります。
0 以下を渡すと、対数が定義されないので #NUM! エラーになります。

=LOG(0,10)     ' → #NUM!
=LOG(-5,2)     ' → #NUM!

底は「正の数かつ 1 以外」

底もルールがあります。

  • 正の数であること
  • 1 ではないこと

これを破ると #NUM! エラーになります。

=LOG(10,1)     ' 底が 1 → #NUM!
=LOG(10,0)     ' 底が 0 → #NUM!
=LOG(10,-2)    ' 底が負 → #NUM!

LOG と LN・LOG10 の関係

LOG10 と同じ書き方

底を 10 にすれば LOG10 と同じです。

=LOG(数値,10)   ' LOG10(数値) と同じ
=LOG(数値)      ' 底省略 → 10 が使われる → LOG10(数値) と同じ

LN と同じ書き方

底を e(ネイピア数)にすれば LN と同じです。
e は EXP(1) で表現できます。

=LOG(数値,EXP(1))   ' LN(数値) と同じ
=LN(数値)

「底を変えたいときは LOG」「10 固定なら LOG10」「e 固定なら LN」
という整理で覚えておくとスッキリします。


実務でのイメージと使いどころ

2 を底にした対数(情報量・ビットの感覚)

情報量やビット数の感覚では、底 2 の対数がよく出てきます。

=LOG(A2,2)

A2 に 8 が入っていれば結果は 3(2^3=8)です。
「何ビット分か」「2 の何乗か」といった感覚で使えます。

任意の底でスケールを変えたいとき

「このデータを底 3 の対数スケールで見たい」
「底を変えながら対数変換したい」
といったとき、LOG なら底を自由に指定できます。

=LOG(A2,B2)

A2:元データ
B2:底(2、3、10、e など)

底をセルで持たせておけば、あとから底を変えて試すことも簡単です。


コード例・テンプレート

底 10 の対数(常用対数)

=LOG(A2)        ' 底省略 → 10
=LOG(A2,10)     ' 明示的に 10 を指定

底 e の対数(自然対数)

=LOG(A2,EXP(1))
=LN(A2)

底 2 の対数(ビット数のイメージ)

=LOG(A2,2)

底をセルで指定する汎用形

=LOG(A2,B2)     ' A2 の B2 を底とする対数

例題

問題1

A2 に「8」が入っています。
この値の「2 を底とする対数」を求める式を書いてください。

=LOG(A2,2)

(結果は 3 になります。2^3=8)


問題2

A2 に「100」が入っています。
この値の「10 を底とする対数」を LOG 関数だけで求める式を書いてください。

=LOG(A2)

(または =LOG(A2,10)。結果は 2 です。)


問題3

A2 に「正の数値」が入っています。
この値の自然対数を LOG 関数だけを使って求める式を書いてください。

=LOG(A2,EXP(1))

(LN(A2) と同じ結果になります。)


問題4

A2 に「正の数値」、B2 に「底」が入っています。
「A2 の B2 を底とする対数」を求める汎用的な式を書いてください。

=LOG(A2,B2)

問題5

A2 に「0」または負の数が入っています。
=LOG(A2,10) を計算するとどうなるか、エラーの種類を答えてください。

0 以下の数値に対して LOG を計算すると、対数が定義されないため #NUM! エラーになります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました