Excel関数 逆引き集 | 複素数の共役 → IMCONJUGATE

Excel
スポンサーリンク

概要

IMCONJUGATE 関数は、「複素数の共役(きょうやく)複素数」を返す関数です。
共役複素数とは、複素数 (a+bi) の「虚数部の符号だけをひっくり返したもの」つまり (a-bi) のことです。

Excel では、"3+4i" を渡すと "3-4i" が返ってくる、というイメージです。
電気回路や信号処理、フーリエ変換など、複素数を使う場面でよく登場します。


IMCONJUGATE 関数の基本

書式と意味

=IMCONJUGATE(複素数)
  • 複素数:共役を求めたい複素数。
    "3+4i""5-2j" のような文字列、または COMPLEX 関数が返した複素数を指定します。

具体例:

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

「実数部はそのまま」「虚数部の符号だけ反転」というのが、IMCONJUGATE の動きです。


共役複素数とは何か

虚数部の符号をひっくり返したもの

複素数が (a+bi) だとすると、その共役複素数は (a-bi) です。
Excel の世界では、例えば次のようになります。

=IMCONJUGATE("3+4i")   ' 3+4i → 3-4i
=IMCONJUGATE("3-4i")   ' 3-4i → 3+4i
=IMCONJUGATE("8+5i")   ' 8+5i → 8-5i
=IMCONJUGATE("8-5i")   ' 8-5i → 8+5i

実数部 a はそのまま、虚数部 b の符号だけが反転します。

図形的なイメージ(実軸対称)

複素数 (a+bi) を xy 平面の点 (a, b) とみなすと、
共役複素数 (a-bi) は (a, −b) になります。

つまり、「実軸(横軸)に対して上下反転した点」が共役複素数です。
IMCONJUGATE は、この「上下反転した複素数」を文字列として返してくれる、とイメージしておくと理解しやすくなります。


COMPLEX と一緒に使う流れ

実数部・虚数部から共役を作る

実数部と虚数部が別々のセルにある場合は、まず COMPLEX で複素数を作り、
それを IMCONJUGATE に渡すのが定番パターンです。

=IMCONJUGATE(COMPLEX(A2,B2))

A2 に実数部、B2 に虚数部が入っているとします。

例えば、
A2 = 3、B2 = 4 のとき:

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

虚数単位 i / j の使い分け

COMPLEX で "j" を使っていれば、IMCONJUGATE の結果も "j" で返ってきます。

=IMCONJUGATE(COMPLEX(3,4,"j"))  ' → "3-4j"

複素数関連の関数(IMSUM, IMPRODUCT など)と混ぜて使うときは、
「i で統一するか、j で統一するか」を揃えておくのがポイントです。


挙動と注意点

入力は「複素数として解釈できる文字列」

IMCONJUGATE に渡せるのは、次のような「複素数として認識できる値」です。

  • "3+4i""5-2j""10i""7" などの文字列
  • それらが入っているセル参照
  • COMPLEX 関数が返す複素数

OK な例:

=IMCONJUGATE("3+4i")     ' → "3-4i"
=IMCONJUGATE("8-5j")     ' → "8+5j"
=IMCONJUGATE("10i")      ' → "-10i"
=IMCONJUGATE("7")        ' → "7"(虚数部 0 → そのまま)

NG の例(エラー):

=IMCONJUGATE("abc")      ' → #NUM!(複素数として解釈できない)  [Let'sプログラミング](https://www.javadrive.jp/excelfunc/engineering/index26.html)  [ExtendOffice](https://www.extendoffice.com/excel/functions/excel-imconjugate-function.html)
=IMCONJUGATE("3+4I")     ' → #NUM!(虚数単位は小文字 i または j が必要)  [ExtendOffice](https://www.extendoffice.com/excel/functions/excel-imconjugate-function.html)

虚数単位は小文字の ij だけが有効で、それ以外は #NUM! エラーになります。

実数だけのとき

"5""-3" のように虚数部を持たない実数は、
「虚数部 0 の複素数」として扱われます。

=IMCONJUGATE("5")   ' → "5"
=IMCONJUGATE("-3")  ' → "-3"

実数だけなので、共役をとっても元の数のままです。


コード例・テンプレート

文字列で書かれた複素数の共役を求める

=IMCONJUGATE("3+4i")    ' 結果: "3-4i"
=IMCONJUGATE("3-4i")    ' 結果: "3+4i"
=IMCONJUGATE("8+5j")    ' 結果: "8-5j"

実数部・虚数部がセルに入っている場合

=IMCONJUGATE(COMPLEX(A2,B2))

A2:実数部
B2:虚数部

COMPLEX で複素数を作り、その共役を IMCONJUGATE で求めます。

複素数がセルに入っている場合

=IMCONJUGATE(A2)

A2 に「3+4i」「5-2j」などの複素数文字列が入っている前提です。


例題

問題1

セルに "3+4i" という文字列が入っています。
この複素数の共役複素数を求める式を書いてください。
また、結果の文字列も答えてください。

(ヒント:虚数部の符号だけが反転します)

問題2

A2 に "8-5i" という文字列が入っています。
この複素数の共役複素数を求める式を書いてください。
結果はどのような文字列になるかも答えてください。

問題3

B2 に実数部、C2 に虚数部が入っています。
この 2 つから COMPLEX で複素数を作り、その共役複素数を求める式を書いてください。
虚数単位は i とします。

問題4

セルに "10j" という文字列が入っています。
この複素数の共役複素数を求める式と、その結果の文字列を答えてください。

(ヒント:実数部 0、虚数部 10 の複素数です)

問題5

IMCONJUGATE に "abc" を渡した場合、どのような結果になるか、
エラーの種類と理由を説明してください。
式の形もあわせて書いてください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました