「自然対数って何だっけ…」と聞かれて、すぐに答えられますか。学生時代に習ったはずなのに、いざ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つあります。違いは「底が何か」だけです。
| 関数 | 底 | 書式例 | 主な用途 |
|---|---|---|---|
| LN | e≒2.718(固定) | =LN(10) | 自然対数(連続複利・成長率) |
| LOG | 任意に指定可能(省略時は10) | =LOG(8,2) | 底を自由に選びたいとき |
| LOG10 | 10(固定) | =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 の結果 | 意味 |
|---|---|---|
| 1 | 0 | eの0乗 = 1 |
| e(≒2.718) | 1 | eの1乗 = e |
| 7.389 | 約2 | eの2乗 ≒ 7.389 |
| 10 | 約2.303 | eの約2.303乗 = 10 |
| 0.5 | 約-0.693 | eの約-0.693乗 ≒ 0.5 |
| 100 | 約4.605 | eの約4.605乗 ≒ 100 |
| 1000 | 約6.908 | eの約6.908乗 ≒ 1000 |
eのちょうどの累乗なら整数が返ります。それ以外の値では小数になりますよ。
TIP
Excelで「e」そのものを入力したいときは
=EXP(1)と書きます。=LN(EXP(1))を試すと、結果が 1 になることを確認できます。
EXP関数との逆関数関係
LN関数を使ううえで最も大切なのが、EXP関数との逆関数関係 です。
EXP関数は「eのべき乗」を求める関数です。つまり次の関係が成り立ちます。
| 式 | 結果 | 説明 |
|---|---|---|
| =LN(EXP(3)) | 3 | eの3乗を自然対数に戻すと3 |
| =EXP(LN(10)) | 10 | 10の自然対数をeで累乗すると10 |
| =LN(EXP(0)) | 0 | eの0乗は1。LN(1)は0 |
| =EXP(LN(0.5)) | 0.5 | 1未満の値でも逆関数関係は成立 |
この関係を一言でまとめると、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関数とセットで覚えておくと、対数の計算がぐっと楽になりますよ。
