Excelで複素数を扱っていると、「共役複素数ってどうやって求めるんだろう?」と悩む場面がありますよね。手作業で虚部の符号を反転させるのは、数が多いと面倒ですし、ミスのもとです。
そんなときに使えるのが IMCONJUGATE関数 です。複素数を渡すだけで、共役複素数をサッと返してくれますよ。この記事では、構文や引数の指定方法から実践的な活用例、エラーの対処法まで丁寧に解説していきます。
ExcelのIMCONJUGATE関数とは?
IMCONJUGATE関数は、指定した複素数の 共役複素数(きょうやくふくそすう)を返すExcelのエンジニアリング関数です。
読み方は 「イマジナリー・コンジュゲイト」 です。「Imaginary(虚数の)」と「Conjugate(共役の)」を組み合わせた名前ですね。
共役複素数とは?
共役複素数とは、元の複素数の 虚部の符号だけを反転 させたものです。たとえば、元の複素数が「3+4i」なら、共役複素数は「3-4i」になります。
| 元の複素数 | 共役複素数 |
|---|---|
| 3+4i | 3-4i |
| -2+5i | -2-5i |
| 7-3i | 7+3i |
| 6i | -6i |
実部はそのまま、虚部の「+」と「-」がひっくり返るイメージです。電気工学のインピーダンス計算や信号処理で頻繁に使う操作ですよ。
IMCONJUGATE関数の書き方(構文と引数)
基本構文
=IMCONJUGATE(複素数)
引数は1つだけなので、とてもシンプルです。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 複素数 | 必須 | 共役複素数を求めたい複素数。”x+yi” または “x+yj” のテキスト形式で指定します |
引数にはセル参照も使えます。COMPLEX関数で作成した複素数を、そのまま渡すのが実務では便利ですよ。
入力と出力のイメージ
- 入力: 複素数(例: “3+4i”)
- 出力: 共役複素数(例: “3-4i”)
虚部がゼロの場合(実数のみの場合)は、そのまま同じ値が返ります。たとえば「5」を渡すと、結果も「5」です。
IMCONJUGATE関数の基本的な使い方
実際にIMCONJUGATE関数を使ってみましょう。
例1: セルの複素数から共役複素数を求める
セルA1に「3+4i」が入っているとします。
=IMCONJUGATE(A1)
結果: 3-4i
虚部の「+4i」が「-4i」に変わっただけですね。実部の3はそのままです。
例2: 関数内に直接値を指定する
セル参照を使わず、直接テキストで複素数を指定することもできます。
=IMCONJUGATE("-2+5i")
結果: -2-5i
直接指定するときは、ダブルクォーテーション(”)で囲むのを忘れないでくださいね。
例3: COMPLEX関数と組み合わせる
実部と虚部を別々のセルで管理している場合は、COMPLEX関数と組み合わせると便利です。
セルA1に「3」、B1に「4」が入っているとき:
=IMCONJUGATE(COMPLEX(A1, B1))
結果: 3-4i
COMPLEX関数が「3+4i」を作り、それをIMCONJUGATEが「3-4i」に変換する流れです。
IMCONJUGATE関数の実践的な活用例
複素数の絶対値の2乗を求める
複素数にその共役複素数を掛けると、絶対値の2乗(実数)が得られます。これは電気工学のパワー計算などでよく使うテクニックです。
セルA1に「3+4i」が入っているとき:
=IMPRODUCT(A1, IMCONJUGATE(A1))
結果: 25(= 3^2 + 4^2)
IMPRODUCT関数で複素数同士の掛け算ができます。結果が実数になるのがポイントですよ。ちなみに、同じ値はIMABS関数で絶対値を求めてから2乗しても得られます。
複数の複素数を一括で変換する
複素数がA1:A5に並んでいる場合、B1に次の数式を入力してB5までコピーすれば、まとめて共役複素数を求められます。
=IMCONJUGATE(A1)
| セル | 元の複素数(A列) | 共役複素数(B列) |
|---|---|---|
| 1行目 | 3+4i | 3-4i |
| 2行目 | -1+2i | -1-2i |
| 3行目 | 5-3i | 5+3i |
| 4行目 | 7i | -7i |
| 5行目 | 2 | 2 |
5行目のように虚部がゼロの実数は、共役をとっても変わらない点に注目してくださいね。
よくあるエラーと対処法
#NUM! エラー
引数に有効な複素数として認識できない値を渡すと、#NUM! エラーが表示されます。
よくある原因と対処法:
| 原因 | 例 | 対処法 |
|---|---|---|
| 複素数のテキスト形式が正しくない | =IMCONJUGATE(“3+4”) | 虚数単位の「i」または「j」を末尾に付ける |
| 数値の間にスペースが入っている | =IMCONJUGATE(“3 + 4i”) | スペースをすべて削除する |
| 全角文字が混在している | =IMCONJUGATE(“3+4i”) | 半角英数字で入力し直す |
「i」や「j」を付け忘れるケースが一番多いので、気を付けてくださいね。
#VALUE! エラー
引数が数値でもテキストでもない場合(論理値や空のセルなど)に、#VALUE! エラーが発生します。
=IMCONJUGATE(TRUE) → #VALUE!エラー
=IMCONJUGATE("") → #VALUE!エラー
セル参照を使う場合は、参照先に正しい複素数テキストが入っているか確認してみてください。
似た関数との違い・使い分け
IMCONJUGATE関数と一緒に使うことが多い関連関数を整理しておきましょう。
| 関数名 | 機能 | 使用例 |
|---|---|---|
| COMPLEX | 実部と虚部から複素数を作成 | =COMPLEX(3, 4) → “3+4i” |
| IMREAL | 複素数の実部を取得 | =IMREAL(“3+4i”) → 3 |
| IMAGINARY | 複素数の虚部を取得 | =IMAGINARY(“3+4i”) → 4 |
| IMABS | 複素数の絶対値を取得 | =IMABS(“3+4i”) → 5 |
| IMARGUMENT | 複素数の偏角をラジアンで取得 | =IMARGUMENT(“3+4i”) → 0.927… |
| IMPRODUCT | 複素数同士の積 | =IMPRODUCT(“1+i”,”1-i”) → “2” |
共役複素数を求めたあとにIMREAL関数やIMAGINARY関数で実部・虚部を取り出す、というパターンもよく使いますよ。
まとめ
IMCONJUGATE関数は、複素数の共役複素数を返すExcelのエンジニアリング関数です。
この記事のポイントをおさらいしましょう。
- 共役複素数は虚部の符号を反転させたもの(a+bi → a-bi)
- 引数は1つだけ。”x+yi” 形式のテキストで複素数を渡す
- COMPLEX関数やIMPRODUCT関数と組み合わせて使うのが実践的
- 複素数 * 共役複素数 = 絶対値の2乗(実数になる)
- エラーが出たら、虚数単位(i / j)の付け忘れやスペース混入をチェック
複素数の計算をExcelで効率的に進めたい方は、ぜひ活用してみてくださいね。
