スプレッドシートのLOG10関数の使い方|常用対数をかんたんに計算

スポンサーリンク

スプレッドシートで「この数値は何桁か?」を調べたいとき、どうしていますか?

LEN関数で文字数を数える方法もありますが、小数点やマイナス記号も含まれてしまいます。LOG10関数を使えば、純粋な桁数をかんたんに計算できます。

この記事では基本の書き方から実務での活用例まで紹介します。LOG関数・LN関数との違いも比較表で整理しています。

LOG10関数とは?

LOG10関数(読み方: ログテン関数)は、指定した値の常用対数(底10の対数)を返す関数です。

名前は英語の「Logarithm base 10(底10の対数)」の略称からきています。

常用対数とは「10を何乗したら、その値になるか」を表す数です。たとえばLOG10(100)は「10を何乗したら100になるか」を計算します。答えは2です。

LOG10関数にできることをまとめると、次のとおりです。

  • 常用対数(底10の対数)を計算する
  • データの桁数を求める
  • 桁数がバラバラなデータを対数スケールで比較する
  • デシベルやpHなどの常用対数を使う計算に利用できる

NOTE

LOG10関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。

LOG10関数の書き方(構文と引数)

基本構文

=LOG10(値)

カッコの中に「対数を求めたい正の数」を指定します。引数は1つだけです。

引数の説明

引数必須/任意説明
必須常用対数を求めたい正の数値。セル参照や数式も指定できる

底は常に10で固定されています。底を変更したい場合はLOG関数を使いましょう。

LOG10関数の基本的な使い方

きりのよい数の常用対数

=LOG10(100)

結果は「2」です。10の2乗が100なので、LOG10(100) = 2になります。

=LOG10(1000)

結果は「3」です。10の3乗が1000です。

いろいろな値の常用対数

数式結果意味
=LOG10(1)010の0乗 = 1
=LOG10(10)110の1乗 = 10
=LOG10(100)210の2乗 = 100
=LOG10(1000)310の3乗 = 1000
=LOG10(50)1.698…10の約1.7乗 = 50

10のべき乗でない数も計算できます。結果は小数になります。

セル参照を使う

実務ではセル参照を使うケースがほとんどです。A2セルに値が入っているとします。

=LOG10(A2)

セル参照にしておけば、値を変更するだけで結果が自動的に更新されます。

実務でのLOG10関数活用例

データの桁数を求める

「この数値は何桁か?」を調べるパターンです。

A2セルに数値が入っているとします。

=INT(LOG10(A2)) + 1

たとえばA2に「12345」が入っているとします。

=INT(LOG10(12345)) + 1

結果は「5」です。LOG10(12345) = 4.0915…なので、INT関数で4に切り捨て、1を足して5桁になります。

TIP

LEN関数でも桁数は数えられます。ただしLEN関数は文字列の長さを数えるため、小数点やマイナス記号も含まれます。純粋な桁数ならLOG10関数のほうが正確です。

対数スケールでデータを比較する

桁数がバラバラなデータを比較するとき、LOG10関数で対数スケールに変換します。

売上データがA2に入っているとします。

=LOG10(A2)
元の値=LOG10(元の値)
1002
10,0004
1,000,0006

100倍ずつ差があったデータが、対数変換すると2ずつ増える均等な間隔になります。グラフの軸を対数スケールにするときの考え方と同じです。

数値の大きさで条件分岐する

数値の桁数に応じて処理を分けるパターンです。

=IF(LOG10(A2)>=6, "大口", IF(LOG10(A2)>=3, "中口", "小口"))

100万以上(6桁以上)を「大口」、1000以上(3桁以上)を「中口」、それ未満を「小口」に分類します。

LOG関数・LN関数との違い・使い分け

対数を返す関数は3つあります。違いは「底」です。

関数動作引数
LOG10常用対数を返す10(固定)1つ
LOG指定した底の対数を返す自由に指定(省略時10)1〜2つ
LN自然対数を返すe(約2.718)1つ

LOG10関数とLOG関数の同値関係

LOG10(x)とLOG(x, 10)は同じ結果になります。

=LOG10(1000)     → 3(常用対数)
=LOG(1000, 10)   → 3(同じ結果)
=LOG(1000)       → 3(底省略でも同じ)

3つとも結果は同じです。LOG関数は底を省略すると10になるため、LOG10関数と同じ計算になります。

数式結果備考
=LOG10(100)2常用対数の専用関数
=LOG(100, 10)2底10を明示的に指定
=LOG(100)2底を省略(デフォルト10)

どれを使っても計算結果は同じです。「常用対数を使う」と明示したいときはLOG10関数を使いましょう。数式の意図が伝わりやすくなります。

底の選び方ガイド

使う場面使う関数
10桁数の計算、pH、デシベルLOG10関数 or LOG関数
e(約2.718)連続成長率、統計分析、微積分LN関数
2情報量(ビット数)、コンピュータ関連LOG関数
その他特定の底が必要な計算LOG関数

よくあるエラーと対処法

LOG10関数は引数の指定を間違えるとエラーが出ます。

エラー原因対処法
#NUM!値に0や負の数を指定した正の数のみ指定する
#VALUE!引数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カッコ忘れ等)数式の入力内容を見直す

値が0や負の数のとき

LOG10関数に0や負の数を渡すと#NUM!エラーです。

=LOG10(0)   → #NUM!
=LOG10(-5)  → #NUM!

対数は正の数に対してのみ定義されるため、0以下の値は計算できません。

セル参照先にゼロが入る可能性があるときは、IF関数で事前にチェックしましょう。

=IF(A1>0, LOG10(A1), "正の数を入力してください")

文字列を渡したとき

LOG10関数に文字列を渡すと#VALUE!エラーです。

=LOG10("abc")  → #VALUE!

セル参照先が数値かどうか不安なときは、ISNUMBER関数で確認できます。

=IF(ISNUMBER(A1), LOG10(A1), "数値を入力してください")

Excelとの違い

LOG10関数はExcelとGoogleスプレッドシートで完全に同じ動作です。

項目ExcelGoogleスプレッドシート
構文=LOG10(数値)=LOG10(値)
動作常用対数を返す常用対数を返す
精度15桁15桁
0以下の引数#NUM!#NUM!

引数名の表記が若干異なるだけで、機能は完全に同じです。ファイルを共有しても計算結果はずれません。

まとめ

LOG10関数は、常用対数(底10の対数)を返す関数です。

ポイントを整理します。

  • 構文は =LOG10(値) の1引数。底は10で固定
  • LOG10(100) = 2、LOG10(1000) = 3のように「10を何乗したらその値になるか」を返す
  • データの桁数を求めるには =INT(LOG10(値)) + 1
  • LOG10(x) = LOG(x, 10) = LOG(x) で、3つとも同じ結果
  • LN関数は底がe固定、LOG関数は底を自由に指定できる
  • 値は正の数のみ。0や負の数は#NUM!エラーになる

まずは =LOG10(100) で100の常用対数を表示するところから試してみてください。

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