電気回路や制御工学のレポートをExcelでまとめていると、複素数のまま対数計算をしたい場面に出くわします。そんなときに役立つのが IMLOG10関数 です。実数に変換することなく、複素数のまま常用対数(底10の対数)を求められるので、計算式がスッキリします。
この記事では、IMLOG10関数の基本から実務での使いどころ、よくあるエラーの直し方までまとめて解説します。
IMLOG10関数とは?
読み方と分類
IMLOG10関数の読み方は「イマジナリー・ログ・テン」です。Excelの関数分類では「エンジニアリング関数」に含まれます。
できること
IMLOG10関数は、指定した 複素数の常用対数(10を底とする対数) を返します。数学的には、複素数 z = x + yi に対して log₁₀(z) を計算し、結果を "a+bi" の形式の文字列で返す関数です。
複素数の常用対数は、デシベル計算(音圧・電圧比)やボード線図の作図など、信号処理・電気工学の現場でよく登場します。Excelだけでひととおりの処理を回したいときに便利な関数です。
なお、計算対象となる複素数は COMPLEX関数 を使って 実部+虚部i の形式で作成できます。
IMLOG10関数の構文
=IMLOG10(複素数)
引数は1つだけで、省略はできません。
| 引数 | 必須 | 内容 |
|---|---|---|
| 複素数 | 必須 | 常用対数を求めたい複素数を "x+yi" または "x+yj" の形式で指定 |
ポイントは、引数は文字列として扱われるということ。セルに -4+6i と入力しておけば、そのセル参照をそのまま渡せます。
IMLOG10関数の使い方(具体例)
例1: 関数内に直接複素数を指定する
=IMLOG10("-4+6i")
この式は、複素数 -4+6i の常用対数を計算し、0.858...+0.878...i のような文字列を返します。ダブルクォーテーションで囲むのを忘れないようにしましょう。
例2: セル参照で指定する
A1セルに 3+4i と入力しておき、別のセルで次のように記述します。
=IMLOG10(A1)
結果は 0.698...+0.402...i となり、A1の値を書き換えるだけで再計算できます。複数の複素数をまとめて処理したい場合は、この形でオートフィルするのがおすすめです。
例3: COMPLEX関数と組み合わせる
実部・虚部が別々のセルに入っている場合は、COMPLEX関数で複素数を組み立ててから渡します。
=IMLOG10(COMPLEX(A2, B2))
A2に実部、B2に虚部が入っていれば、この1本の式で常用対数まで一気に求められます。
実務での活用シーン
- デシベル計算の補助: 電圧比や電力比を複素数のまま扱いたいときに、実数変換せず
log₁₀をかけられる - 伝達関数の解析: 制御工学でボード線図のゲイン計算(
20*log₁₀|H(jω)|)に使う前処理として - 学習・レポート作成: 大学の電気回路・信号処理の課題で、Excelだけで計算過程を示したいとき
特に、虚部を含んだままログを取りたいケースでは、わざわざ絶対値と偏角に分解しなくて済むのが大きなメリットです。
よくあるエラーと対処法
| エラー | 原因 | 対処 |
|---|---|---|
#NUM! | 複素数 0+0i を指定した(log₁₀(0) は定義されない) | 0以外の複素数を指定する |
#VALUE! | "x+yi" の形式になっていない/全角文字が混ざっている | 半角英数字で -4+6i のように入力し直す |
| 文字列として表示される | 結果はあくまで文字列。そのまま四則演算できない | 実部は IMREAL関数、虚部は IMAGINARY関数 で取り出す |
引数に整数(例: =IMLOG10(100))を渡した場合は、100+0i として扱われ、通常の常用対数 2 が返ります。実数のみを対象にしたいなら、標準の LOG10関数 のほうが軽くて扱いやすいので使い分けましょう。
関連関数
複素数の対数まわりには、底ちがいの関数がそろっています。用途に応じて使い分けてください。
- IMLN関数: 複素数の 自然対数(底
e)を求める - IMLOG2関数: 複素数の 底2の対数 を求める
- IMABS関数: 複素数の絶対値(モジュラス)を求める
- IMARGUMENT関数: 複素数の偏角(アーギュメント)を求める
- COMPLEX関数: 実部と虚部から複素数を作成する
自然対数が必要ならIMLN、情報理論系で底2の対数を使うならIMLOG2、というように目的に合った関数を選びましょう。
まとめ
IMLOG10関数は、複素数を複素数のまま常用対数に変換できる便利なエンジニアリング関数です。
- 構文は
=IMLOG10(複素数)とシンプル - 引数は
"x+yi"形式の文字列またはセル参照 0+0iを渡すと#NUM!エラー- 実数だけなら LOG10、自然対数なら IMLN、底2ならIMLOG2 と使い分ける
電気・制御・信号処理のレポートをExcelだけで完結させたいときに、頭の片隅に置いておくと役立つ一本です。COMPLEX関数やIMREAL/IMAGINARY関数と組み合わせて、複素数計算のワークフローを組み立ててみてください。
