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

