Excel関数 逆引き集 | 複素数の実部 → IMREAL

Excel
スポンサーリンク

概要

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 など)」ではないためです。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました