- 作成日 : 2025年8月25日
LN関数の使い方:エクセルで自然対数を計算する
エクセルで数学的な計算を行う際、自然対数を求めたいと思ったことはありませんか?「LN関数」は、自然対数を手軽に求められる関数です。自然対数は、科学や金融、統計などの分野でよく使われます。
この記事では、エクセル初心者の方にもLN関数の基本的な使い方から、具体的な利用シーン、他の関数との組み合わせによる応用例、そしてよくあるエラーとその対策まで、網羅的に解説していきます。
目次
LN関数の基本的な使い方
LN関数は、指定された数値の自然対数を計算する関数です。自然対数とは、底(てい)がネイピア数 e(約 2.71828)である対数のことを指します。数学の記号では ln(x) と書かれます。
LN関数の書式
LN関数の書式は以下の通りです。
=LN(数値)
数値: 自然対数を計算したい正の数を指定します。この「数値」は、真数(しんすう)と呼ばれます。
具体的な使用例
例えば、セルA1に「10」という数値が入っているとします。
=LN(A1) または =LN(10) の場合:
10の自然対数を計算し、約「2.302585」という値を返します。これは、e^2.302585… ≈ 10 となる数値です。
(または日本語で)これは、e の 2.302585 乗は約 10 であることを示す値です。
LN関数は、指定した数値が正の数である限り、正しく自然対数を求めます。
自然対数とは?
少し専門的になりますが、自然対数とは「ネイピア数 e を何乗したら、その数値になるか」を示す値です。
例えば、e^2 ≈ 7.389 なので、=LN(7.389) の結果は約 2 になります。
(または)例えば、e の 2 乗は約 7.389 なので、=LN(7.389) の結果は約 2 になります。
LN関数は、特に成長率の計算や、指数関数的な減衰を伴う現象の分析などで利用されます。
LN関数の利用シーン
LN関数は、単体で利用されることもありますが、多くの場合、特定の計算や分析の一部として組み込まれます。ここでは、LN関数がどのような場面で役立つのか、具体的な利用シーンを見ていきましょう。
1. データの成長率や減衰率の分析
経済成長、人口増加、放射性物質の減衰など、時間とともに指数関数的に変化するデータの分析にLN関数が用いられます。
例:年間平均成長率(CAGR)の計算
複数の期間にわたる成長率を平均化して算出する際に、LN関数が使用されることがあります。
CAGR=(期末値/期首値)^(1/年数)−1
この式をLN関数を使って変形し、線形回帰などで分析しやすくすることもあります。
2. 統計解析や確率分布の計算
正規分布や対数正規分布といった確率分布の計算において、LN関数が使われることがあります。特に、データの対数を取ることで、データの分布を正規分布に近づけ、統計的な分析を行いやすくする「対数変換」によく利用されます。
例:株価の変動率を分析する際に、日々の株価の対数を取り、その差分を計算してリターンを分析する
これは金融工学の分野でよく用いられる手法です。
3. 金融工学におけるモデリング
オプション価格の評価モデル(ブラック-ショールズ・モデルなど)や、リスク管理の計算でも、LN関数は基礎的な計算に使われます。
例:ボラティリティ(変動率)の計算
株価の対数リターンの標準偏差としてボラティリティを推定する際に利用されます。
4. 科学技術計算
物理学、化学、生物学などの分野で、指数関数的な関係を持つ現象を分析する際に利用されます。
例:pH値の計算(参考)
pHは水素イオン濃度の常用対数(底10)で定義されるため、Excelでは LN ではなく LOG10 関数を用います。
LN関数の応用例としては、例えば指数減衰の分析(半減期 t = LN(2) / λ の計算)などがあります。
LN関数の応用・他関数との組み合わせ
LN関数は、他の数学関数や統計関数と組み合わせることで、より高度な分析や計算が可能になります。
1. EXP関数(自然対数の逆関数)との組み合わせ
EXP関数は、ネイピア数 e を指定された数値で累乗する関数で、LN関数とは逆の関係にあります。
=EXP(LN(数値)) は、数値が正(>0) の場合に元の「数値」を返します。
=LN(EXP(数値)) は任意の実数の「数値」に対して元の「数値」を返します(ただし極端な値では数値誤差やオーバーフローに注意)。
この特性を利用して、指数関数的な増減を伴うモデルの構築や、対数変換したデータを元のスケールに戻す際に使用します。
2. LOG関数(任意の底の対数)との組み合わせ
LN関数は自然対数(底が e)ですが、LOG関数を使えば任意の底の対数を計算できます。
=LOG(数値, 底)
LN関数を使って任意の底 b の対数は、底の変換公式で表せます。
log_b(x) = ln(x) / ln(b)(Excel では =LN(x)/LN(b))
例:底が10の対数を計算する
=LN(A1)/LN(10) は、=LOG(A1, 10) と同じ結果になります。
この応用は、対数変換が必要な場面で、底を自由に変えたい場合に役立ちます。
3. SUMPRODUCT関数や配列数式との組み合わせ
大量のデータを処理する際や、特定の条件を満たすデータの対数を合計するような複雑な計算で、LN関数をSUMPRODUCT関数や配列数式と組み合わせることがあります。
例:特定の条件を満たす項目について、その数値の自然対数を合計する
=SUMPRODUCT(–(条件範囲=”条件”), LN(数値範囲)) は 通常の Enter で確定 できます(CSE 不要)。
数値範囲に 0 以下が含まれる可能性がある場合は、Microsoft 365 では次のように正の値だけに限定すると安全です。
=SUM(LN(FILTER(数値範囲, (条件範囲=”条件”)*(数値範囲>0))))
(FILTER が使えない環境では、事前に 0 以下の値を除く、または IFERROR で除外するなどの対策をしてください。)
LN関数のよくあるエラーと対策
LN関数は比較的シンプルな関数ですが、使用する際に注意すべき点があります。特に引数に関するエラーがよく発生します。
1. #NUM! エラー
このエラーは、LN関数に「負の数」または「ゼロ」を引数として与えた場合に発生します。
自然対数は、真数が正の数である場合にのみ定義されるため、負の数やゼロの対数は存在しません。
- =LN(-5)
- =LN(0)
対策:
LN関数を使用する際は、必ず引数に正の数を指定してください。
もし、計算結果が負になる可能性のあるセルや、ゼロになる可能性のあるセルを参照する場合は、IF関数やMAX関数などを用いて、引数が正の値になるように調整する必要があります。
例:負の値やゼロの場合は計算せずに空欄にする
=IF(A1>0, LN(A1), “”)
例:負の値やゼロの場合でも最小値を保証する
=LN(MAX(A1, 0.0000000001))(非常に小さな正の数を 下限として設定 してエラーを回避)
(注:この方法は負値や 0 を小さな正の値に置き換えるため、統計分析ではバイアスが生じる可能性があります。可能なら =IF(A1>0, LN(A1), “”) などで除外する方法も検討してください。)
2. #VALUE! エラー
このエラーは、LN関数に「数値として認識できない文字列」を引数として与えた場合に発生します。
- =LN(“abc”) (文字列を直接指定)
- A1セルに「データなし」のような文字列が入っている状態で =LN(A1)
対策:
LN関数の引数には、必ず数値、または数値に変換できるセル参照を指定してください。
もし、参照するセルに数値以外のデータが含まれる可能性がある場合は、ISNUMBER関数で数値かどうかを確認したり、IFERROR関数でエラー処理を行うことを検討してください。
例:参照セルが数値でなければエラー表示を回避(かつ 0 より大きいときのみ計算)
=IF(ISNUMBER(A1), IF(A1>0, LN(A1), “0より大きい数が必要です”), “数値ではありません”)
(数値文字列を扱う場合は VALUE/NUMBERVALUE で数値化してから判定すると確実です。)
自然対数の計算をLN関数で手軽に
LN関数は、ネイピア数eを底とした自然対数を求める関数で、Excelにおける指数関数の逆演算として幅広く活用されています。成長率や減衰率の分析、統計処理、金融モデリング、科学計算など、さまざまな分野で基本的な役割を担います。
この記事では、LN関数の基本構文や使用例に加え、EXP関数やLOG関数との組み合わせによる応用、SUMPRODUCTや配列数式との連携による高度な計算手法も紹介しました。また、#NUM!エラーや#VALUE!エラーの原因と対策も取り上げ、実務でつまずきやすいポイントへの対処法も解説しています。
LN関数を正しく理解し、他の関数とうまく組み合わせることで、より精度の高い数値分析やモデル構築が可能になります。ぜひ日々の業務や学習に取り入れ、データに基づく判断や予測に役立ててください。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセル(Excel)を開くのが遅い!原因と調べ方、軽くする対策を徹底解説
エクセル(Excel)を使っていると、ファイルを開くのに時間がかかったり、計算がなかなか終わらなかったり、セルを移動するだけで固まってしまったりと、動作が重くてイライラした経験は誰にでもあるのではないでしょうか。 この記事では、Excelの…
詳しくみるEXCELのCHAR関数とは?文字コードの変換やCODE関数との連携を紹介
ExcelのCHAR関数(読み方:キャラクター/キャラ/チャー関数)を使えば、記号や特殊文字、連続する文字、セル内での改行などを簡単に挿入できます。 本記事では、CHAR関数の基本的な使い方から、CODE関数との連携方法、入力作業を効率化す…
詳しくみるエクセルで日付を簡単に入力する方法
エクセルを使って日付を入力する際、多くの方が手間を感じることがあるかと思います。実際、毎回手動で入力するのは煩わしい作業ですし、日付の形式や入力ミスに悩まされることも少なくありません。しかし、エクセルには日付をスムーズに、かつ正確に入力する…
詳しくみるPROPER関数の使い方:文字列を適切な大文字小文字に変換する方法
PROPER関数は、文字列の各単語の先頭文字を大文字に、それ以外を小文字に変換するエクセルの文字列関数です。名前や住所などのデータを統一的な形式に整える際に便利な関数です。 顧客データベースの整備、レポートの体裁統一、輸入データのクリーニン…
詳しくみるFIND関数の使い方や利用シーンをわかりやすく解説
FIND関数は、テキスト内で特定の文字列の位置を探すための非常に便利なツールです。ExcelやGoogleスプレッドシートなどで利用でき、データ分析やレポート作成の際に大いに役立ちます。この記事では、FIND関数の基本的な使い方から実際の利…
詳しくみるCOUNT関数の使い方とは?スプレッドシートで使える?
COUNT関数は、指定した範囲内の数値セルの数をカウントする非常に便利な関数です。スプレッドシートにおいても使用可能で、データ分析や集計を行う際に重宝します。この記事では、COUNT関数の基本的な使い方から、具体的な利用シーン、関連するCO…
詳しくみる