電気工学や制御工学、信号処理などで扱う「複素数」をExcelで計算したいとき、通常の / 演算子では正しく商を求めることができません。そんなときに使うのが IMDIV関数 です。
この記事では、IMDIV関数の基本構文から実務で役立つ使い方、つまずきやすいエラーの対処方法、関連する複素数関数までまとめて解説します。
この記事は次のような方におすすめです。
- 指定した2つの複素数の商(割り算の結果)をExcelで求めたい
- 複素数を扱う計算を関数で自動化したい
- IMDIVで
#NUM!や#VALUE!エラーが出てしまい困っている
IMDIV関数とは?複素数の商を求めるエンジニアリング関数
IMDIV関数は、Excelの「エンジニアリング関数」に分類される関数で、指定した2つの複素数の商(割り算の結果)を求める ことができます。読み方は「イマジナリー・ディバイデッド・クオウシェント関数」です。
複素数とは a + bi の形で表される数のことで、a が実数部、b が虚数部、i が虚数単位(i² = -1)を表します。Excelでは複素数を "3+4i" のような文字列として扱うのが特徴で、普通の割り算記号ではこの計算はできません。
複素数そのものを作りたいときは COMPLEX関数 を使うと、実数部と虚数部から "3+4i" のような文字列を生成できます。
IMDIV関数の構文と引数
IMDIV関数の構文は次の通りです。
=IMDIV( 複素数1 , 複素数2 )
引数は2つとも省略できません。どちらも必ず指定する必要があります。
引数1: 複素数1(被除数/分子)
割り算される側の複素数(分子・被除数)を指定します。"3+4i" や "2-5j" のように、x+yi または x+yj の形式の文字列で指定します。セル参照でもOKです。
引数2: 複素数2(除数/分母)
割る側の複素数(分母・除数)を指定します。こちらも "x+yi" または "x+yj" 形式で指定します。"0" や "0+0i" のようなゼロを指定するとエラーになるので注意してください。
なお、1つの数式の中で i と j を混在させることはできません。どちらかに統一して使用してください。
IMDIV関数の使い方と具体例
例1: 関数内に直接複素数を入力する
=IMDIV("3+4i","1+2i")
この場合、(3+4i) ÷ (1+2i) の結果として 2.2-0.4i が返ります。数式に直接文字列を書くときは、複素数をダブルクォーテーションで囲むのを忘れないようにしましょう。
例2: セル参照で複素数を指定する
A1セルに 3+4i、A2セルに 1+2i と入力されている状態で、
=IMDIV(A1,A2)
と記述すれば、同じく 2.2-0.4i が返ります。値を差し替えながら計算したい場合や、表形式で複数の複素数を扱う場合は、セル参照での指定が圧倒的に便利です。
例3: COMPLEX関数と組み合わせる
実数部と虚数部が別々のセルに入っている表から商を求めるときは、COMPLEX関数と組み合わせると効率的です。
=IMDIV( COMPLEX(A1,B1), COMPLEX(A2,B2) )
この書き方なら、実数部と虚数部を別の列に保ったまま、計算式の中だけで複素数に変換して割り算できます。
実務でIMDIV関数を使うシーン
IMDIV関数は日常の表計算で使う機会は多くありませんが、理工系の業務では出番があります。代表的な活用シーンは次のとおりです。
- 電気回路のインピーダンス計算: 交流回路ではインピーダンスを複素数で表すため、電圧 ÷ インピーダンスのような計算でIMDIVが活躍します。
- 伝達関数の計算: 制御工学で扱う伝達関数の分子・分母の計算を、Excel上で検算したいときに使えます。
- 信号処理の周波数応答: フーリエ変換後のスペクトル比を求める場面でも複素数の除算が必要になります。
- 学生・教員の課題チェック: 手計算の結果が合っているかを素早く検算するのにも便利です。
IMDIV関数でよくあるエラーと対処法
#NUM! エラーが表示される
原因: 複素数2(除数)に "0" や "0+0i" を指定したときに発生します。ゼロで割ることはできないためです。
対処: 除数が0にならないように IF で分岐するか、事前にデータを確認します。
=IF(A2="0+0i","除数が0です",IMDIV(A1,A2))
#NUM! エラー(書式ミス)
原因: 複素数の書式が正しくない場合にも発生します。例えば "3 + 4i" のように余分なスペースが入っているとエラーになります。
対処: スペースを取り除き、"3+4i" のように詰めて書きます。i の代わりに j を使っても構いませんが、同じ関数内で混在させないようにしましょう。
#VALUE! エラーが表示される
原因: 数値や複素数として解釈できない文字列(例: "abc")を指定した場合に発生します。
対処: セルの値が正しい複素数表記になっているかを確認します。半角英数字で入力することも重要です。
IMDIVと一緒に覚えておきたい複素数関数
IMDIV関数だけでは計算が完結しないことも多いので、以下の関連関数もセットで押さえておくと便利です。
- COMPLEX関数: 実数部と虚数部から複素数を作成
- IMSUM関数: 複素数の和を求める
- IMSUB関数: 複素数の差を求める
- IMPRODUCT関数: 複素数の積を求める
- IMREAL関数: 複素数から実数部を取り出す
- IMAGINARY関数: 複素数から虚数部を取り出す
四則演算のうち、足し算・引き算・掛け算・割り算がそれぞれ別関数になっているのが複素数関数の特徴です。目的に応じて使い分けましょう。
まとめ
- IMDIV関数は、指定した2つの複素数の商を求めるエンジニアリング関数
- 構文は
=IMDIV(複素数1, 複素数2)。引数は両方必須 - 複素数は
"3+4i"のような文字列で指定し、iとjを混在させない - 除数に
0を指定すると#NUM!エラーになるので注意 - COMPLEX関数や IMSUM / IMSUB / IMPRODUCT とセットで覚えると、複素数計算をまるごとExcelで自動化できる
普段は使う機会が少なくても、電気・制御・信号処理の現場では確実に役立つ関数です。複素数の計算で手が止まったら、ぜひIMDIV関数を思い出してみてください。
Excel関数の一覧は アルファベット順Excel関数一覧 や 機能別Excel関数一覧 からも探せます。関数のエラー全般については セルに表示されるエラーの種類と原因、対処方法 の記事もあわせてご覧ください。
