ExcelのIMABS関数の使い方|複素数の絶対値(モジュラス)を求める方法

スポンサーリンク

Excelで複素数の大きさ(絶対値)を計算したいとき、IMABS関数が役に立ちます。

複素数「a+bi」の絶対値は √(a² + b²) で求めます。手計算だと面倒ですよね。

IMABS関数なら、複素数を渡すだけで絶対値を一発で計算できます。

この記事では、IMABS関数の基本から実務での活用例まで解説します。

IMABS関数とは

IMABS関数は、複素数の絶対値(モジュラス)を返す関数です。

読み方は「イマジナリー・アブソリュート関数」です。「IM」はImaginary(虚数)、「ABS」はAbsolute(絶対値)を意味します。

複素数「a+bi」を複素平面上の点と見たとき、原点からその点までの距離が絶対値です。ピタゴラスの定理と同じ考え方で、√(a² + b²) で計算します。

NOTE

絶対値は「モジュラス(modulus)」や「ノルム」とも呼ばれます。電気工学では信号の「大きさ(magnitude)」として使われる重要な値です。

複素数の絶対値の計算例

具体的な数値で確認してみましょう。

複素数計算式結果
3+4i√(3² + 4²) = √255
1+1i√(1² + 1²) = √2約1.41
-4+6i√((-4)² + 6²) = √52約7.21
5(実数のみ)√(5² + 0²) = √255
3i(純虚数)√(0² + 3²) = √93

実数だけの場合は、通常の絶対値と同じ結果になります。

IMABS関数の構文と引数

=IMABS(複素数)
引数必須/省略説明
複素数必須絶対値を求めたい複素数を指定する

複素数は以下の形式で指定できます。

  • 文字列で直接指定: "3+4i" のようにダブルクォーテーションで囲む
  • セル参照: 複素数が入力されたセルを参照する
  • COMPLEX関数の結果: COMPLEX(3, 4) のように関数の戻り値を渡す
  • 虚数単位: i のほか j(工学表記)も使用可能

IMABS関数の基本的な使い方

文字列で複素数を直接指定する

=IMABS("3+4i")

結果: 5

√(3² + 4²) = √(9 + 16) = √25 = 5 という計算です。

セル参照で複素数を指定する

セルA1に 3+4i と入力されている場合、次のように書きます。

=IMABS(A1)

A1の複素数の絶対値が返ります。

COMPLEX関数と組み合わせる

実数部と虚数部が別々のセルにある場合は、COMPLEX関数と組み合わせると便利です。

=IMABS(COMPLEX(A2, B2))

A2に実数部、B2に虚数部が入っていれば、複素数を作成してそのまま絶対値を計算できます。

IMABS関数の実務での活用例

活用例1: インピーダンスの大きさを求める

電気回路でインピーダンス Z = R + jX の大きさ |Z| を求める場面です。R は抵抗、X はリアクタンスを表します。

たとえば、抵抗 30 オーム、リアクタンス 40 オームの回路を考えます。A列に抵抗値、B列にリアクタンス値が入っているとします。

C列に次の数式を入力します。

=IMABS(COMPLEX(A2, B2))

結果は 50 です。√(30² + 40²) = √2500 = 50 という計算になります。

下にコピーすれば、複数の回路要素のインピーダンスをまとめて求められます。交流回路の設計や解析で重宝します。

活用例2: 信号の振幅を計算する

FFT(高速フーリエ変換)の結果など、周波数領域のデータは複素数で表されます。この複素数の絶対値が信号の振幅です。

A列にFFT結果の複素数が入っている場合、B列に次の数式を入力します。

=IMABS(A2)

下にコピーすれば、全周波数成分の振幅を一括で取得できます。振幅スペクトルのグラフ作成にも活用できます。

活用例3: 複素数データを多角的に分析する

複素数を多角的に分析したいときは、成分分解と絶対値を組み合わせます。

数式取得できる値
B列=IMREAL(A2)実数係数
C列=IMAGINARY(A2)虚数係数
D列=IMABS(A2)絶対値(大きさ)
E列=IMARGUMENT(A2)偏角(ラジアン)

IMREAL関数で実数部、IMAGINARY関数で虚数部を取り出せます。さらにIMARGUMENT関数で偏角を求めれば、極形式への変換も完了です。

TIP

IMABS関数が返す値(r)とIMARGUMENT関数が返す偏角(θ)を組み合わせると、複素数の極形式 r・e^(iθ) が得られます。直交形式と極形式の変換に便利です。

よくあるエラーと対処法

エラー原因対処法
#NUM!複素数として認識できない文字列を渡している"a+bi" または "a+bj" 形式で指定する
#VALUE!数値でも文字列でもない値が引数に入っているセル参照や入力値を確認する

NOTE

空セルを参照した場合はエラーにならず、0 を返します。空セルは 0+0i として扱われるためです。

#NUM! エラーの具体例

=IMABS("abc")

"abc" は複素数として認識できないため、#NUM! エラーになります。正しくは "3+4i" のように数値を含む形式で指定してください。

ABS関数との使い分け

通常の数値の絶対値にはABS関数を使います。ABS関数に複素数の文字列を渡すと #VALUE! エラーになります。

複素数を扱う場合は必ずIMABS関数を使ってください。

関数対象結果
ABS実数=ABS(-5)5
IMABS複素数=IMABS("3+4i")5
ABS複素数=ABS("3+4i")#VALUE!

なお、IMABS関数に実数を渡しても正しく動作します。=IMABS("5") は 5 を返します。

関連する複素数関数との比較

IMABS関数と合わせて使う複素数関数の一覧です。

関数機能戻り値の型
COMPLEX実数部・虚数部から複素数を作成する文字列
IMAGINARY複素数の虚数係数を取り出す数値
IMREAL複素数の実数係数を取り出す数値
IMABS複素数の絶対値を求める数値
IMARGUMENT複素数の偏角(ラジアン)を求める数値
IMCONJUGATE共役複素数を求める文字列
IMSUM複素数の合計を求める文字列
IMSUB複素数の差を求める文字列

複素数の作成はCOMPLEX関数、成分の取り出しはIMAGINARY関数IMREAL関数を使います。IMABS関数とIMARGUMENT関数を組み合わせれば、極形式(r, θ)への変換もできます。

まとめ

IMABS関数は、複素数の絶対値(モジュラス)を求める関数です。

  • 引数は「複素数」の1つだけで、構文がシンプル
  • 計算式は √(a² + b²) で、複素平面上の原点からの距離を返す
  • COMPLEX関数で作成した複素数をそのまま渡せる
  • IMAGINARY・IMREAL・IMARGUMENT関数と組み合わせて多角的に分析できる
  • インピーダンス計算や信号の振幅取得など、エンジニアリング分野で活躍する

電気工学・信号処理・物理計算など、複素数の大きさを扱う場面で活用してください。

関数一覧

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