この記事では、Excelで2つの複素数の差(引き算)を求めるときに使う IMSUB関数 の使い方を、構文・具体例・実務での活用シーン・エラー対処まで丁寧に解説します。
複素数は電気回路の交流解析や制御工学、信号処理など、エンジニアリングの現場で日常的に登場します。Excelなら専用の関数を使うことで、実部と虚部をバラバラに計算することなく、1つの式でスッキリ計算できます。
この記事は次のような方におすすめです。
- 2つの複素数の差を求めたい方
- 電気・制御・物理系の計算をExcelで効率化したい方
- IMSUB関数のエラー表示で困っている方
IMSUB関数とは?
読み方と意味
IMSUB関数は「イマジナリー・サブトラクト関数」と読みます。「Imaginary(虚数)」+「Subtract(引く)」の組み合わせで、その名のとおり 2つの複素数の引き算を行う関数 です。
Excelのエンジニアリング関数カテゴリに含まれており、"a+bi" や "a+bj" の形式で表された複素数の文字列を計算に使えます。
IMSUB関数でできること
IMSUB関数は、指定した2つの複素数の差(複素数1 − 複素数2)を求めます。手計算だと、実部と虚部をそれぞれ引き算する必要がありますが、IMSUBを使えば1つの式で済みます。
例えば、(3+4i) − (1+2i) = 2+2i という計算が、=IMSUB("3+4i","1+2i") の1行で完了します。
なお、複素数そのものを作成したい場合は COMPLEX関数 を使うと、実部と虚部の数値から複素数文字列を生成できます。
IMSUB関数の構文と引数
IMSUB関数の構文は次のとおりです。
=IMSUB( 複素数1 , 複素数2 )
引数は2つあり、どちらも省略できません。式の意味は単純で「複素数1 − 複素数2」です。
引数1: 複素数1(必須)
引き算される側の複素数を、"x+yi" または "x+yj" の形式で指定します。直接文字列を入力するほか、セル参照でもOKです。
引数2: 複素数2(必須)
引き算する側の複素数を、複素数1と同じ形式で指定します。注意点として、複素数1と複素数2で虚数単位(i と j)を混在させるとエラー になります。どちらも i で揃えるか、どちらも j で揃えてください。
IMSUB関数の使用例
例1: 関数内に値を直接入力する
=IMSUB("3+4i","-4+6i")
計算結果: 7-2i
実部は 3 − (−4) = 7、虚部は 4 − 6 = −2 となり、結果は 7-2i です。
例2: セル参照で指定する
A1セルに 5+3i、A2セルに 2+1i が入力されている場合、
=IMSUB(A1,A2)
計算結果: 3+2i
業務では、表にまとめた複素数データを順番に計算するため、セル参照で使うケースが圧倒的に多いです。
例3: 負の複素数の引き算
=IMSUB("2+3i","-1-2i")
計算結果: 3+5i
(2+3i) − (−1−2i) = 2+3i+1+2i = 3+5i です。符号の扱いをExcelが自動でやってくれるので、計算ミスを防げます。
実務での活用シーン
IMSUB関数は一見ニッチに見えますが、次のような場面で役立ちます。
- 交流回路のインピーダンス計算: 回路全体のインピーダンスから特定素子のインピーダンスを差し引いて、残りの部分を求める
- 制御工学での伝達関数の差分: 2つの系の応答差を複素数として扱う
- 信号処理のフェーザ演算: 入力信号と出力信号の位相差を計算する
- ベクトル演算の代用: 2次元ベクトルの差を複素数として計算する(実部をx成分、虚部をy成分とみなす)
いずれのケースでも、実部と虚部を別々のセルで管理するよりも、複素数を1つの文字列にまとめてIMSUB関数で一括計算するほうが、式がシンプルでミスが減ります。
エラーが出たときの対処方法
IMSUB関数でよく遭遇するエラーと原因・対処法をまとめます。
#NUM! エラー
原因: 引数に指定した複素数の形式が正しくない、または複素数1と複素数2で虚数単位(i と j)が混在している。
対処: "3+4i" のように 半角の英数字+iまたはj で記述し、両方の引数で単位を統一してください。全角文字や余計なスペースもエラーの原因になります。
#VALUE! エラー
原因: 引数に数値や複素数として解釈できない文字列(例: "3+4k" のような未対応の単位)を指定した。
対処: 複素数文字列の書式を見直します。空白セルを参照している場合も発生するので、参照先にデータがあるか確認してください。
結果が想定と違う
原因: 引数の順序が逆になっている。IMSUBは「複素数1 − 複素数2」なので、引き算の順序に注意が必要です。
対処: どちらを引かれる側にするかを確認し、必要ならA1とA2を入れ替えます。
IMSUB関数と一緒に覚えたい関連関数
複素数を扱うなら、IMSUB以外にも以下の関数を押さえておくと実務で幅が広がります。
- COMPLEX関数: 実部と虚部の数値から複素数文字列を作成する
- IMSUM関数: 複素数の和(足し算)を求める
- IMPRODUCT関数: 複素数の積(掛け算)を求める
- IMDIV関数: 複素数の商(割り算)を求める
- IMABS関数: 複素数の絶対値を求める
- IMREAL関数: 複素数から実部を取り出す
- IMAGINARY関数: 複素数から虚部を取り出す
これらをIMSUBと組み合わせると、「差を求めてから絶対値を取る」「差の実部だけを取り出す」といった複合的な処理が1つの数式で書けるようになります。
まとめ
IMSUB関数は、2つの複素数の差を簡単に求められる便利なエンジニアリング関数です。ポイントを振り返っておきます。
- 構文は
=IMSUB(複素数1, 複素数2)で、「複素数1 − 複素数2」を計算する - 複素数は
"x+yi"または"x+yj"形式で指定し、虚数単位は混在させない - セル参照を使えば、表データに対して一括計算しやすい
- COMPLEX・IMSUM・IMPRODUCT・IMDIVなどと組み合わせると複素数計算がさらに効率化できる
電気・制御・物理系の計算をExcelで処理することが多い方は、複素数関数シリーズをまとめて覚えておくと、計算ミスを減らしつつ作業時間を短縮できます。
関数一覧
biz-tactics ではExcel関数の一覧を用途別にまとめています。
エラー値についてのまとめ記事
関数でエラーが発生したときに表示されるエラーの種類と対処方法は、こちらの記事でまとめています。
