概要
IMREAL 関数は、「複素数から“実数部”だけを取り出す」ための関数です。
COMPLEX 関数などで作った「3+4i」「5-2j」といった“複素数の文字列”から、
「3」や「5」といった“実数の部分だけ”を数値として取り出してくれます。
複素数を扱うときは、
「実数部だけほしい」「虚数部だけほしい」「絶対値だけほしい」など、
部分的に情報を取り出したくなる場面が多いので、IMREAL はその中の基本パーツです。
IMREAL 関数の基本
書式と意味
=IMREAL(複素数)
引数には、「a+bi」または「a+bj」の形をした“複素数の文字列”か、
COMPLEX 関数などが返した複素数を指定します。
例えば、次のように動きます。
=IMREAL("3+4i") ' → 3
=IMREAL("5-2i") ' → 5
=IMREAL("10j") ' → 0
=IMREAL(COMPLEX(3,4)) ' → 3
「実数部だけを数値として返す」というのが IMREAL の役割です。
COMPLEX と組み合わせた使い方
COMPLEX で作って IMREAL で取り出す
COMPLEX で複素数を作り、その実数部だけを IMREAL で取り出す、という流れが定番です。
=COMPLEX(3,4) ' → "3+4i"
=IMREAL(COMPLEX(3,4)) ' → 3
実数部と虚数部を別々のセルに持っておきたいときは、
- 実数部:
=IMREAL(複素数セル) - 虚数部:
=IMAGINARY(複素数セル)
という形で分解していきます。
挙動と注意点
引数は「複素数として解釈できる文字列」
IMREAL の引数は、「複素数として正しく解釈できる文字列」である必要があります。
=IMREAL("3+4i") ' OK → 3
=IMREAL("3+4j") ' OK → 3
=IMREAL("abc") ' → #NUM!(複素数として解釈できない)
また、虚数単位は i か j のどちらかで、
他の文字や大文字(”I”,”J”)などはエラーの原因になります。
実数だけの場合
「5」「-3」のように、虚数部を持たない“実数だけ”の文字列も、複素数として解釈されます。
=IMREAL("5") ' → 5
=IMREAL("-3") ' → -3
この場合、虚数部は 0 とみなされます。
コード例・テンプレート
文字列から実数部を取り出す
=IMREAL("3+4i") ' → 3
=IMREAL("5-2j") ' → 5
=IMREAL("10") ' → 10
COMPLEX と組み合わせる
=IMREAL(COMPLEX(A2,B2))
A2 に実数部、B2 に虚数部が入っているとき、
COMPLEX で複素数を作り、その実数部だけを取り出します。
複素数がセルに入っている場合
=IMREAL(A2)
A2 に「3+4i」「5-2j」などの複素数が入っている前提です。
例題
問題1
セルに "3+4i" という文字列が入っています。
この複素数の実数部だけを取り出す式を書いてください。
(答え)
=IMREAL("3+4i")
結果は 3 になります。
問題2
A2 に "5-2i" という文字列が入っています。
この複素数の実数部を取り出す式を書いてください。
(答え)
=IMREAL(A2)
結果は 5 になります。
問題3
実数部が B2、虚数部が C2 に入っています。
この 2 つから COMPLEX で複素数を作り、その実数部だけを取り出す式を書いてください。
(答え)
=IMREAL(COMPLEX(B2,C2))
問題4
セルに "10j" という文字列が入っています。
この複素数の実数部を IMREAL で取り出すと、結果はいくつになるか答えてください。
(答え)
=IMREAL("10j")
結果は 0 です(実数部が 0、虚数部が 10 の複素数と解釈されます)。
問題5
IMREAL に "abc" を渡した場合、どのような結果になるか、エラーの種類と理由を答えてください。
(答え)
=IMREAL("abc")
この式は #NUM! エラーになります。
“abc” は「複素数として解釈できる形式(a+bi など)」ではないためです。

