Excel 2010 で複素数の表示精度を設定するにはどうすればよいでしょうか?

Excel 2010 で複素数の表示精度を設定するにはどうすればよいでしょうか?

MS Excel には、複素数を操作するための一連の関数が用意されています。実数を表示する場合、[セルの書式設定] ダイアログから小数点以下の桁数を設定できます。ただし、複素数では機能しません。

複素数の表示精度を設定するにはどうすればよいですか? そのために使用できるカスタム テンプレートはありますか?

0.98078528040323+0.195090322016128i-->0.980+0.195i

答え1

複雑な数式を、フォーマットを行う UDF でラップすることができます。

Function FormatComplex(r As Variant, fmt As String) As String
    With Application.WorksheetFunction
        FormatComplex = Format(.ImReal(r), fmt) & Format(.Imaginary(r), fmt) & "i"
    End With
End Function

こう呼んで

=FormatComplex(IMSQRT(-2),"+0.000")

結果:

+0.000+1.414i

答え2

これを数式(別のセル内)で実現するには、次の式を使用します。ここで、書式設定されていない複素数は ですA1

=COMPLEX(VALUE(TEXT(IMREAL(A1),"0.000")),VALUE(TEXT(IMAGINARY(A1),"0.000")))

関連情報