概要
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)
虚数単位は小文字の i か j だけが有効で、それ以外は #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" を渡した場合、どのような結果になるか、
エラーの種類と理由を説明してください。
式の形もあわせて書いてください。
