Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

【Excel】対数・常用対数・自然対数(LOG,LOG10,LN)

【Excel】対数計算

対数関数(logarithm)は指数関数の逆関数として定義され、
 \[y=\log_a{x}\]
のように書き表します。このとき、$x$ と $y$ は
 \[x=a^y\]
の関係を満たします。$a$ を「底」とよびます。少しわかりにくいかもしれませんが、「$a$ を何乗したら $x$ になるか」を考えると、$y$ を計算できます。具体例で考えてみましょう。$a=2,\ x=8$ とすると、
 \[y=\log_{2}8\]
と表せます。指数関数の形に書き直すと、
 \[8=2^y\]
となります。「$2$ を何乗したら $8$ になるか」を考えると、$y=3$ であることがわかります ($2^3=8$)。

特に底 $a$ を $10$ とする
 \[y=\log_{10}x\]
を常用対数 (common logarithm) 、底 $a$ を ネイピア数 $e$ とする
 \[y=\log_e x\]
を自然対数 (natural logarithm) とよびます。ネイピア数 $e$ は
 \[e=2.7182818\cdots\]
という無理数です。Excel の EXP関数を用いて

=EXP(1)

と入力すると、ネイピア数の 15 桁までの値を知ることができます。

エクセルには対数を計算するために、LOG, LN, LOG10 が用意されています。それぞれ「ログ」、「ログナチュラル」、「ログテン」と読みます。LOG 関数を使って、$\log_3 100$ を計算してみましょう。LOG 関数の引数は (真数, 底) の順に指定します。適当なセルに

=LOG(100,3)

を入力すると「4.191806549」を返します。

【Excel】LOG

Excel の LOG 関数は第2引数を底とする第1引数の対数の値を計算します。

=LOG(数値, 底)

数値、底ともに正の値を指定します。たとえば

=LOG(8,2)

と入力すると $\log_2 8$ を計算して「3」を返します。

【Excel】LOG10

Excel の LOG10 は $10$ を底とする常用対数の値を計算します。

=LOG(数値)

引数に 0 または負の値を指定すると「#NUM!」エラーが返ります。たとえば

=LOG10(10)

と入力すると $\log_{10} 10$ を計算して「1」を返します。

【Excel】LN

Excel の LN は指定した数値の自然対数の値を計算します。

=LN(数値)

たとえば

=LN(10)

と入力すると $\log_e 10$ を計算して「2.302 …」を返します。$e$ のべき乗を計算する EXP関数を用いて

=LN(EXP(1))

と入力すると $\log_e e$ を計算して「1」を得ます。引数に 0 または負の値を指定するとエラーとなります。


他にも Excel には複素数の対数を計算するために、IMLN, IMLOG10, IMLOG2 が用意されています。これらの関数を使う機会はあまりないかもしれませんが、一応載せておきます。

【Excel】IMLN

IMLN 関数は渡した引数の自然対数を計算します。

=IMLN(複素数)

たとえば、複素数 $1+i$ の自然対数 $\log_e(1+i)$ を計算するときは、

=IMLN("1+i")

と入力します(複素数は文字列形式で渡すことに注意してください)。実数も複素数に含まれるので、IMLN に普通の数値を渡しても構いません。たとえば、

=IMLN(3)

と入力すると、$\log_e 3$ を計算して「1.0986 …」が返ります。

【Excel】IMLOG10

IMLOG10 は受け取った複素数の常用対数を計算します。

=IMLOG10(複素数)

たとえば、複素数 $5+19i$ の常用対数 $\log_{10}(5+19i)$ を計算したい場合、

=IMLOG10("5+19i")

と記述します。整数や有理数の常用対数を IMLOG10 で計算することもできます。たとえば、

=IMLOG10(100)

と入力すると、$\log_{10}100$ を計算して「2」を返します。

【Excel】IMLOG2

IMLOG2 は複素数の二進対数を計算します。

=IMLOG2(複素数)

たとえば、複素数 $7+2i$ の二進対数を計算するときは、

=IMLOG2("7+2i")

と記述します。数値を IMLOG2 に渡して二進対数を計算することもできます。たとえば、

=IMLOG2(512)

と入力すると、$512$ の二進対数 $\log_{2}512$ を計算して「9」を返します。

エクセルや数学に関するコメントをお寄せください