Excel関数 逆引き集 | 複素数生成 → COMPLEX

Excel
スポンサーリンク

概要

COMPLEX 関数は、「実数部」と「虚数部」から、Excel 上で扱える“複素数”を作る関数です。
形式は「a+bi」または「a+bj」の文字列として返されます。
電気回路や信号処理など、工学系の計算で「実数+虚数」を 1 つの値として扱いたいときの入口になる関数です。


COMPLEX 関数の基本

書式と引数

=COMPLEX(real_num, i_num, [suffix])

real_num:複素数の実数部(a にあたる部分)
i_num:複素数の虚数部(b にあたる部分)
suffix:虚数単位(省略時は “i”。 “j” も指定可)

たとえば、次のように動きます。

=COMPLEX(3,4)        ' → "3+4i"
=COMPLEX(3,4,"j")    ' → "3+4j"
=COMPLEX(5,-2)       ' → "5-2i"

戻り値は「数値」ではなく「文字列としての複素数」です。
この文字列を、IMREAL・IMAGINARY・IMABS などの「IM~関数」でさらに処理していく、という流れになります。


挙動と注意点

サフィックス(i / j)について

COMPLEX の suffix には "i" または "j" を指定できます。
省略した場合は "i" が使われます。

=COMPLEX(3,4)        ' → "3+4i"
=COMPLEX(3,4,"j")    ' → "3+4j"

大文字の "I""J" は使えず、指定すると #VALUE! エラーになります。
また、複素数を扱う他の関数(IMSUM, IMPRODUCT など)と組み合わせるときは、
「すべて同じサフィックス(i か j か)でそろえる」必要があります。

引数が数値でない場合

real_num や i_num に数値以外(文字列など)が入っていると、#VALUE! エラーになります。
セル参照を使うときは、「そのセルがちゃんと数値かどうか」を意識しておくと安心です。


実務でのイメージと使いどころ

「実数+虚数」を 1 つの値として扱う

電気回路や信号処理では、「抵抗+リアクタンス」「実部+虚部」といった形で値を扱うことが多いです。
COMPLEX を使うと、実数部と虚数部を 1 つの“複素数”としてまとめられます。

=COMPLEX(A2,B2)

A2 に実数部、B2 に虚数部を入れておけば、
「A2 + B2 i」という複素数が文字列として返ってきます。

この複素数を、IMABS(絶対値)、IMARGUMENT(偏角)、IMSUM(和)、IMPRODUCT(積)などの関数に渡して、
ベクトル的な計算や回路計算を進めていく、というイメージです。

虚数部が負のときの表記

虚数部が負の場合、COMPLEX は自動的に「a-bi」の形で返してくれます。

=COMPLEX(5,-2)   ' → "5-2i"

自分で「5+(-2)i」と書く必要はなく、見やすい形に整えてくれるのが地味にうれしいポイントです。


コード例・テンプレート

実数部と虚数部から複素数を作る基本形

=COMPLEX(A2,B2)

A2 に実数部、B2 に虚数部が入っている前提です。
結果は "実数部+虚数部i" の文字列になります。

サフィックスを j にしたい場合

=COMPLEX(A2,B2,"j")

電気系の分野では虚数単位に j を使うことが多いので、
「3+4j」のような表記にしたいときは suffix に "j" を指定します。

虚数部が負のとき

=COMPLEX(5,-2)      ' → "5-2i"
=COMPLEX(5,-2,"j")  ' → "5-2j"

マイナスは自動的に「−」として整形されます。


複素数と一緒に使う代表的な関数

実数部・虚数部を取り出す

COMPLEX で作った複素数から、実数部・虚数部だけを取り出すには、
IMREAL・IMAGINARY を使います。

=IMREAL("3+4i")       ' → 3
=IMAGINARY("3+4i")    ' → 4
=IMREAL(COMPLEX(A2,B2))
=IMAGINARY(COMPLEX(A2,B2))

絶対値・偏角・演算

複素数の長さ(絶対値)や角度(偏角)、和・積・商なども、IM~関数で扱えます。

=IMABS("3+4i")        ' → 5(√(3^2+4^2))
=IMARGUMENT("3+4i")   ' → 偏角(ラジアン)
=IMSUM("3+4i","1+2i")
=IMPRODUCT("3+4i","1+2i")

COMPLEX は「複素数の入口」、IM~関数は「複素数の処理担当」と覚えておくと整理しやすいです。


例題

問題1

実数部 3、虚数部 4 の複素数を、COMPLEX 関数で作る式を書いてください。
虚数単位は省略し、標準の i を使うものとします。

(ヒント:結果は “3+4i” という文字列になります)

=COMPLEX(3,4)

問題2

実数部 3、虚数部 4 の複素数を、虚数単位 j で表現したいとします。
COMPLEX 関数の式を書いてください。

=COMPLEX(3,4,"j")

問題3

A2 に実数部、B2 に虚数部が入っています。
この 2 つから複素数を作る汎用的な式を書いてください。
虚数単位は i とします。

=COMPLEX(A2,B2)

問題4

実数部 5、虚数部 −2 の複素数を COMPLEX で作るとき、式と結果の形を答えてください。
虚数単位は i とします。

=COMPLEX(5,-2)

結果は "5-2i" という文字列になります。


問題5

COMPLEX で作った複素数 "3+4i" から、実数部と虚数部をそれぞれ取り出す式を書いてください。

実数部:

=IMREAL("3+4i")

虚数部:

=IMAGINARY("3+4i")
Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました