Excelで「10を底とする対数(常用対数)」を求めたいとき、どうすればいいか迷ったことはありませんか。
科学計算やデータ分析をしていると「対数スケール」や「桁数の計算」が必要になる場面がありますよね。手で計算するのは大変ですし、間違いやすいものです。
そんなときに使えるのがExcelの LOG10関数 です。引数は1つだけ、書き方もシンプルなのに、桁数算出からデシベル計算まで幅広く使えます。
この記事では、LOG10関数の基本的な書き方から実務で役立つ7つの活用パターンまで解説します。よくあるエラーと対処法、似た関数(LOG・LN)との使い分けもあわせて紹介していきますね。
ExcelのLOG10関数とは?
LOG10関数は、10を底とする対数(常用対数) を返す関数です。
読み方は「ログテン」です。関数名は「LOG(対数を意味する Logarithm の略)」に底の「10」を付けた形になっています。
たとえば =LOG10(1000) と入力すると、結果は 3 になります。これは「10を3回かけると1000になる(10 × 10 × 10 = 1000)」ことを意味します。
常用対数は、実は日常生活でもなじみ深いものです。デシベル(音の大きさ)、pH(水溶液の酸性度)、地震のマグニチュードなどは、すべて常用対数がベースになっていますよ。
LOG10関数で何ができる?
LOG10関数を使うと、次のようなことが可能になります。
- 数値の 桁数 をすばやく求める
- 音圧比や電力比を デシベル(dB) に変換する
- 売上データのように 桁が大きく違う値 を比較しやすく整える
- 複利計算で 目標到達までの年数 を逆算する
- 化学・科学データの pH や水素イオン濃度 を計算する
「対数」と聞くと身構えてしまいますが、実は実務でも結構使い道がある関数なんです。
ExcelのLOG10関数の書き方(構文と引数)
基本構文
=LOG10(数値)
引数は 1つだけ です。底を指定する引数はありません。常用対数に特化したシンプルな関数になっています。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 数値 | 必須 | 対数を求めたい正の実数を指定します |
引数には、次のいずれも指定できます。
- セル参照(例:
A1) - 数値リテラル(例:
1000) - 数式の結果(例:
B2/B1)
注意点もまとめておきます。
- 0以下の値を指定すると #NUM!エラー になります
- 数値以外のテキストを指定すると #VALUE!エラー になります
- 空白セルを指定した場合は 0 として扱われ、結果は #NUM! エラーになります
LOG10関数の基本的な使い方
実際にLOG10関数を使ってみましょう。よく使うパターンを3つ紹介します。
数値を直接指定する
=LOG10(1000)
結果は 3 です。10の3乗が1000だからですね。
セル参照で指定する
=LOG10(A1)
A1セルの値の常用対数を返します。データが変わると結果も自動で更新されるので便利ですよ。
数式の結果を引数にする
=LOG10(B2/B1)
B2 と B1 の比率の常用対数を求めます。後ほど紹介するデシベル計算で使うパターンです。
主な入力値と結果の早見表
覚えておくと便利な値をまとめました。
| 入力値 | LOG10の結果 | 意味 |
|---|---|---|
| 1 | 0 | 10の0乗 = 1 |
| 10 | 1 | 10の1乗 = 10 |
| 100 | 2 | 10の2乗 = 100 |
| 1000 | 3 | 10の3乗 = 1000 |
| 1000000 | 6 | 10の6乗 = 100万 |
| 0.1 | -1 | 10の-1乗 = 0.1 |
| 0.01 | -2 | 10の-2乗 = 0.01 |
10のきれいなべき乗なら整数が返ります。それ以外の値では小数が返りますよ。
たとえば =LOG10(2) は約 0.30103、=LOG10(5) は約 0.69897 です。「LOG10(2) + LOG10(5) = LOG10(10) = 1」のように、対数の和は積の対数になる関係も成り立ちます。
LOG10関数の実務活用パターン
LOG10関数は「教科書の中だけの関数」ではありません。実務で役立つ場面を7つ紹介します。
1. 数値の桁数を求める
データの桁数を調べたいときに使えるテクニックです。
=INT(LOG10(A1)) + 1
たとえば A1 に 12345 が入っている場合、LOG10(12345) は約 4.09 になります。INT関数(小数点以下を切り捨てる関数)で 4 にしてから 1 を足すと 5桁 と求まります。
仕組みはシンプルです。「10の何乗か」が桁数 – 1 と一致するため、対数を取って切り捨て、1 を足すだけで桁数になります。大量の数値データの桁数をまとめてチェックしたいときに重宝しますよ。
ただし、この式は 正の整数 を前提にしています。0や負の数、小数を含む場合は IFERROR を組み合わせて防御するのがおすすめです。
=IFERROR(INT(LOG10(ABS(A1))) + 1, 0)
ABS関数で絶対値に変換しておくと、負の数の桁数も求められます。
2. デシベル計算(音圧比・電力比)
音の強さや電力比をデシベル(dB)で表す計算にもLOG10関数を使います。
電力比のデシベルは次の式で求めます。
=10 * LOG10(A2/A1)
A1 を基準値、A2 を測定値とすると、dB(デシベル)単位での比率が求まります。たとえば A1 が 1、A2 が 100 のとき、結果は 20dB です。
音圧や電圧のデシベルは係数が 20 になります。
=20 * LOG10(A2/A1)
「電力は 10 倍、音圧・電圧は 20 倍」と覚えておくとミスを防げます。
3. pH(水素イオン濃度指数)の計算
化学のデータを扱う場面では、水素イオン濃度(mol/L)から pH を求めることがあります。
=-LOG10(A1)
A1 に水素イオン濃度(モル濃度)を入れると、その液体の pH が返ります。たとえば 1×10^-7 mol/L なら pH は 7(中性) です。
pH の定義そのものが「水素イオン濃度の常用対数の符号反転」なので、LOG10 関数だけでそのまま計算できます。
4. 桁の違うデータをグラフで比較する
売上データのように 1 万円から 1 億円まで幅があるデータは、そのままグラフにすると小さい値がつぶれてしまいますよね。
=LOG10(A1)
対数に変換してからグラフを作ると、桁の違うデータでもバランスよく可視化できます。Excel のグラフで「軸の書式設定 → 対数目盛を表示する」を使うのと同じ考え方です。
データそのものを対数変換しておくと、線形目盛のグラフでもそのまま使えます。そのため、PowerPoint に貼り付けたときの見た目を整えやすくなりますよ。
5. 目標達成に必要な年数の計算
複利計算で「元本が目標額に届くまで何年かかるか」を求める式にも LOG10 が登場します。
=LOG10(目標額/元本) / LOG10(1+年利)
たとえば元本 100 万円、年利 5% で 200 万円に到達する年数は次の式になります。
=LOG10(2) / LOG10(1.05)
結果は約 14.2 年 です。「72 の法則」(72 ÷ 年利% で倍増年数を概算する)と近い値が出ますね。
6. 地震のマグニチュード差からエネルギー比を逆算する
マグニチュード(M)が 1 大きくなると、地震のエネルギーは約 32 倍になると言われています。
逆に「エネルギー比からマグニチュード差を求める」場面では、LOG10 が使えます。
=LOG10(エネルギー比) / 1.5
たとえばエネルギー比が 1000 倍のとき、マグニチュード差は LOG10(1000)/1.5 = 3/1.5 = 2 と算出されます。防災資料の整理でたまに登場する計算です。
7. 大きな数値の対数スケール表示用ラベル
縦軸を「1, 10, 100, 1,000, 10,000」のように対数スケールで表示するラベルを作るときも便利です。
=10^A1
A1 に 0, 1, 2, 3 と入力した列を用意すれば、隣の列に 1, 10, 100, 1000 が並ぶラベルが作れます。逆に「数値からスケール上の位置」を出すときは LOG10 を使います。
=LOG10(A1)
ダッシュボード作成時に重宝するパターンです。
LOG10関数でよくあるエラーと対処法
LOG10関数で発生しやすいエラーは大きく分けて2種類です。原因と対処法を整理しました。
| エラー | 主な原因 | 対処法 |
|---|---|---|
| #NUM! | 0または負の数を指定した | IF関数で事前チェック / ABS関数で絶対値化 |
| #VALUE! | 数値以外のテキストを指定した | ISNUMBER関数で事前チェック / 入力値を見直す |
| #NAME? | 関数名のスペルミス(LOG10の0を抜かす等) | LOG10と正しく入力する |
#NUM!エラー
原因: 数値に 0 または負の値を指定した場合に発生します。
対数は正の数に対してのみ定義されるため、0以下は計算できません。
対処法: IF関数で事前チェックしましょう。
=IF(A1>0, LOG10(A1), "入力エラー")
A1 が 0 より大きいときだけ計算し、それ以外は「入力エラー」と表示します。
絶対値で対数を取りたい場合は ABS関数を組み合わせます。
=IF(A1<>0, LOG10(ABS(A1)), "入力エラー")
#VALUE!エラー
原因: 数値にテキストが入っている場合に発生します。
対処法: ISNUMBER関数(値が数値かどうかを判定する関数)で事前にチェックします。
=IF(ISNUMBER(A1), LOG10(A1), "数値を入力")
数値が文字列として入っているケースも多いです(例: 列のセル書式が「文字列」になっている)。データの取り込み元も合わせて確認するとミスを減らせます。
IFERRORで一括ガードする方法
複数のエラー要因をまとめて吸収したい場合は、IFERROR を使うのが一番簡単です。
=IFERROR(LOG10(A1), "入力値を確認")
#NUM! でも #VALUE! でも、まとめて「入力値を確認」と表示できます。レポート資料など、エラーをそのまま見せたくない場面で便利ですよ。
LOG10関数と似た関数との違い・使い分け
Excelには対数を求める関数が複数あります。違いを整理しておきましょう。
使い分けのポイント
選び方は次の3つで判断できます。
- 底が 10 なら LOG10 が一番シンプルです
- 底を自由に変えたいなら LOG関数 を使います(例: 底2の対数を求めたい)
- 自然対数が必要なら LN関数 の出番です(例: e を底にした連続複利)
=LOG10(x) と =LOG(x, 10) は同じ結果を返しますが、LOG10 のほうが短く書けるのでおすすめですよ。底を引数に書く必要がなく、入力ミスも減らせます。
LOG10の逆演算は「10のべき乗」
LOG10 で対数にした値を元に戻すには、10 のべき乗 を使います。
=10^LOG10(A1)
または POWER 関数を使う方法もあります。
=POWER(10, LOG10(A1))
どちらも結果は A1 の値そのものに戻ります。「対数 → 元の値」の変換は、データ可視化のあとに元の単位に戻したいときに役立ちますよ。
なお、自然対数 LN の逆演算は EXP 関数です。LOG10 の逆演算には EXP関数は使えないので注意してください。底が違うので結果が変わってしまいます。
LOG10関数を使うときの注意点
ここまでの内容を踏まえて、実務で気をつけたいポイントをまとめておきます。
引数は必ず正の数にする
繰り返しになりますが、LOG10 関数は正の数しか扱えません。0 や負の数が混ざる可能性のあるデータは、必ず IF または IFERROR でガードしましょう。
表示桁数と実際の値のズレ
LOG10(2) などの結果は無理数なので、Excel の表示桁数によっては丸められます。「合計が合わない」と感じたときは、セルの書式を「数値・小数点以下15桁」に変えて実際の値を確認すると原因がわかります。
単位の入った数値はあらかじめ数値化する
「123 個」のように単位付きで入力された数値は、文字列扱いになっていて #VALUE! エラーになります。VALUE関数や置換機能で数値だけを取り出してから LOG10 に渡してください。
LOG10と数式の組み合わせは括弧で明示する
=10 LOG10(A2/A1) のような式では、LOG10 の優先順位が高いため意図通りに動きます。とはいえ、可読性のために =10 (LOG10(A2/A1)) のように括弧で明示しておくと、後から見直したときに迷いません。
まとめ
LOG10関数は、Excelで常用対数(10を底とする対数)を求めるための関数です。
この記事のポイント を振り返ってみましょう。
- 構文は
=LOG10(数値)で、引数は1つだけ。底を指定する必要はない - 桁数の計算、デシベル計算、pH 計算、対数スケールでのデータ比較など、実務でも活用できる場面は多い
- 0以下の値を指定すると #NUM! エラー、テキストを指定すると #VALUE! エラーになるので、IF関数や IFERROR関数での事前チェックがおすすめ
- LOG関数・LN関数との違いは「底」の値。底が10なら迷わずLOG10を選ぶのが一番シンプル
- 逆演算は「10のべき乗」。
=10^LOG10(A1)で元の値に戻せる
対数はとっつきにくいイメージがありますが、LOG10関数を使えば計算自体はとてもシンプルです。まずは桁数の計算など身近な場面から試してみてくださいね。
