ExcelのLN関数の使い方|自然対数の基本とEXP関数との関係

スポンサーリンク

「自然対数って何だっけ…」と聞かれて、すぐに答えられますか。学生時代に習ったはずなのに、いざExcelで使おうとすると手が止まりますよね。

でも心配いりません。ExcelのLN関数は引数が1つだけのシンプルな関数です。仕組みを理解すれば、連続複利の試算、成長率の比較、回帰分析の前処理にも使いこなせます。

この記事では、LN関数の基本からEXP関数との逆関数関係、実務での使いどころ、エラー対処までわかりやすく解説します。

ExcelのLN関数とは?

LN関数は、自然対数(しぜんたいすう) を求める関数です。読み方は「ログ ナチュラル」です。関数名は Logarithm Natural(自然対数)の頭文字に由来します。

自然対数とは、e(ネイピア数) を底とする対数のことです。eは約2.71828で、円周率と同じく数学の世界で頻繁に登場する定数です。

たとえば =LN(7.389) と入力すると、結果は約 2 になります。これは「eを2乗すると約7.389になる」ことを意味しています。

e^2 ≒ 7.389 ⟺ LN(7.389) ≒ 2

「eって何に使うの?」と感じるかもしれません。eは自然界の成長や減衰を表す数式に登場します。人口の増加率や放射性物質の半減期など、連続的に変化する現象はeで記述されます。Excelでは、そうした計算を手軽に行えるのがLN関数です。

NOTE

自然対数は数学では ln(x)、工学では log_e(x) とも書きます。Excelでは「LN関数」が国際標準で、英語版・日本語版を問わず同じ名称です。

LN・LOG・LOG10の使い分け早見表

Excelには対数を求める関数が3つあります。違いは「底が何か」だけです。

関数書式例主な用途
LNe≒2.718(固定)=LN(10)自然対数(連続複利・成長率)
LOG任意に指定可能(省略時は10)=LOG(8,2)底を自由に選びたいとき
LOG1010(固定)=LOG10(100)常用対数(桁数計算・デシベル)

自然対数を使いたいならLN関数を選びましょう。LOG関数でも =LOG(10, EXP(1)) と書けば同じ結果になります。ただし、LN関数のほうがはるかに簡潔ですよ。

LN関数の書式と引数

LN関数の構文は次のとおりです。

=LN(数値)

引数は 1つだけ です。底を指定する必要はありません。自然対数に特化したシンプルな関数です。

引数必須/省略可説明
数値必須自然対数を求めたい正の実数を指定します
  • セル参照・数値・数式のいずれも指定できます
  • 0以下の値を指定すると #NUM!エラー になります
  • テキストを指定すると #VALUE!エラー になります
  • 戻り値はdouble型の浮動小数点数です。15桁精度で計算されます

対応バージョン

LN関数はExcelの初期バージョンから搭載されている標準関数です。Excel 2007以降の全バージョンに加え、Excel for Mac、Excel for Web、Microsoft 365でも利用できます。互換性を気にせず使えるので安心ですよ。

LN関数の基本的な使い方

実際にLN関数を使ってみましょう。

数値を直接指定する

=LN(1)

結果は 0 です。eの0乗は1だからです。どんな底でも、1の対数は必ず0になります。

セル参照で指定する

=LN(A1)

A1セルの値の自然対数を返します。データが変われば結果も自動で更新されるので便利ですよ。

数式の中で組み合わせる

=LN(SUM(B2:B10))

合計値の自然対数を一発で求められます。中間セルを用意する必要はありません。

主な入力値と結果の一覧

覚えておくと便利な値をまとめました。

入力値LN の結果意味
10eの0乗 = 1
e(≒2.718)1eの1乗 = e
7.389約2eの2乗 ≒ 7.389
10約2.303eの約2.303乗 = 10
0.5約-0.693eの約-0.693乗 ≒ 0.5
100約4.605eの約4.605乗 ≒ 100
1000約6.908eの約6.908乗 ≒ 1000

eのちょうどの累乗なら整数が返ります。それ以外の値では小数になりますよ。

TIP

Excelで「e」そのものを入力したいときは =EXP(1) と書きます。=LN(EXP(1)) を試すと、結果が 1 になることを確認できます。

EXP関数との逆関数関係

LN関数を使ううえで最も大切なのが、EXP関数との逆関数関係 です。

EXP関数は「eのべき乗」を求める関数です。つまり次の関係が成り立ちます。

結果説明
=LN(EXP(3))3eの3乗を自然対数に戻すと3
=EXP(LN(10))1010の自然対数をeで累乗すると10
=LN(EXP(0))0eの0乗は1。LN(1)は0
=EXP(LN(0.5))0.51未満の値でも逆関数関係は成立

この関係を一言でまとめると、LNで対数にした値はEXPで元に戻せる ということです。逆も同じです。

「LNで変換 → 計算 → EXPで元に戻す」という流れは、連続複利や成長率の計算で頻繁に登場します。セットで覚えておくと便利ですよ。

数学的に見た逆関数の意味

数学では y = e^x のグラフと y = ln(x) のグラフが、y = x の直線に対して対称になります。Excel上でも =EXP(A1)=LN(A1) を別々の列に並べると、互いに値を打ち消し合うことが確認できます。

A1セルに 5 を入力した場合
=LN(EXP(A1)) → 5
=EXP(LN(A1)) → 5

入力値そのものが返るのが、逆関数の証拠です。

LN関数の実務活用パターン

LN関数は理論的な関数に見えますが、実務でも活躍する場面があります。3つの代表例を紹介します。

パターン1: 連続複利で目標到達年数を計算する

通常の複利は「年1回」や「月1回」など決まったタイミングで利息がつきます。一方、連続複利は「瞬間ごとに利息が発生する」という理論上の計算方法です。金融理論や年金計算で使われる考え方ですよ。

連続複利の公式は次のとおりです。

将来額 = 元本 × EXP(年利 × 年数)

逆に「目標額に達するまで何年かかるか」を求めるには、LN関数を使います。

=LN(目標額/元本) / 年利

たとえば元本100万円、年利3%で200万円に到達する年数は次のように計算します。

=LN(2000000/1000000) / 0.03

LN(2) ÷ 0.03 ≒ 0.693 ÷ 0.03 ≒ 23.1年 です。

通常複利の場合は =LOG(2,1.03) で約23.4年。連続複利のほうがわずかに短くなります。この差が連続複利の特徴ですよ。

TIP

「資産が2倍になる年数」を概算する 72の法則 をご存じですか。72÷年利%でおおよその倍増年数が求まります。年利3%なら72÷3=24年。LN関数で計算した23.1年とほぼ一致します。72の法則は LN(2)≒0.693 に100を掛けて約69としたものを、計算しやすく72に丸めた近似式なんです。

パターン2: 対数リターンで成長率を比較する

売上が「100万→150万→200万」と推移した場合、前年比は50%→33%と変動します。伸び幅は同じ50万円なのに、比率が変わるので比較しにくいですよね。

こうしたケースでは、対数変換(対数リターン)を使うと扱いやすくなります。

=LN(今期の売上 / 前期の売上)
期間売上前年比LN(今期/前期)
1年目100万
2年目150万50%0.405
3年目200万33%0.288

対数リターンの利点は「加法性」です。2年分の対数リターンを足すと、全期間の対数リターンになります。0.405 + 0.288 = 0.693で、これはLN(200/100)と一致します。

NOTE

対数リターンは金融分野で「ログ収益率」とも呼ばれます。短期間(1日や1週間)の収益率では、通常リターンと対数リターンの差はわずか1%以下です。一方、年率換算や複数年の合算では対数リターンのほうが計算しやすく、株式分析やリスク評価でよく使われます。

パターン3: 散布図に対数軸を当てて分析する

売上と広告費、人口と都市数など、桁の幅が大きいデータをそのまま散布図にすると、小さい値が見えなくなります。

そこで、片方または両方の軸をLN関数で変換してからグラフを描くと、傾向が明確になります。

B列: 元データ(広告費)
C列: =LN(B2)  ← 対数変換した値

C列を散布図のX軸に使うと、データのばらつきが圧縮されて、回帰直線が引きやすくなりますよ。

統計分析では、y = a x^b という冪乗(べきじょう)関係を LN(y) = LN(a) + b LN(x) という直線関係に変換するのに使います。Excel上ではSLOPE関数と組み合わせると、傾きbを直接求められます。

よくあるエラーと対処法

LN関数で発生しやすいエラーは主に2種類です。

#NUM!エラー

数値に0または負の値を指定すると発生します。自然対数は正の数に対してのみ定義されるためです。

原因数式例対処法
数値が0=LN(0)0の対数は定義されない
数値が負=LN(-5)正の数を指定する

データが未入力のセルを参照してしまうケースが多いです。IF関数で事前チェックすると安全ですよ。

=IF(A1>0, LN(A1), "入力エラー")

#VALUE!エラー

数値にテキストが入っている場合に発生します。

=LN("abc")  → #VALUE!エラー

セル参照先に全角数字や単位付きの文字列(「100個」など)がないか確認してください。文字列形式の数値はVALUE関数で変換できます。

=LN(VALUE(A1))

IFERRORでエラーを一括回避する

データの一括処理では、IFERROR関数(エラー時に代替値を返す関数)で囲むと安全です。

=IFERROR(LN(A1), "")

エラーが出たセルは空欄になるので、集計に影響しません。

WARNING

売上やアクセス数の対数を取るとき、月によって0が入る可能性があります。=LN(売上) がエラーになるとAVERAGE関数の結果も巻き込まれて崩れます。=LN(売上+1) のように1を足してから対数を取る「log(x+1)変換」が、データ分析の現場ではよく使われますよ。

LN関数とSUMPRODUCT・配列関数の組み合わせ

複数のセルにまとめてLN関数を適用したい場合、Microsoft 365では配列を直接渡せます。

=LN(A2:A10)

スピル機能で結果が10セルに展開されます。Excel 2019以前を使っている場合は、配列数式として Ctrl+Shift+Enter で確定するか、各セルに個別に入力してください。

幾何平均(複数の値を掛け合わせた平方根)を対数で求めるテクニックもあります。

=EXP(AVERAGE(LN(A2:A10)))

各値を対数化 → 平均 → 元に戻す、という3段階で幾何平均が求まります。Excel標準のGEOMEAN関数と同じ結果になりますよ。

まとめ

LN関数のポイントを振り返ります。

  • LN関数はe(≒2.718)を底とする自然対数を返す関数
  • 構文は =LN(数値) で、引数は1つだけ
  • EXP関数と逆関数の関係。LNで対数にした値はEXPで元に戻せる
  • 連続複利の年数計算、対数リターンによる成長率比較、回帰分析の前処理など実務でも活躍
  • 0以下の値を指定すると#NUM!エラー。IF関数やIFERRORで事前チェックがおすすめ
  • 底が10の対数ならLOG10関数、底を自由に指定したいならLOG関数を使う

まずは =LN(1) が0を返すことを確認するところから試してみてください。EXP関数とセットで覚えておくと、対数の計算がぐっと楽になりますよ。

関連記事

タイトルとURLをコピーしました