概要
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")
