この記事では、ExcelのIMREAL関数の使い方を実務目線で解説します。複素数を扱う場面は決して多くありませんが、電気工学・制御工学・信号処理などのレポート作成や、大学の課題、研究データの整理などでは意外と登場します。「複素数から実数部だけを取り出したい」というシンプルな要件に応えてくれるのがIMREAL関数です。
この記事は次のような方におすすめです。
- 複素数を含むデータから実数部分だけを抽出して計算したい方
- COMPLEX関数やIMAGINARY関数とセットで使い方を整理したい方
- IMREAL関数でエラーになる原因と対処法を知りたい方
IMREAL関数とは?
読み方と分類
IMREAL関数の読み方は「イマジナリー・リアル」です。「IM」はImaginary Number(虚数)、「REAL」は実数部を指しており、「複素数の実数部分」を返す関数であることが名前から読み取れます。分類上は「エンジニアリング関数」に属し、同じグループにCOMPLEX・IMAGINARY・IMABS・IMSUMなどの複素数系関数が並びます。
何ができる関数か
IMREAL関数は、x+yiやx+yjの形式で表現された複素数から、実数係数にあたるxの部分だけを取り出して返します。たとえば複素数-4+6iであれば-4を、3-2jであれば3を返します。
複素数そのものを作成するときはCOMPLEX関数を、虚数部を取り出したいときはIMAGINARY関数を使います。IMREAL関数はその「実数部版」と考えると覚えやすいです。
IMREAL関数の構文と引数
IMREAL関数の構文は非常にシンプルで、引数は1つだけです。
=IMREAL( 複素数 )
| 引数 | 指定内容 | 省略 |
|---|---|---|
| 複素数 | 実数部を取り出したい複素数を"x+yi"または"x+yj"形式で指定 | 不可 |
引数「複素数」の指定方法
引数には、文字列として直接複素数を入力するか、複素数が入力されているセルを参照します。重要なのは、Excelの複素数はあくまで文字列として扱われるという点です。見た目は数式のようでも、実態は"3+4i"という文字列なので、ダブルクォーテーションで囲むか、セル参照で渡す必要があります。
iとjのどちらの虚数単位にも対応していますが、同じ計算の中では表記を統一しておくと混乱がありません。
IMREAL関数の使用例
ここからは実際の入力例を見ていきます。どれもシンプルですが、実務ではセル参照の形で使うことがほとんどです。
例1:関数内に直接値を入力する
=IMREAL("-4+6i") → -4
=IMREAL("3-2i") → 3
=IMREAL("5") → 5(虚数部がなくてもOK)
=IMREAL("2j") → 0(実数部0として扱われる)
複素数の文字列は必ずダブルクォーテーションで囲みます。囲み忘れると#NAME?エラーになるので注意してください。
例2:セル参照で別のセルの値を指定する
A列にCOMPLEX関数で生成した複素数が並んでいるケースを想定します。
| A列(複素数) | B列(=IMREAL(A1)) |
|---|---|
| 3+4i | 3 |
| -2+5i | -2 |
| 7-3i | 7 |
| 0+6i | 0 |
B1: =IMREAL(A1)
この形がもっとも実践的で、COMPLEX関数で作った複素数リストから実数部と虚数部を別々の列に展開するときに便利です。
例3:COMPLEX・IMAGINARYとの組み合わせ
実数部と虚数部から一度複素数を作り、あとから再び分解するパターンです。
A1: 3 (実数部)
B1: 4 (虚数部)
C1: =COMPLEX(A1,B1) → "3+4i"
D1: =IMREAL(C1) → 3
E1: =IMAGINARY(C1) → 4
COMPLEX関数で合成した値をIMREAL・IMAGINARYで分解すれば、元のA1・B1と同じ値に戻ることが確認できます。複素数を使った表計算の検算にも使えます。
実務での活用シーン
IMREAL関数単独で使うことは少なく、他の複素数関数と組み合わせて使うのが基本です。代表的な活用場面をいくつか紹介します。
- 電気回路のインピーダンス計算:交流回路のインピーダンスは
R+jXの複素数で表されます。IMREAL関数で抵抗成分R、IMAGINARY関数でリアクタンスXを取り出し、グラフ化や力率計算に使います。 - 信号処理のフーリエ変換結果の整理:FFT結果として得られる複素数列から、実部と虚部を別々の列に分離して可視化する用途で使えます。
- 研究・課題レポートの表整理:複素数を含む計算結果を表形式でまとめる際、IMREAL・IMAGINARY・IMABS(絶対値)・IMARGUMENT(偏角)を組み合わせれば、1つの複素数から必要な情報を一気に展開できます。
IMREAL関数でよくあるエラーと対処法
IMREAL関数は構文がシンプルな分、エラーの原因も限られています。代表的なものを押さえておきましょう。
#NUM! エラー
引数に指定した文字列が、Excelが複素数として認識できない形式のときに発生します。
- 虚数単位が
iまたはj以外になっている(例:3+4k) - 全角文字が混ざっている(例:
3+4i) - スペースが入っている(例:
3 + 4i)
対処法は、半角英数字でx+yiまたはx+yjの形に統一することです。COMPLEX関数で生成した値ならこの形式が保証されるので、入力ミスの心配がありません。
#NAME? エラー
引数の複素数をダブルクォーテーションで囲み忘れたときに出ます。=IMREAL(3+4i)のように書くと、Excelはiを名前付き範囲と誤解してエラーになります。=IMREAL("3+4i")と文字列として渡すか、セル参照を使いましょう。
#VALUE! エラー
参照先が空セルやエラー値の場合に発生することがあります。元データの欠損チェックも合わせて行っておくと安全です。
関連する複素数関数
IMREAL関数とセットで覚えておくと便利な関数を整理しておきます。
| 関数 | 役割 |
|---|---|
| COMPLEX関数 | 実数部と虚数部から複素数を作成 |
| IMAGINARY関数 | 複素数から虚数部を取り出す |
| IMABS関数 | 複素数の絶対値を求める |
| IMARGUMENT関数 | 複素数の偏角(ラジアン)を求める |
| IMCONJUGATE関数 | 複素共役を求める |
IMREAL・IMAGINARY・IMABS・IMARGUMENTを組み合わせると、複素数を「直交座標(実部・虚部)」と「極座標(絶対値・偏角)」の両方で扱えるようになり、レポート作成の幅が一気に広がります。
まとめ
IMREAL関数は「複素数の実数部だけを取り出す」というシンプルな役割の関数ですが、COMPLEX関数・IMAGINARY関数と組み合わせることで、複素数を含むデータを効率よく整理できます。ポイントを改めて整理すると次のとおりです。
- 構文は
=IMREAL(複素数)の1引数のみ - 複素数は
"x+yi"または"x+yj"の半角文字列で指定する - 直接入力時はダブルクォーテーションで囲む、実務ではセル参照で使うのが基本
#NUM!は形式不正、#NAME?はクォート忘れが主な原因- IMAGINARY・IMABS・IMARGUMENTと組み合わせれば、複素数を多角的に分析できる
複素数を扱う機会がある方は、IMREAL関数を入り口に、他の複素数関数もまとめて押さえておくと作業効率がぐっと上がります。
