Excelで対数を計算したいときは、LOG関数やLN関数を使うと、複雑に見える計算もセルへ数式を入力するだけで処理できます。
対数は指数の逆の考え方であり、何乗すれば指定した数になるかを表す数値です。
たとえば、100は10を2乗した値なので、底を10とする100の対数は2になります。
この記事では、LOG関数で底を指定する方法、LOG関数とLOG10関数の違い、自然対数を求めるLN関数、エラーを防ぐ入力方法までを詳しく解説します。
LOG関数の基本形は LOG(数値, 底) です。
底を省略すると10として計算されます。
自然対数を求める場合は LN(数値) を使用します。
サンプルデータは1行目を見出し行として、2行目以降に数値を入力する形式で確認していきましょう。
エクセルのLOG関数による対数計算
それではまず、LOG関数を使って対数を求める基本操作について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 1 | 数値 | 常用対数 |
| 2 | 100 | 2 |
| 3 | 1000 | 3 |
LOG関数は、ある数値を指定した底で何乗すればよいかを返す関数です。
対数の結果を使うと、桁数が大きく異なるデータを比較しやすくなるため、統計、科学、工学、金融などの分野でも活用されています。
LOG関数の書式と引数
LOG関数の書式は、LOG(数値, 底)です。
=LOG(100,10)
この数式は、10を何乗すると100になるかを計算します。
答えは2です。
最初の引数である数値には、対数を求めたい正の数を指定します。
2番目の引数である底には、何を基準にした対数なのかを指定します。
たとえば底を2にすると、2を何乗すれば対象の数値になるかが返されます。
セル参照も利用できるため、A2に数値、B2に底を入力している場合は、C2へ=LOG(A2,B2)と入力できます。

数値と底を別セルで管理すると、底だけを変更して複数パターンを比較したい場面でも便利です。
ただし、数値は0より大きい値、底は0より大きくかつ1以外の値でなければなりません。
この条件を外すと、計算できないことを示すエラーが表示されます。
底を省略した場合の計算
LOG関数では、2番目の引数である底を省略できます。
底を省略した=LOG(100)は、=LOG(100,10)と同じ意味になります。
これは底が10の常用対数を求める計算です。
=LOG(A2)
A2が100なら結果は2です。
A2が1000なら結果は3です。
桁数をおおまかに確認したいときは、底を省略したLOG関数が使いやすいでしょう。
たとえば100000の結果は5となり、10の5乗で100000になることを確認できます。

小数の場合も計算できます。
0.1に対して=LOG(0.1)を入力すると、結果はマイナス1です。
10のマイナス1乗が0.1であるため、負の結果になる仕組みです。
セル参照とオートフィル
複数の数値をまとめて計算する場合は、数式を1つ入力してからオートフィルを使います。
A列に計算対象の数値があり、B列に常用対数を表示するなら、B2へ=LOG(A2)と入力します。
その後、B2の右下にあるフィルハンドルを下へドラッグすると、各行に対応した数式が自動入力されます。
絶対参照を使う場面にも注意が必要です。
たとえばB1に底の値として2を入力し、C2に=LOG(A2,$B$1)と入力すれば、オートフィル後も底の参照先はB1のまま固定されます。
底を固定するセル参照にはドル記号を付けることが、数式をコピーするときの重要なポイントです。
【操作のポイント】底を入力したセルを固定したい場合は、$B$1のように絶対参照を指定しましょう。
LOG関数で底を指定する方法
続いては、LOG関数で底を明示的に指定する計算方法を確認していきます。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1 | 数値 | 底 | 結果 |
| 2 | 8 | 2 | 3 |
| 3 | 81 | 3 | 4 |
底を変えると、同じ数値でも対数の結果は変化します。
これは、何を何乗するかという基準が変わるためです。
底が2の対数計算
コンピューターのデータ容量や2進数を扱うときには、底が2の対数がよく使われます。
8は2の3乗なので、=LOG(8,2)の結果は3です。
同様に、=LOG(1024,2)の結果は10になります。
=LOG(A2,2)
A2に8を入力すると3が返されます。
A2に1024を入力すると10が返されます。
セルに底を入力しておく場合は、たとえばB1へ2を入力し、C2に=LOG(A2,$B$1)と入力します。
この形なら、B1を10へ変更するだけで、すべての結果を底10の対数へ切り替えられます。
計算条件をセルに分けておくと、数式そのものを修正せずに再計算できるのが利点です。

業務用の表では、底をセルに入力して見出しに単位や条件を書くと、後から見返す人にも計算内容が伝わりやすくなります。
底が3や底が5の対数計算

LOG関数の底には2や10以外の数値も指定できます。
=LOG(81,3)は4を返します。
3の4乗が81だからです。
=LOG(125,5)の場合は3となります。
5の3乗が125となる関係をExcelが計算しています。
=LOG(81,3)
=LOG(125,5)
底の値は1以外の正の数を指定します。
底が小数の場合も数学的には指定できますが、日常的な表計算では整数の底を使うケースが一般的です。
結果が整数にならない場合、Excelは小数の対数を返します。
たとえば=LOG(10,2)は約3.321928と表示されます。
表示桁数は、ホームタブの小数点以下の表示桁数を増減するボタンで調整できます。
指数との関係の確認
対数は指数の逆算です。
LOG関数で得られた値を使って、元の数値へ戻せるか確認すると理解しやすくなります。
たとえば=LOG(64,2)の結果は6です。
この結果を用いて=2^6と計算すると64になります。
Excelではべき乗を表す演算子として、ハット記号を使います。
LOG関数の結果は、指定した底の指数として読めると覚えると、数式の意味を見失いにくくなります。
検算用として、A2に数値、B2に底、C2に=LOG(A2,B2)、D2に=B2^C2を設定する方法も有効です。
D2の値がA2と一致すれば、対数計算と指数計算の関係を確認できます。
【操作のポイント】底を変えると対数の値も変化するため、計算表では底のセルに分かりやすい見出しを付けましょう。
LOG関数の入力画面と数式バー
続いては、Excelの数式バーを使ってLOG関数を入力する流れを確認していきます。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1 | 測定値 | 底 | LOG結果 |
| 2 | 100 | 10 | =LOG(A2,B2) |
セルを選択して数式を入力する操作
結果を表示したいセルを最初に選択します。
サンプルではC2をクリックし、数式バーまたはセルへ=LOG(A2,B2)と入力します。
Enterキーを押すと、A2の100とB2の10を使って計算され、C2には2が表示されます。
関数名は半角英字で入力しますが、大文字でも小文字でも構いません。
入力後にExcelがLOGと認識して大文字表記へ整えるため、関数名に誤字がないか確認しやすくなります。
数式は必ずイコール記号から始めることを忘れないようにしましょう。
イコール記号がないと、計算式ではなく文字列としてセルに表示される可能性があります。
関数の挿入ダイアログによる指定
数式を直接入力することに不安がある場合は、関数の挿入を利用できます。
結果を表示するセルを選択してから、数式バーの左側にあるfxボタンをクリックします。
関数の検索欄へLOGと入力し、検索結果からLOGを選びます。
関数の引数ダイアログが開いたら、数値の欄にA2、底の欄にB2を指定します。
セルをクリックして参照を選択できるため、セル番地をキーボードで打ち間違える心配を減らせます。
ダイアログ内では計算結果の見込みも表示されるので、確定前の確認にも役立ちます。
関数の引数ダイアログは、引数の順序を視覚的に確認できる点がメリットです。
オートフィルで連続計算する操作
C2へ数式を入力したら、C2を再度選択します。
選択枠の右下に表示される小さな四角がフィルハンドルです。
この四角を下方向へドラッグすると、C3以降へ数式をコピーできます。
データが連続している場合は、フィルハンドルをダブルクリックする方法もあります。
Excelは隣接するA列やB列のデータ範囲を判断し、該当する行まで数式を自動入力します。
C2へ =LOG(A2,B2) と入力します。
フィルハンドルを下へコピーします。
C3では自動的に =LOG(A3,B3) へ変わります。
数式をコピーした後は、先頭行と末尾行の数式バーを確認しましょう。
意図したセル参照になっていれば、連続計算は完了です。
【操作のポイント】結果を表示する先頭セルに数式を入力し、フィルハンドルで下方向へコピーすると効率的です。
LN関数による自然対数の計算
続いては、自然対数を求めるLN関数について確認していきます。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1 | 数値 | LN関数 | 概算値 |
| 2 | 2.718281828 | =LN(A2) | 1 |
LN関数は、ネイピア数eを底とする対数を返す関数です。
ネイピア数eは約2.718281828で、連続的な増加や減少を扱う計算で重要な定数です。
LN関数の書式
LN関数の書式は、LN(数値)です。
LOG関数とは異なり、底を指定する引数はありません。
LN関数では、底がeに固定されているためです。
=LN(2.718281828)
結果はおよそ1です。
eの1乗がeになる関係を表します。
LN関数はLOG関数の底をeに固定した計算と考えると、違いを整理しやすいでしょう。
数値が1の場合、=LN(1)の結果は0です。
どの底でも0乗は1になるため、自然対数でも同じ結果になります。
LOG関数とLN関数の使い分け
底10の対数が必要なら、LOG関数で底を省略するか、LOG10関数を使います。
底2など任意の底で計算するなら、LOG関数で底を指定します。
自然対数が必要なら、LN関数を選びます。
成長率、減衰率、連続複利、確率分布などでは、自然対数を使う数式が登場することがあります。
何を底にする計算なのかを確認してから関数を選ぶことが大切です。
単に対数と呼ばれていても、問題や資料の分野によって常用対数と自然対数のどちらを指すかが異なります。
計算結果だけで判断せず、元となる式や単位も確認しましょう。
EXP関数による逆算
LN関数の逆の計算には、EXP関数を使えます。
EXP関数はeを指定した数値だけ乗算した結果を返す関数です。
たとえば=LN(20)の結果をB2に表示しているなら、=EXP(B2)と入力すると20へ戻ります。
これはLOG関数とべき乗の関係と同じく、対数と指数が逆の処理であることを示しています。
A2へ20を入力します。
B2へ=LN(A2)を入力します。
C2へ=EXP(B2)を入力すると20に戻ります。
LN関数とEXP関数を組み合わせると、自然対数の計算を検算できるでしょう。
【操作のポイント】底がeの対数を求める場合は、LOG関数へ近似値を入力せずLN関数を使いましょう。
LOG関数とLOG10関数の違い
続いては、LOG関数とLOG10関数の違いを確認していきます。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1 | 数値 | LOG | LOG10 |
| 2 | 1000 | =LOG(A2) | =LOG10(A2) |
LOG10関数は、底が10の対数だけを求める専用関数です。
そのため、=LOG10(1000)と=LOG(1000)の結果はどちらも3になります。
LOG10関数の書式
LOG10関数の書式は、LOG10(数値)です。
引数は数値だけであり、底を指定する欄はありません。
底が10に固定されていることが、LOG関数との大きな違いです。
常用対数だけを明確に計算したい場合はLOG10関数も選択肢になります。
式を見た人が底10の計算だとすぐ判断しやすい点も利点です。
一方で、後から底を2や3へ変える可能性がある表では、LOG関数を使ったほうが柔軟です。
数式の読みやすさ
=LOG(A2)と=LOG10(A2)は、どちらも同じ計算結果を返します。
ただし、底を省略したLOG関数を見た人は、底10であることを改めて確認する必要があるかもしれません。
LOG10関数なら、関数名の中に10が含まれるため、意図が明確です。
複数人で共有するExcelファイルでは、数式の意味が伝わりやすい書き方を選ぶ価値があります。
見出しやセルコメントを併用し、何のための対数かも残しておくとよいでしょう。
用途別の関数選択
桁数やpH、デシベルのように常用対数を扱う場面では、LOG10関数または底を省略したLOG関数が候補です。
2進数のビット数や情報量を扱う場面では、LOG関数で底2を指定します。
連続的な成長モデルなどで自然対数を使う場合は、LN関数を選びます。
底10なら =LOG10(A2)
底2なら =LOG(A2,2)
自然対数なら =LN(A2)
関数名ではなく計算したい底から選ぶと、使い分けを間違えにくくなります。
【操作のポイント】底10の計算だと明示したい表ではLOG10関数、底を変更する可能性がある表ではLOG関数を使い分けましょう。
LOG関数のエラー対処とまとめ
最後に、LOG関数で起こりやすいエラーと、エクセルの対数計算の要点をまとめていきます。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1 | 入力値 | 数式 | 確認点 |
| 2 | 100 | =LOG(A2,10) | 正常 |
| 3 | 0 | =LOG(A3,10) | 数値は正の値 |
数値が0以下の場合
LOG関数やLN関数では、数値に0または負の値を指定できません。
0以下の値を入力すると、通常は#NUM!エラーが表示されます。
対数は、正の数に対して定義される計算だからです。
元データに0やマイナスの値が含まれる可能性がある場合は、事前に条件分岐を設定すると安全です。
=IF(A2>0,LOG(A2),”” )
A2が正の数ならLOG関数を計算します。
0以下なら空白を表示します。
空白ではなく任意のメッセージを表示したい場合は、最後の引数を”対象外”のような文字列に変更できます。
元データに0以下が含まれる可能性を確認することが、エラーを防ぐ第一歩です。
底が1や0以下の場合
底も入力条件を守る必要があります。
底に1を指定すると、何乗しても1のままであり、対数を一意に求められません。
底に0や負の数を指定することもできません。
この場合も#NUM!エラーが表示されます。
底を別セルで管理する表では、誤って1や空白が入力されないように注意しましょう。
データの入力規則を設定し、1より大きい数だけを入力できるようにする方法もあります。
なお、0より大きく1より小さい小数を底にすることは数学上可能ですが、結果の増減方向が直感と逆になりやすいため、用途を明確にして使う必要があります。
まとめ エクセルのLOG関数の使い方とLN関数
ExcelのLOG関数は、指定した底における対数を求める関数です。
=LOG(数値,底)の形で入力し、底を省略すると常用対数を計算できます。
底10を明示したい場合はLOG10関数、ネイピア数eを底とする自然対数を求めたい場合はLN関数を使います。
底2の計算には=LOG(数値,2)、底10の計算には=LOG(数値)または=LOG10(数値)が便利です。
数値は0より大きく、底は0より大きく1以外にするという条件を守ると、#NUM!エラーを避けやすくなります。
数式を入力した後は、セル参照とオートフィルを活用し、複数行のデータも効率よく計算していきましょう。
【操作のポイント】常用対数、任意の底の対数、自然対数のどれが必要かを最初に確認し、LOG関数、LOG10関数、LN関数を使い分けることが重要です。